可供块使用的模板在架构中定义,该架构位于“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”的原因。
你的解决方案很简单——你应该创建一个“app/addons/my_changes/schemas/block_manager/blocks.post.php”文件,内容如下:
<?php
$schema['product_filters']['templates'] = 'blocks/product_filters';
return $schema;
之后请清除缓存并确保“my_changes”插件已安装并启用。
感谢您指出这个问题,我们将在即将发布的版本中修复它。