块可用的模板定义在位于“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”加载项。
感谢您指出这个问题,我们将在即将发布的版本中修复它。
感谢您的信息!还有一件事 - 我实际上使用的是主页产品过滤器块,它似乎与标准块有不同的列表。我还需要为此添加另一个模式文件吗? – user500665
@ user500665您只需在上面给出的代码示例中将“product_filters”替换为“product_filters_home”。 –