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

Опубликовано 19.05.2020, автор: Voxvel

Давайте рассмотрим как массово сменить шаблоны в 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 мы разберем чуть позже. А на сегодня у нас все. Надеюсь данное решение кому-нибудь пригодиться!

Комментарии ()

Заявка на консультацию

* - обязательные поля