Доступность по alias для элементов modExtra
Не в курсе, случайно, как для кастомного компонента сделать его элементы доступными через http по alias-подобному полю в БД, в таблице данного кастомного компонента?
Заранее спасибо!
Заранее спасибо!
Комментарии: 9
Плагин по событию OnPageNotFound.
Пусть разбирает ваш url, ищет совпадение в таблице компонента и выводит что надо, или отправляет на нужную страницу с параметром, который она поймет и выведет инфу.
Пусть разбирает ваш url, ищет совпадение в таблице компонента и выводит что надо, или отправляет на нужную страницу с параметром, который она поймет и выведет инфу.
Спасибо! Немного кривовато на первый взгляд, но это выход.
А то уж было начал думать что зря я за отдельный компонент взялся.
У меня там несколько тысяч вопросов ответов, не хотел в ресурсы делать, чтоб не засорять админку и для опыта, еще хотел администрировать через grid.
А то уж было начал думать что зря я за отдельный компонент взялся.
У меня там несколько тысяч вопросов ответов, не хотел в ресурсы делать, чтоб не засорять админку и для опыта, еще хотел администрировать через grid.
Всё правильно вы делаете!
А для примера можете посмотреть плагин от компонента Articles, там есть разбор URL и вся логика
А для примера можете посмотреть плагин от компонента Articles, там есть разбор URL и вся логика
Спасибо, посмотрю, а где там искать примерно?
Вот я когда-то себе делал
А уже на этом ресурсе проверяется сниппетом URL и возвращается результат
<?php
if ($modx->event->name == 'OnPageNotFound') {
if ($modx->getOption('friendly_urls')) {
if (!function_exists('cleanArray')) {
function cleanArray($array) {
$Result = array();
foreach ($array as $key => $value) {
if ($value != '')
$Result[] = $value;
}
return $Result;
}
}
$url = cleanArray(explode('/',$_SERVER['REQUEST_URI']));
if ($url[count($url)-1] == 'compare') {
$modx->sendForward(118);
}
}
}
Форвард на ресурс с ID 118А уже на этом ресурсе проверяется сниппетом URL и возвращается результат
А вот так в Articles сделано
Ссылку съел Jevix
Спасибо большое!
Ссылку получил
Ссылку получил
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.