2016-12-04 48 views
1

我想为产品过滤器块添加新的模板选项。产品过滤器块的CS-Cart新模板

到目前为止,我已经从复制现有original.tpl:

templates\blocks\product_filters 

,并把它分为:

templates\addons\my_changes\blocks\product_filters 

,我已经重命名的文件到:example.tpl和编辑该文件的第一行是:

{** block-description:example **} 

这个基本过程已经工作了其它块,但不是这个PROD uct过滤一个。模板列表中唯一可用的选项是“原始”和“水平过滤器”。

有什么特别的我需要做我的新模板显示?

回答

1

块可用的模板定义在位于“app/schemas/block_manager/blocks.php”文件中的模式中。

通常模式包含到一个目录包含可由一个块中使用,像它的“产品”块做了所有模板的路径:

'templates' => 'blocks/products', 

其中在design/themes/[theme name]/templates/blocks/products目录使得块管理器搜索模板。

不幸的是,一些原因“product_filters”块的架构相比其他块模式不一致 - 它包含的具体模板列表中使用:

'templates' => array(
    'blocks/product_filters/original.tpl' => array(), 
    'blocks/product_filters/selected_filters.tpl' => array(), 
    'blocks/product_filters/horizontal_filters.tpl' => array(), 
), 

正因为如此,没有目录在确定可用于块的模板列表的时刻正在执行扫描。

这就是为什么您使用的方法适用于其他块但不适用于“product_filters”。

你的解决方案很简单 - 你应该创建一个“应用程序/插件/ my_changes /模式/ block_manager/blocks.post.php”文件,内容如下:

<?php 
$schema['product_filters']['templates'] = 'blocks/product_filters'; 

return $schema; 

之后,请清除缓存并确保已安装并启用“my_changes”加载项。

感谢您指出这个问题,我们将在即将发布的版本中修复它。

+1

感谢您的信息!还有一件事 - 我实际上使用的是主页产品过滤器块,它似乎与标准块有不同的列表。我还需要为此添加另一个模式文件吗? – user500665

+1

@ user500665您只需在上面给出的代码示例中将“product_filters”替换为“product_filters_home”。 –