【问题标题】:Setting custom template in page type override in a package in concrete5在concrete5中的包中设置页面类型覆盖中的自定义模板
【发布时间】:2015-02-12 01:00:04
【问题描述】:

在 Concrete5.6.3.2 中,我创建了一个自定义包,其中我覆盖了核心块类型“page_list”。 在同一包中的自定义页面类型中,我定义了一个新区域:

$a = new Area('main');

我希望在添加到我的自定义页面类型中的该区域时为 page_list 块设置自定义模板(视图)。我已经阅读了许多关于类似主题的其他答案,但我认为这对我不起作用的原因是 1)因为我在自定义包中工作或 2)在那个包中我覆盖了一个核心混凝土5块类型。

这是我在上面代码行下面的操作:

$a->setCustomTemplate('page_list', 'templates/events.php'); // I have also tried without the .php
$a->display($c);

events.php 视图位于 root/packages/my_package/blocks/page_list/templates/events.php 中

但是,尽我所能,当我将 page_type 块添加到该区域时,自定义模板不是默认模板。我对为什么这不起作用的假设是否正确?如何解决这个问题?

谢谢!

【问题讨论】:

    标签: concrete5


    【解决方案1】:

    我相信setCustomTemplate() 只是使模板可供使用,但并未使其成为默认模板。在 5.6 中,我认为唯一的方法是覆盖块的 view.php,这似乎不适用于包。

    在 5.7 中他们已经修复了这个问题,您可以从主题的 PageTheme class 设置默认块模板

    【讨论】:

      猜你喜欢
      • 2014-09-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-11-07
      • 1970-01-01
      • 2016-01-16
      • 2014-01-15
      • 2023-04-03
      相关资源
      最近更新 更多