很简单,我想在一个页面上有多个内容区域。请注意,这是我的第一个 Modx 站点。
到目前为止,我有主页并为主页上的子区域创建了子文档。我只想在模板中调用它们。
例如有一个 id 为 2 的文档,我想要主页上的长标题(id 为 1)。
就像是 :
[[~2*longtitle]]
不幸的是,上面只是返回该子文档的 URL,而不是该文档本身的长标题。
到目前为止,我还没有找到有关这样做的文档。有谁知道如何做到这一点?
很简单,我想在一个页面上有多个内容区域。请注意,这是我的第一个 Modx 站点。
到目前为止,我有主页并为主页上的子区域创建了子文档。我只想在模板中调用它们。
例如有一个 id 为 2 的文档,我想要主页上的长标题(id 为 1)。
就像是 :
[[~2*longtitle]]
不幸的是,上面只是返回该子文档的 URL,而不是该文档本身的长标题。
到目前为止,我还没有找到有关这样做的文档。有谁知道如何做到这一点?
您有 2 个选项,艰难的方式 ~ 您选择的路线 ;) 和简单的方式......我也会概述。
对于您要尝试做的事情,您将要使用 getResources http://rtfm.modx.com/display/ADDON/getResources这将允许您遍历资源集合并提取您需要的字段 [in这种情况下 'content'] 或 getresourceField http://rtfm.modx.com/display/ADDON/getResourceField这将允许您指定单个资源和要提取的字段,只需在模板中多次调用它。
你可以试试:
[[getResources? &parents='[[*id]]' &tpl='myTpl' &includeContent='1']]
应该获取当前资源的所有子资源 [最多默认 ~ 10],然后您将创建一个模板来循环获取资源:
<h1>[[+longtitle]]</h1>
<p>[[+content]]</p>
注意资源字段使用 + 而不是 *
或者
简单的方法是为您的额外内容区域创建模板变量,您也可以将它们设置为富文本区域。这样,任何给定页面的所有内容都在一个资源中〜您无需创建子资源来保存页眉/页脚/侧边栏/等的内容
无论哪种方式都可以,但 TV 方法可能会使用更少的开销。
你可以使用快场
[[#12.pagetitle]]
或在通话中
[[#[[+id]].pagetitle]]
您还可以获取该资源的所有电视,例如
[[#12.myTv]]