Cheizer
@Cheizer

Как в MODX REVO генерировать ALIAS из MENUTITLE вместо PAGETITLE?

Друзья, подскажите пожалуйста, есть ли решение, настройка в MODX REVO, что бы alias создавался из menutitle, а если поле пустое то из pagetitle. Как это сделать? Дело в том что pagetitle всегда огромные, пишутся для SEO, и содержание такое сложное, когда translit отработает, то получается немного не то название простое по смыслу которое хотелось бы, а вот в menutitle всегда пишу короткое и простое название для меню. Хотелось бы из него брать заголовок для aliasa, а если пусто, то как обычно из pagetitle. Есть решения?

Есть плагин у меня на событие OnDocFormSave и он работает.
if ($modx->event->name == 'OnDocFormSave') {
    if (!empty($resource->get('menutitle'))) {
        $resource->set('alias',$resource->get('menutitle'));
    }
    else {
        $resource->set('alias',$resource->get('pagetitle'));
    }
    $resource->save();
}


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

if ($modx->event->name == 'OnDocFormSave') {
    if (empty($resource->get('alias'))) {
        if (!empty($resource->get('menutitle'))) {
            $resource->set('alias',$resource->get('menutitle'));
        }
        else {
            $resource->set('alias',$resource->get('pagetitle'));
        }
        $resource->save();
    }
}


Но с этой проверкой на пустой ALIAS перестает работать плагин, для ALIAS берется просто PAGETITLE как обычно.
Похоже что нельзя получить ALIAS и сделать для него проверку, он всегда заполняется системой pagetitle, так ли это?
И как можно решить мою проблему?
Как сделать так, если поле ALIAS пустое, брать для ALIAS поле MENUTITLE, а если MENUTITLE пусто, то как обычно PAGETITLE брать. Как это сделать?
  • Вопрос задан
  • 223 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы