我为PageList块创建了自定义模板,需要它用于获取所需的视觉效果。用户需要有可能将块的新实例添加到页面(它们用作carousel插件的幻灯片)但在这种情况下,他需要记住每次新块实例时新的块模板从默认更改为自定义模板幻灯片)已添加。
有没有办法强制concrete5自动使用自定义块模板而不是默认模板?
答案 0 :(得分:5)
是的,您可以按区域强制执行此操作。在主题的页面类型模板中,找到要在其上强制执行此自定义模板的可编辑区域的代码,然后调用setCustomTemplate
函数。例如:
$a = new Area('Main');
$a->setCustomTemplate('page_list', 'templates/your_custom_template');
$a->display($c);
第一个参数是要应用此块的块的块类型句柄,第二个参数是自定义模板(请注意 不 a {最后的{1}}扩展 - C5系统会自动添加它。
答案 1 :(得分:1)
有可能,我前一段时间做过工作。希望下面的链接将帮助您入门。在中间附近有一个名为Override and Modify的部分,尽管你可能需要通过其他部分来了解它们所指的内容。
这也可能有所帮助:
http://www.concrete5.org/documentation/how-tos/designers/change-how-a-block-looks-templates/