Контактная информация

По всем интересующим вас вопросам связывайтесь при помощи контактной информации приведенной на этой странице!

telegram: @Accusser
skype: metsof
email: accusser@gmail.com

В социальных сетях...

Форма обратной связи

Авторизация

Чанки MODX Revolution

Сайдбар

Что же собой представляет чанк?

Чанки это кусочки некоторого статического текста, которые применяются на сайте, подобно функции подключения файлов или же блоков в иных CMS. Примером чанка может быть ваша любая контактная информация или же копирайты. Хоть чанки не могут располагать логикой непосредственно, они имеют все шансы однако располагать вызовом сниппетов которые содержат в себя кусочки PHP кода который дополняет динамику.

Создание чанков

Перед тем как использовать чанк вам нужно создать его, дать ему имя и заполнить содержимое в менеджере MODx (Элементы -->Чанки --> Новый чанк)

Применение чанков

Что бы активировать чанк, вызовите его по имени в шаблоне или же в контенте на страничке.
<code>[[$chunkName]]</code>
Данный тег будет заменен содержимым чанка. у вас есть возможность добавления свойств для чанка. Вы можете сформировать чанк intro в котором есть следующая строка
<code>Hello, [[+name]].You have [[+messageCount]] messages.</code>
Задаем значения:
<code>
[[$intro? &name=`George` &messageCount=`12`]]</code>
В итоге на странице мы получимHello, George. You have 12 messages.Вызываем чанк применяя взамен значений Переменные шаблона, которые прибавляются к ресурсу.
<code>[[!$intro? &name=`[[*usersName]]` &messageCount=`[[*messageCount]]`]]</code>
или вызывать их непосредственно из чанка
<code>Hello, [[*usersName]]. You have [[*messageCount]] messages.


</code>

Обработка чанка через API

Чанки зачастую применяются для формирования выходных результатов Снипета. Чанк можно обработать из снипета применяя функцию process. Например дадим чанку имя 'rowTpl'
<code><tr class="</code>
<code>[[+rowCls]]</code>
<code>" id="row</code>
<code>[[+id]]</code>
<code>">
<td></code>
<code>[[+pagetitle]]</code>
<code></td>
<td></code>
<code>[[+introtext]]</code>
<code></td>
</tr></code>
Снипет, код которого находится ниже извлекает его и потом обрабатывает с массивом свойств которые нужны для публикации в ресурсе, а потом возвращает форматированные результаты как таблицу с классом 'alt' для каждой строки
<code>$resources = $modx->getCollection('modResource',array('published' => true));
$i = 0;
$output = '';
foreach ($resources as $resource) {
 $properties = $resource->toArray();
 $properties['rowCls'] = $i % 2 ? '' : 'alt';
 $output .= $modx->getChunk('rowTpl',$properties);
 $i++;
}
return ''.$output.'';</code>

Изменение чанка через API

<?php
/* create a new chunk, give it some content and save it to the database */
$chunk = $modx->newObject('modChunk');
$chunk->set('name','NewChunkName');
$chunk->setContent('This is my new chunk!');
$chunk->save();
/* get an existing chunk, modify the content and save changes to the database */
$chunk = $modx->getObject('modChunk', array('name' => 'MyExistingChunk'));
if ($chunk) {
$chunk->setContent('This is my existing chunks new content!');
$chunk->save();
}
/* get an existing chunk and delete it from the database */
$chunk = $modx->getObject('modChunk', array('name' => 'MyObsoleteChunk'));
if ($chunk) $chunk->remove();
?>