Как получить идентификатор, на который указывает символическая ссылка в шаблоне символической ссылки? - PullRequest
0 голосов
/ 22 марта 2011

Это довольно сложно объяснить ...

В modX Revolution я пытаюсь получить поле «Симлинк» в шаблоне, чтобы использовать его во фрагменте (идентификатор, на который указывает символическая ссылка).

При наведении указателя мыши на это поле указывается [[*content]], но при его использовании я получаю фактическое содержимое страницы, на которую я указываю, с помощью символической ссылки.

Есть предложения? Документация не помогает, и я гуглю ее уже час.

1 Ответ

0 голосов
/ 25 марта 2011

AFAIK, это ожидаемое поведение для символической ссылки.

Я только что запустил небольшой тест на своем тестовом сервере, и вот результат:

getResource (установите его из управления пакетами) не возвращает символическую ссылку:

Если 6 - это идентификатор символической ссылки, указывающей на страницу с идентификатором 10:

[[!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] => 
)

Обратите внимание, что ключ содержимого пуст.

Пользователь lkossis на форумах MODx предлагает другой подход: использование сниппета для получения значения [[*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`]]

Автор сообщения - lkossis на форумах MODx. http://modxcms.com/forums/index.php/topic,61784.msg351101.html#msg351101

...