Как передать переменные в подблок в modx

У меня есть фрагмент в ModX, который выглядит примерно так:

$array = array(
    'id' => 1,
    'title' => 'Title of Story',
    'content' => 'Content of story...'
);

echo $modx->getChunk('chunk_story_page', $array);

HTML-код моей страницы истории выглядит примерно так:

<div class="story">
    <h1>[[+title]]</h1>
    <div class="content">
        [[+content]]
    </div>
</div>

Теперь я хочу иметь возможность вызывать другой фрагмент из этого фрагмента и передавать через него свои данные. Я разместил следующее ниже приведенного выше HTML.

[[$chunk_story_page_extra &title=`[[+title]]`&content=`[[+content]]`]]

Само собой разумеется, но строка выше не производит никакого вывода.

Любая подсказка о том, что я мог сделать неправильно в этой строке? Я уверен, что это как-то связано с синтаксисом.


person Justin    schedule 28.03.2014    source источник


Ответы (1)


Вам не хватает вопросительного знака после имени чанка:

[[$chunk_story_page_extra? &title=`[[+title]]` &content=`[[+content]]`]]

Вы также можете сделать это, может быть немного более эффективным:

$array = array(
    'id' => 1,
    'title' => 'Title of Story',
    'content' => 'Content of story...'
);
$array['chunk_story_page_extra'] = $modx->getChunk('chunk_story_page_extra', $array);

echo $modx->getChunk('chunk_story_page', $array);

И в вашем куске:

[[+chunk_story_page_extra]]

<div class="story">
    <h1>[[+title]]</h1>
    <div class="content">
        [[+content]]
    </div>
</div>
person okyanet    schedule 28.03.2014
comment
С каким ты ходил? - person okyanet; 31.03.2014
comment
Я пошел с вашим первым ответом. Спасибо - person Justin; 31.03.2014