Пользовательский SEF в Joomla 1.6 router.php — мой компонент не может читать переменные url

#joomla #joomla-sef-urls

#joomla #joomla-sef-urls

Вопрос:

Привет, у меня небольшая проблема. Я написал пользовательский компонент для Joomla 1.6, и я также только что написал пользовательский router.php файл для моего компонента, чтобы у меня были «красивые» URL-адреса SEF.

Например, из

 http://www.domain.com/index.php?option=com_my_componentamp;view=listamp;id=1:test
  

Для

 http://www.domain.com/com_my_component/list/1-test
  

Очень приятно, да! Но проблема, с которой я сейчас сталкиваюсь, заключается в том, что когда я использую этот фрагмент кода для получения переменной url:

 $id = JRequest::getVar('id', 'blank');
  

И распечатав его, я получаю:

 blank
  

когда я должен получить значение id. Похоже, что теперь, установив URL-адреса SEF, мой компонент не может извлекать идентификаторы и такие, которые фактически управляют веб-сайтом, управляемым базой данных. Пожалуйста, кто-нибудь может дать мне некоторое представление о том, что я могу делать неправильно.

Большое спасибо.

Ответ №1:

Проблема заключалась в том, что в моей функции «ParseRoute» в моем router.php Я не проверял и не настраивал правильные сегменты URL. Эта функция используется для проверки сегментов, а затем установки правильной переменной с правильным значением сегмента в зависимости от его расположения в URL.