所以我更新到了SW 5.5,由于某种原因,我自己的插件之一不再起作用。 JS文件仍通过插件导入,但插件应在前端添加一些测试等,但是这些东西将不再加载,老实说,我也不知道为什么。
这是文件footer.tpl和index.tpl的代码,该代码应该扩展原始文件,它以前曾经可以工作,但现在不再可用。
footer.tpl
{extends file="parent:frontend/index/footer.tpl"}
{block name='frontend_index_footer_menu'}
{$smarty.block.parent}
<div id="example">
Hello World!
</div>
{/block}
index.tpl
{extends file="parent:frontend/index/index.tpl"}
{block name='frontend_index_header_javascript_jquery_lib' append}
<script src="http://ajax.googleapis.com/ajax/libs/jquery/2.0.3/jquery.min.js"></script>
<script type="text/javascript">
var exampleJSvars =
{
height:"{$configHeight";
};
</script>
{/block}
如果我忘记了某件事或您需要更多信息,请告诉我
答案 0 :(得分:0)
第一
为什么在底部包含jQuery? jQuery已由Shopware加载,您不必两次包含它。
第二:
不要使用append
或prepend
,请始终使用$smarty.block.parent
来扩展{block}
。
第三: 在您的代码示例中,您忘记了右括号。因此代码将是:
{extends file="parent:frontend/index/index.tpl"}
{block name='frontend_index_header_javascript_jquery_lib'}
{$smarty.block.parent}
<script type="text/javascript">
var exampleJSvars =
{
height:"{$configHeight}";
};
</script>
{/block}
答案 1 :(得分:0)
所以这是固定的。但是我很确定我的变量中有一个错误,因为它们不会出现在前端。
public function extendsFrontend(Enlight_Event_EventArgs $args)
{
/** @var \Enlight_Controller_Action $controller */
$controller = $args->get('subject');
$view = $controller->View();
$view->addTemplateDir($this->pluginPath . '/Resources/views');
$shop = Shopware()->Shop();
$this->config = Shopware()->Container()->get('shopware.plugin.cached_config_reader')->getByPluginName($this->pluginName, $shop);
$config = array(
'height' => $this->config['height']
);
$view->assign($this->pluginName, $config);
}
这是我的功能,因此我可以使用{$ height},因此在前端显示此选项,但是老实说这不再起作用了……我看不到脚本的问题