Найти в Дзене

Массовая смена шаблона в Modx Revo

Давайте рассмотрим как массово сменить шаблоны в Modx Revo у дочерних ресурсов через API.
Конечно можно воспользоваться бесплатным компонентом Batcher. Мы же расскажем как можно легко сменить шаблон у дочерних элементов с использование ModX API (xPDO).
API код может выполняться в сниппетах, плагинах и даже из PHP файлов. Рекомендую для начала изучение воспользоваться дополнением «Console». Этот

Давайте рассмотрим как массово сменить шаблоны в Modx Revo у дочерних ресурсов через API.

Конечно можно воспользоваться бесплатным компонентом Batcher. Мы же расскажем как можно легко сменить шаблон у дочерних элементов с использование ModX API (xPDO).

API код может выполняться в сниппетах, плагинах и даже из PHP файлов. Рекомендую для начала изучение воспользоваться дополнением «Console». Этот компонент позволяет быстро выполнять код без создания сниппетов. После его установки во вкладке «Пакеты» появляется ссылка на редактор кода.

Итак, давайте приступим. Вот сам код, который необходимо вставить в нашу консоль.

$resources = $modx->getCollection('modResource',array('parent' => 43)); // берем ресурсы из категории "43"
foreach ($resources as $res) { $res->set('template', 48); // устанавливаем им шаблон "48"
$res->save(); // и обязательно сохраняем }

id ресурсов нужно поменять на свои и выполнить код.

Если нужно заменить шаблон всего в 1 ресурсе, то первую строчку меняем на:

$resources = $modx->getObject('modResource',43); // берем ресурс с id "43"

Таким методом можно менять любую информацию в ресурсах (метатеги, tv-поля, и т.д.). Как работать с tv полями через API мы разберем чуть позже. А на сегодня у нас все. Надеюсь данное решение кому-нибудь пригодиться!

Массовая смена шаблона в Modx Revo - Voxvel
Массовая смена шаблона в Modx Revo - Voxvel

Автор: Voxvel Agency