将ModX占位符显示为ModX资源中的代码?

时间:2014-11-03 00:24:56

标签: modx modx-revolution

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

有没有人知道我可以在ModX资源中显示占位符和块代码/钩子?

4 个答案:

答案 0 :(得分:2)

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

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

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

答案 1 :(得分:1)

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

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

然后在模板中调用它:

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

[[*content:convertModxTags]]

答案 2 :(得分:0)

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

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

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

答案 3 :(得分:0)

有两个额外的东西可以帮到你:

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

SyntaxHighlighter插件或代码段也会执行相同操作,但也会突出显示代码并将其放在单独的块中。