Как добавить возможность убрать документ из URL?

Добрый день.

Подскажите, где можно посмотреть код, реализующий возможность убрать документ из URL в сборке Dmi3yy ? Хотя бы просто название файла — я в структуре Evolution не разбираюсь и буду долго искать))

10 комментариев

avatar
А вот темка от Dmi3yy, может поможет Тыц.
Вы хотите сделать подобное для Revo? Поделитесь? :)
Комментарий отредактирован 2014-03-07 15:17:48 пользователем MihVL
avatar
Спасибо, это то, что нужно

Да, собираюсь добавить функционал в autoRedirector — все равно он отслеживает все изменения URL'ов, значит, можно легко вклиниться и в процесс формирования URL'ов
avatar
Супер! Будем ждать.
avatar
github.com/modxcms/revolution/pull/11167 — вот еще на всякий случай.
avatar
издеваетесь?)

уже давно реализовано «Участвует в URL»
avatar
Да? Прошу прощения)

А не подскажете, в каком дополнении? Просто я не видел.
avatar
Дмитрий добавил в ядро и на вкладвке свойств документа есть чек-бокс: Учавствует в URL. Убрать — и этот ресурс исключится из пути. Для работы трубет внесение в структуру базы mod_site_content для апдейта со старых версий. Работает это уже около года точно :)
avatar
Я знаю, что в ЕВО это реализовано. Я спрашиваю, где можно увидеть код, реализующий такую функциональность. Я хочу такое в РЕВО))
avatar
Пути готовые берутся в модх evo из массива aliasListing в кэше. Соответственно этот путь пишется при формировании кэша — c помощью вот этого вот тут. Параметр alias_visible, этот столбец и добавлен в таблицу modx_site_content
Комментарий отредактирован 2014-03-08 09:22:28 пользователем webber
avatar
Может не совсем в тему, но я вот такой плагин ставил когда работал с Revo
<?php
if($modx->event->name=='OnDocFormSave' && $resource->get('uri_override')==0 && $resource->get('alias')!='index' && preg_match('/^index\//',$resource->get('uri'))){
    $resource->set('uri_override','1');
    $resource->set('uri',preg_replace('/^index\//','',$resource->get('uri')));
    $resource->save();
}

Думаю логика понятна. По такому же принципу можно плясать в разные стороны ну вот допустим самые первые, которые приходят на ум:
— Получить список ID всех родителей и проверить значение ТВ параметра «Учавствует в URL». Затем получить alias и документа который нужно исключить из URL и аналогичным образом вырезать его из URI
— Подменить стандартный класс ресурса
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.