【问题标题】:Display ModX placeholders as code in ModX resource?将 ModX 占位符显示为 ModX 资源中的代码?
【发布时间】:2014-12-29 15:08:16
【问题描述】:

我想分享一些我在我的 ModX 网站上制作的 ModX 模板代码。我可以使用<pre> 很好地粘贴html,但是块,例如[[$footer]] [[$header]] 和占位符,例如[[*content]] 仍然显示为ModX 占位符,这意味着我看到[[$header]] 的内容而不仅仅是代码。

有谁知道我可以在 ModX 资源中显示占位符和块代码/挂钩的方法吗?

【问题讨论】:

    标签: modx modx-revolution


    【解决方案1】:

    这里是 okiyanet 更详细地提到的解决方案。创建一个 sn-p convertModxTags 并将此代码放入其中:

    <?php
    $output = str_replace('[[','&#91;&#91;',$input);
    return $output;
    

    然后在你的模板中调用它:

    [[!convertModxTags?&input=`[[*content]]`]]
    

    [[*content:convertModxTags]]
    

    【讨论】:

      【解决方案2】:

      您可以将括号替换为相关的 HTML 代码,以防止它们被 MODX 解析。

      • [[ 变为 &amp;#91;&amp;#91;
      • ]] 变为 &amp;#93;&amp;#93;

      如果您需要定期执行此操作,您可能会考虑编写一个插件来为您执行此操作,也许在您保存资源时运行字符串替换。

      【讨论】:

        【解决方案3】:

        看看这个 Revo 插件: http://www.modx360.com/blog/2010/02/12/prevent-parsing-modx-tags/

        将其创建为插件,不要忘记提示: OnLoadWebDocument OnWebPagePrerender OnBeforeSaveWebPageCache

        然后将您的 REVO-MODX 代码粘贴到页面上的两个代码元素之间。

        【讨论】:

          【解决方案4】:

          有两个附加功能可以为您做到这一点:

          FixedPre 插件将在 fixedpre 标签内显示 MODX 和 HTML 标签。

          SyntaxHighlighter 插件或 sn-p 会做同样的事情,但也会突出显示代码并将其放在单独的块中。

          【讨论】:

            猜你喜欢
            • 2014-12-07
            • 1970-01-01
            • 2014-02-12
            • 2016-06-13
            • 1970-01-01
            • 2013-11-11
            • 1970-01-01
            • 2012-08-28
            • 1970-01-01
            相关资源
            最近更新 更多