Роутинг компонента

Нужна подсказка бывалых

 
Посетитель
no avatar
Сообщений: 2
Доброе время суток!
Уважаемые форумчане помогите выполнить задачу.
Я создал компонент. Ссылка на него получилась вида site.ru/component
Добавил экшен add, получилось site.ru/component/add В БД вносятся все данные как и было задумано.
Для просмотра внесённой записи мне нужно создать акшен view и в параметре передать id записи. В общем ссылку такого вида site.ru/component/view/1
Но вот тут и загвоздка Я хочу сделать ссылку динамической. т.е. вместо экшена view подставлять slug записи что бы получить ссылку такого вида site.ru/component/slug.
Для решения данной задачи полез в по пути system/content/actions/ и нашёл там файл item_view.php. В этом файле и написана вся магия по превращению. ссылок. Но дело в том, для моих целей добрая, как минимум, половина метода run() мне не нужна. Вот только загвоздка в том, что Я не смог разобраться где эта половина.
Если подобный вопрос уже был озвучен - пожалуйста скажите где.
А если озвучен впервые - подскажите в каком направлении копать.
Посетитель
small user social cms
МедальКубок зрительских симпатийАвторитет форума
Сообщений: 1291
Копайте тут \system\controllers\content\routes.php
Точного ответа не знаю, так как никогда не сталкивался
Дополнения для InstantCMS 2 | Готовый сайт Доска объявлений
Реклама
cms
Посетитель
no avatar
Сообщений: 2
Evanescence:

Копайте тут \system\controllers\content\routes.php
Точного ответа не знаю, так как никогда не сталкивался

Спасибо за подсказку.
Буду копать...
Посетитель
small user social cms
Почетный донор проектаМедаль
Сообщений: 337
@ArchangelS:

Доброе время суток!
Уважаемые форумчане помогите выполнить задачу.
Я создал компонент. Ссылка на него получилась вида site.ru/component
Добавил экшен add, получилось site.ru/component/add В БД вносятся все данные как и было задумано.
Для просмотра внесённой записи мне нужно создать акшен view и в параметре передать id записи. В общем ссылку такого вида site.ru/component/view/1
Но вот тут и загвоздка Я хочу сделать ссылку динамической. т.е. вместо экшена view подставлять slug записи что бы получить ссылку такого вида site.ru/component/slug.
Для решения данной задачи полез в по пути system/content/actions/ и нашёл там файл item_view.php. В этом файле и написана вся магия по превращению. ссылок. Но дело в том, для моих целей добрая, как минимум, половина метода run() мне не нужна. Вот только загвоздка в том, что Я не смог разобраться где эта половина.
Если подобный вопрос уже был озвучен - пожалуйста скажите где.
А если озвучен впервые - подскажите в каком направлении копать.
добавь в корень компонента файл routes.php c подобным содержимым
Код PHP:
  1.  
  2. function routes_компонент(){
  3. return array(
  4.  
  5. 'pattern' => '/^компонент\/([a-z0-9\-_]+)$/i',
  6. 'action' => 'экшен без php',
  7. 1 => 'slug(принимаемый параметр экшеном)'
  8. )
  9. )
  10. }
  11.  
Редактировалось: 1 раз (Последний: 28 марта 2018 в 16:20)
Решаю проблемы на ваших проектах)
В начало страницы
Предыдущая темаСледующая тема Перейти на форум:
Быстрый ответ
Чтобы писать на форуме, зарегистрируйтесь или авторизуйтесь.