如何在符号链接的模板中指向符号链接的id?

时间:2011-03-22 17:44:00

标签: modx modx-revolution

这很难解释......

在modX Revolution中,我试图在模板中获取符号链接的“Symlink”字段,以便在一个片段(符号链接指向的id)中使用它。

当鼠标悬停在该字段上时的建议是[[*content]],但在使用时我得到了我用指针链接指向的页面的实际内容。

有什么建议吗?该文档没有帮助,我现在已经谷歌了一个小时。

1 个答案:

答案 0 :(得分:0)

AFAIK,这是符号链接的预期行为。

我刚刚在我的测试服务器上启动了一点测试,结果如下:

getResource(从Package Management安装)不返回符号链接:

如果6是指向id为10的页面的符号链接的id:

[[!getResources? &resources= 6 ]]

将返回:

Array (
    [id] => 6
    [type] => document
    [contentType] => text/html
    [pagetitle] => My Symlink
    [alias] => my-symlink
    [link_attributes] => 
    [published] => 1
    [parent] => 0
    [isfolder] => 
    [introtext] => 
    [content] => 
    [richtext] => 
    [template] => 1
    [menuindex] => 2
    [searchable] => 1
    [cacheable] => 1
    [createdby] => 1
    [createdon] => 2011-03-25 09:43:31
    [editedby] => 1
    [editedon] => 2011-03-25 09:57:30
    [deleted] => 
    [deletedon] => 0
    [deletedby] => 0
    [publishedon] => 2011-03-25 09:43:00
    [publishedby] => 1
    [menutitle] => 
)

请注意,内容密钥为空。

MODx论坛上的用户lkossis提出了另一种方法:使用代码段获取[[*content]]值。

$id= isset($id) && intval($id) ? intval($id) : $modx->resource->get('id');
$field = isset($field) ? $field : 'id';

$thisDocument=$modx->getDocument($id);
return $thisDocument[$field];

在你的模板中:

[[!getDocumentField? &field=`content`]]

归功于MODx论坛上的lkossis。 http://modxcms.com/forums/index.php/topic,61784.msg351101.html#msg351101