отдельная страница сайта на MODx не из ресурсов
Добрый день. Есть подозрение что вы мало читаете топик вопросов. А скорее всего вы знаете ответ.
суть:
есть сайт на modx revo. есть своя компонента, в ней подключены свои таблицы.
Одна из них Kart где планируется хранить справочную информацию. она отличается по видам. Вид это отдельное поле.
как сделать что бы мой сайт мог отображать эту информацию по отдельной ссылке: МойСайт.ru/АлиасВида/АлиасКарточки
где АлиасВида это отдельное поле Alias в таблице KartVid, (линкуется 1 ко многим к таблице Kart по полю Vid)
АлиасКарточки — это отдельное поле Alias в таблице Kart
я пока вижу только один способ реализации: при создании новой карточки создавать в таблице где хранятся ресурсы новую запись
где в поле Alias прописывать значение АлиасВида/АлиасКарточки
но не хотелось бы перегружать модикс и хранить двойную информацию
подскажите как сделать что бы МОДИКС открывал такие ссылки без указания в ресурсах? где надо копать, или есть какие готовые решения плагины?
суть:
есть сайт на modx revo. есть своя компонента, в ней подключены свои таблицы.
Одна из них Kart где планируется хранить справочную информацию. она отличается по видам. Вид это отдельное поле.
как сделать что бы мой сайт мог отображать эту информацию по отдельной ссылке: МойСайт.ru/АлиасВида/АлиасКарточки
где АлиасВида это отдельное поле Alias в таблице KartVid, (линкуется 1 ко многим к таблице Kart по полю Vid)
АлиасКарточки — это отдельное поле Alias в таблице Kart
я пока вижу только один способ реализации: при создании новой карточки создавать в таблице где хранятся ресурсы новую запись
где в поле Alias прописывать значение АлиасВида/АлиасКарточки
но не хотелось бы перегружать модикс и хранить двойную информацию
подскажите как сделать что бы МОДИКС открывал такие ссылки без указания в ресурсах? где надо копать, или есть какие готовые решения плагины?
Комментарии: 12
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
В общем, смотри файлы запрос и ответ — вся логика загрузки страниц MODX — там.
1. Создать настройку, назвать её, к примеру, «mycomponent.frontend_page» (где «mycomponent» — это название вашего компонента).
2. Создать один ресурс, в котором планируется вывод данных из вашей таблицы или взять уже существующий.
К примеру, возьмём главную страницу сайта (id главной = 1).
3. Запишем в вышесозданную настройку цифру «1».
И вот теперь надо написать плагин на событие «OnPageNotFound». Логика его такова:
1. Разбираем урл. Примерно так:
Код не проверялся вообще!
Используйте его как пример логики (которая, кстати, тоже может быть не верной :-)).
Удачи!
реально спасибо большое!
но это решение для моего случая неверное и теперь сложилась одна ситуация когда всетаки надо научится парсить ссылку и получать нужные данные в зависимости от этой ссылки
сделал такой простенький редирект вместо 404 на конкретную страницу и это заработало, теперь буду учится парсить свою страницу)
собираюсь сделать так: универсальный ресурс для вывода видов карточек с журналом карточек
и универсальный ресурс для вывода текущей карточки
в них надо будет передать пару значений из плагина после распарсивания урла: ИД вида карточки и для второго случая ИД вида карточки и ИД карточки
спасибо большущее за стартовый пример!
или она общая?
если я в настройку буду сохранять свои значения, они не повлияют на вывод у других посетителей или у этого же но на другой закладке браузера?
или есть проще путь передачи переменной из плагина в ресурс/чанк/снипет/шаблон? подскажите плиз.