Как определять и менять лексиконы через феном?

Подскажите, пожалуйста, можно ли задавать и менять лексиконы в феноме.
Нужно переименовать лексикон в зависимости от ветки ресурсов.
Есть ветки:
Пылесосы (11)
Вытяжки (12)
и есть лексикон — ms2_product_vid, который нужно называть «пылесосов» или «вытяжек» в зависимости от того под какой веткой находится товар.

{ms2_product_vid => array("11" => "пылесосов", "12" => "вытяжек")}

{var $ids = $_modx->getParentIds($_modx->resource.id)}
{if '11' in list $ids}
  Фильтры для {ms2_product_vid(11)}
{else}
  Фильтры для {ms2_product_vid(12)}	
{/if}
Антон
15 сентября 2017, 04:37
modx.pro
1 571
0

Комментарии: 1

Сергей Шлоков
15 сентября 2017, 12:06
1
+2
Вообще, логику в чанках лучше не определять. Если рассматривать MODX с точки зрения MVC концепции (насколько это возможно), то чанк — это вид. И среди программистов не принято в видах прописывать логику. Для этого есть контроллеры. В MODX это лучше делать в плагинах
// Плагин
switch ($modx->event->name) {
    case 'pdoToolsOnFenomInit':
            $fenom->addAccessorSmart("product", "data", Fenom::ACCESSOR_PROPERTY);
            $fenom->data = [
                "name" => '', // Тут имя определяете по вашему условию
            ];
    break;
}
А в чанке просто вызывать
Фильтры для {$.product.name}
    Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
    1