0

我在 Shopware 中使用自定义主题,父主题是“Bare”主题,当我需要使用一些数据或更改现有数据时,我仍然不明白如何使用控制器、插件或小部件来做到这一点。

示例:- 我需要在主页主菜单上显示“子类别”。当我在 index.tpl 上使用“{debug}”时,我可以看到所有主要类别,但即使我在后端创建并激活了子类别,子类别也不可用。

我检查了配置设置以确保是否有任何东西阻止它在前端显示。我应该使用什么样的方法来完成这件事。解决办法是什么?更新索引控制器?任何 CMS 选项可以启用/禁用?安装插件?创建一个小部件?

仅供参考:这是我在主页上的调试屏幕上看到的 (index.tpl)

$sCategory
 flag => false
 subcategories => Array (0)
 childrenCount => 2
 7 => Array (23)
 id => 7
 name => "IVORY & WHITE"
 metaKeywords => null 
4

1 回答 1

4

有一个名为 AdvancedMenu 的插件,必须通过插件管理器激活。在插件的配置中,您可以定义类别应显示多深的嵌套级别。我猜这个设置默认设置为 2。激活插件后,Smarty 模板中应该有一个新的变量 $sAdvancedMenu 可用。

请看一下:http ://en.community.shopware.com/_detail_1602.html?_ga=1.192119343.464766896.1445350898

另一种方式(没有 AdvancedMenu 插件)如下:

有一个 Shopware Core 类可用Shopware()->Modules()->Categories(),其中包含一个名为sGetWholeCategoryTree($current). 此方法返回任何给定根类别的整个类别子树。但在这种情况下,您需要创建一个正在侦听Enlight_Controller_Front_PostDispatch事件或任何类似事件的插件。将树分配给视图后,您将可以访问具有相关子级的分层多维类别数组。

于 2016-03-08T16:44:09.777 回答