Новости Joomla

0 Пользователей и 1 Гость просматривают эту тему.
  • 3 Ответов
  • 3443 Просмотров
*

cadko

  • Осваиваюсь на форуме
  • 43
  • 3 / 0
Есть сайт с включенным mod_rewrite. В разрабатываемом расширении нужно выяснить, при отображении статьи в какой она находится категории. Если SEF не включен, то URL был видом index.php?option=com_content&view=article&catid=5&... и отсюда при помощи JRequest::getVar('catid') это получаем. Если же адрес типа www.sitename.ru/articles/other/10-articlename то JRequest::getVar('catid') ничего не возвращает.

Можно ли, не делая запроса к БД получить catid?
*

varX

  • Живу я здесь
  • 2450
  • 141 / 5
  • разработка компонентов
Re: Как из SEF URI "выдернуть" catid?
« Ответ #1 : 26.07.2012, 16:50:44 »
JRequest::getVar() без разницы, включен у вас SEF или нет. Для получения числовых значений лучше использовать JRequest::getInt('catid',null)
Разработка и ремонт. VirtueMart. JoomShopping. Свои компоненты. Принимаю заявки на plasma-web.ru.
*

cadko

  • Осваиваюсь на форуме
  • 43
  • 3 / 0
Re: Как из SEF URI "выдернуть" catid?
« Ответ #2 : 26.07.2012, 20:09:37 »
Вроде бы пробовал... не работает... но. Попробую еще раз, может что-то неправильно делал...

Вот снова: отключаю SEO и mod_rewrite. Ссылка на статью имеет вид:
Код
index.php?option=com_content&view=article&id=251:lenta-mebiusa&catid=11:other&Itemid=15

Беру три параметра:
Код
$option = JRequest::getCmd('option', '');
$view   = JRequest::getVar('view',   '');
$catid  = JRequest::getInt('catid',null);

Вывод их на экран:
Код
option=com_content
view=article
catid=11

Теперь mod_rewrite и SEO включаю. Ссылка имеет вид
Код
http://sitename.ru/itsinteresting/other/251-lenta-mebiusa

И вывод:
Код
option=com_content
view=article
catid=

Как же catid выдернуть? Как из SEF обратно url развернуть в обычный вид? Или таки делать лишний запрос к БД с целью по номеру статьи взять номер категории? Кстати, это J1.5
« Последнее редактирование: 27.07.2012, 07:50:28 от cadko »
*

genius

  • Осваиваюсь на форуме
  • 42
  • 2 / 0
Re: Как из SEF URI?
« Ответ #3 : 22.03.2018, 09:17:44 »
Вроде бы пробовал... не работает... но. Попробую еще раз, может что-то неправильно делал...

Вот снова: отключаю SEO и mod_rewrite. Ссылка на статью имеет вид:
Код
index.php?option=com_content&view=article&id=251:lenta-mebiusa&catid=11:other&Itemid=15

Беру три параметра:
Код
$option = JRequest::getCmd('option', '');
$view   = JRequest::getVar('view',   '');
$catid  = JRequest::getInt('catid',null);

Вывод их на экран:
Код
option=com_content
view=article
catid=11

Теперь mod_rewrite и SEO включаю. Ссылка имеет вид
Код
http://sitename.ru/itsinteresting/other/251-lenta-mebiusa

И вывод:
Код
option=com_content
view=article
catid=

Как же catid выдернуть? Как из SEF обратно url развернуть в обычный вид? Или таки делать лишний запрос к БД с целью по номеру статьи взять номер категории? Кстати, это J1.5

Привет cadko, столкнулся в настоящее время с такой же задачей на Joomla 1.5, ты смог как то решить эту проблему тогда?
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться