diff --git a/local/modules/DebugBar/Smarty/Plugin/DebugBar.php b/local/modules/DebugBar/Smarty/Plugin/DebugBar.php
index 9a333b1d6..70a896433 100644
--- a/local/modules/DebugBar/Smarty/Plugin/DebugBar.php
+++ b/local/modules/DebugBar/Smarty/Plugin/DebugBar.php
@@ -26,6 +26,7 @@ use Thelia\Core\Template\Smarty\AbstractSmartyPlugin;
use Thelia\Core\Template\Smarty\an;
use Thelia\Core\Template\Smarty\SmartyPluginDescriptor;
use DebugBar\DebugBar as BaseDebugBar;
+use Thelia\Tools\URL;
/**
* Class DebugBar
@@ -52,12 +53,63 @@ class DebugBar extends AbstractSmartyPlugin
return $render;
}
+ public function renderCss($params, \Smarty_Internal_Template $template)
+ {
+ $render = "";
+ if($this->debugMode)
+ {
+ $webFile = "cache/debugbar.css";
+ $cssFile = THELIA_WEB_DIR ."/".$webFile;
+
+ if(!file_exists($cssFile)) {
+ $javascriptRenderer = $this->debugBar->getJavascriptRenderer();
+ $assetCss = $javascriptRenderer->getAsseticCollection("css");
+
+ foreach($assetCss->all() as $asset) {
+ if(strpos($asset->getSourcePath(), "font-awesome") !== false) {
+ $assetCss->removeLeaf($asset);
+ }
+ }
+
+ file_put_contents($cssFile, $assetCss->dump());
+ }
+ $render = sprintf('', URL::getInstance()->absoluteUrl($webFile, array(), URL::PATH_TO_FILE));
+ }
+ return $render;
+ }
+
+ public function renderJs($params, \Smarty_Internal_Template $template)
+ {
+ $render = "";
+ if($this->debugMode)
+ {
+ $webFile = "cache/debugbar.js";
+ $cacheFile = THELIA_WEB_DIR ."/".$webFile;
+
+ if (!file_exists($cacheFile)) {
+ $javascriptRenderer = $this->debugBar->getJavascriptRenderer();
+ $assetJs = $javascriptRenderer->getAsseticCollection("js");
+
+ foreach($assetJs->all() as $asset) {
+ if(strpos($asset->getSourcePath(), "jquery") !== false) {
+ $assetJs->removeLeaf($asset);
+ }
+ }
+
+ file_put_contents($cacheFile, $assetJs->dump());
+ }
+
+ $render = sprintf('', URL::getInstance()->absoluteUrl($webFile, array(), URL::PATH_TO_FILE));
+ }
+ return $render;
+ }
+
public function renderHead($params, \Smarty_Internal_Template $template)
{
$render = "";
if ($this->debugMode) {
$javascriptRenderer = $this->debugBar->getJavascriptRenderer();
- $assets = $javascriptRenderer->getAsseticCollection();
+ $assets = $javascriptRenderer->getAssets();
$cssCollection = $assets[0];
$jsCollection = $assets[1];
@@ -75,8 +127,9 @@ class DebugBar extends AbstractSmartyPlugin
public function getPluginDescriptors()
{
return array(
- new SmartyPluginDescriptor("function", "debugbar_renderHead", $this, "renderHead"),
- new SmartyPluginDescriptor("function", "debugbar_render", $this, "render")
+ new SmartyPluginDescriptor("function", "debugbar_rendercss", $this, "renderCss"),
+ new SmartyPluginDescriptor("function", "debugbar_renderjs", $this, "renderJs"),
+ new SmartyPluginDescriptor("function", "debugbar_renderresult", $this, "render")
);
}
}
\ No newline at end of file
diff --git a/templates/default/layout.tpl b/templates/default/layout.tpl
index 8cd5d0129..fccd4dfb8 100644
--- a/templates/default/layout.tpl
+++ b/templates/default/layout.tpl
@@ -30,7 +30,7 @@ URL: http://www.thelia.net
{stylesheets file='assets/less/styles.less' filters='less,cssembed'}
{/stylesheets}
-
+ {debugbar_rendercss}
{block name="stylesheet"}{/block}
@@ -397,6 +397,9 @@ URL: http://www.thelia.net
{/javascripts}
+{debugbar_renderjs}
+{debugbar_renderresult}
+