САЙТЫ ДЛЯ БИЗНЕСА
HIGHLOAD-КЛАССА
Минск
+375 (33) 375-31-54

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

В основном данное решение будет актуально тем, кто владеет сайтом-каталогом, блогом или интернет-магазином. Ну или просто имеет большой сайт с огромным количеством ресурсов.

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

 

 

Поделиться с друзьями
Facebook
Vkontakte
Twitter
Twitter