Блог
| Категории: |
|
Программирование → ЧПУ для MVC компонента Joomal 1.5
09.06.2010
При создании своего компонента по архитектуре MVC в Joomla 1.5 существует стандартный механизм для формирования ЧПУ. Для того, чтобы этот механизм работал, нужно создавать ссылки специальной функцией Joomla: Данная функция сформирует ссылки вида blog?view=item&id=12:db-v-modeli-joomla Для того, чтобы ссылка приобрела вид blog/item/12-db-v-modeli-joomla, нужно в пользовательской части нашего компонента добавить файл router.php cо следующим содержанием:
В функции BlogBuildRoute() мы определяем или установлены переменные, записываем эти переменные в массив сегментов и удаляем их. Можно удалить любое количество переменных, которые вы создали в строке. В функции BlogParseRoute() мы получаем массив с сегментами запроса и разбираем его c помощью switch. В зависимости от того, какие у вас в текущем виде были удалены переменные, назначаем ассоциированному массиву $vars ключ, равный этой переменной, и значение этой переменной, взятой из массива $segments. Обратите внимание на строки:
Для чего мы написали подобное? Поскольку в запросе для ЧПУ мы передаем ссылку в виде 12:db-v-modeli-joomla (то есть, это смесь id с каким-то alias, созданным нами), то нужно отделить идентификатор id от префикса alias. Вот первая строка и разбивает запись на массив, в котором нулевой элемент — id, а первый элемент — alias. И во второй строке переменной id мы уже назначаем значение id. |
Теги: |