gpt4 book ai didi

smarty - 如何在CMS页面中包含钩子(Hook)?

转载 作者:行者123 更新时间:2023-12-02 06:40:15 25 4
gpt4 key购买 nike

我创建了一个自定义 Hook ,这样我就可以通过一行将自定义模块包含在任何 .tpl 文件中:{hook h='calcSubstrate'}

但是,我无法在 CMS 页面中使用它,至少不能使用管理面板 - CMS 页面中的 smarty 代码将不会呈现,代码将按原样显示为文本:{钩子(Hook) h='calcSubstrate'}。

或者,如果这样会更容易/更快 - 我如何选择我的模块将出现在哪些页面上?

最佳答案

CMS 页面的编辑器无法识别任何 Smarty 代码。要在选定的文章/页面中包含 Hook ,我可以想到两个选项:

  • 在模板 (cms.tpl) 中包含 Hook ,并检查当前页面的 id 以有条件地显示模块。页面 id 列表可以作为模块的配置。
  • 构建一个模块,向 CMS 内容添加类似于 Wordpress 短代码的功能。我使用模块执行此操作,而不是覆盖 CmsController 类,因此我必须使用 {$cms->content|module} 显示内容。您可以在此处查看简化的代码以获取灵感:https://gist.github.com/tungd/cef0ca1ac1063c1ee90b 。当然,您可以通过仅使用一个 Smarty 修饰符 do_shortcode 来完成所有操作(就像 Wordpress's do_shortcode function ),使其像 WordPress 一样更加通用。

上次我这样做是因为我的客户想要在一些 CMS 页面中放置幻灯片,我选择了第二种方法,因为它在模块显示时间以及内容之间的显示位置方面提供了很大的灵 active 。对于其他东西,例如联系表或 map ,这可能有点过分了,第一种方法更好。

关于smarty - 如何在CMS页面中包含钩子(Hook)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24512879/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com