Форум русской поддержки Joomla!® CMS
08.12.2016, 13:51:39 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 3.0 FAQ Joomla 2.5 FAQ Joomla 1.5 FAQ Правила форума Новости Joomla Реклама Войти Регистрация Помощь  
Страниц: [1]   Вниз
  Добавить закладку  |  Печать  
Автор

Узнать ID текущей категории и материала при включенном SEF

 (Прочитано 9781 раз)
0 Пользователей и 1 Гость смотрят эту тему.
back
Давно я тут
****

Репутация: +7/-0
Offline Offline

Пол: Мужской
Сообщений: 217


Все просто если по очереди)


« : 25.01.2010, 16:56:19 »

Добрый день
нужно для небольшого php модуля узнать id категории и id текущего материала
Модуль выводиться только на страницах материала.

Вот ссылка без включенного SEF
/index.php?option=com_content&view=article&id=17%3Axranenie-gruzov&catid=9%3Alogistics&Itemid=37&lang=ru

Как вы видите возможность вытянуть их из $_GET нет.
не можно вытянуть
&id=17%3Axranenie-gruzov
&catid=9%3Alogistics
Можно вытянуть но толку от него нет
&Itemid=37
(вытенуть можно и при включённом SEF)
Как узнать id категории и id текущего материала
В каких переменных это хранится?

Спасибо.
Записан
beliyadm
Профи
********

Репутация: +1566/-61
Offline Offline

Пол: Мужской
Сообщений: 8110


Севастополь == Россия


« Ответ #1 : 25.01.2010, 17:01:48 »

catid=9 - категория
id=17 - материал
вот и получайте из GET

Код
$catid = JRequest::getInt( 'catid', 1, 'get' );
$articleid = JRequest::getInt( 'id', 1, 'get' );
Записан
back
Давно я тут
****

Репутация: +7/-0
Offline Offline

Пол: Мужской
Сообщений: 217


Все просто если по очереди)


« Ответ #2 : 26.01.2010, 00:15:14 »

спасибо
Записан
back
Давно я тут
****

Репутация: +7/-0
Offline Offline

Пол: Мужской
Сообщений: 217


Все просто если по очереди)


« Ответ #3 : 26.01.2010, 00:32:59 »

Работает на половину
При включенном SEF скавлю код
   <?
$catid = JRequest::getInt( 'catid', 1, 'get' );
echo $catid.'<br>';
$articleid = JRequest::getInt( 'id', 1, 'get' );
echo $articleid;
   ?>
Выводиться он на страницах материала.

Для одного и того же материала.
если ссылка имеет вид
/ru/dlya-pokupatelej/16-opt-iz-kitaya.html
то получаем
1
16
Если выключить SEF
В том же материале.
/index.php?option=com_content&view=article&id=16%3Aopt-iz-kitaya&catid=10%3Adlya-pokupatelej&Itemid=36&lang=ru
10
16
и второй вариант правильный
то есть не вытягивается catid

Но и на этом спасибо. Я уже по id материала могу вытянуть catid из базы.
Хотя это один лишний запрос.
Записан
archer1981
Давно я тут
****

Репутация: +13/-0
Offline Offline

Пол: Мужской
Сообщений: 260



« Ответ #4 : 30.01.2010, 01:47:41 »

И как же по id материала вы вытягиваете catid?
Записан
ЖиВоЙ
Давно я тут
****

Репутация: +3/-0
Offline Offline

Пол: Мужской
Сообщений: 362



« Ответ #5 : 23.03.2010, 12:56:09 »

а как сделать так, чтобы в адресной строке отображалось не id материала, а псевдоним. (SEF включён).
Записан
ЖиВоЙ
Давно я тут
****

Репутация: +3/-0
Offline Offline

Пол: Мужской
Сообщений: 362



« Ответ #6 : 23.03.2010, 17:16:48 »

как узнать адрес модуля?
Записан
beliyadm
Профи
********

Репутация: +1566/-61
Offline Offline

Пол: Мужской
Сообщений: 8110


Севастополь == Россия


« Ответ #7 : 23.03.2010, 22:36:37 »

как узнать адрес модуля?
у модуля нет адреса
Записан
ЖиВоЙ
Давно я тут
****

Репутация: +3/-0
Offline Offline

Пол: Мужской
Сообщений: 362



« Ответ #8 : 24.03.2010, 16:33:06 »

ок, ну как тогда раскрывающийся модуль? нечто вроде спойлера туда вставить можно?
Записан
ecolora
Живу я здесь
******

Репутация: +170/-2
Offline Offline

Пол: Мужской
Сообщений: 1430


творец


« Ответ #9 : 09.08.2011, 09:43:57 »

Адрес страницы с открытым модулем можете получить вот таким образом:
Код:
$uri = & JURI::getInstance();
$url = $uri->toString();
Записан
gartes
Живу я здесь
******

Репутация: +63/-3
Offline Offline

Сообщений: 827


Е = mс²


« Ответ #10 : 27.06.2015, 09:45:18 »

Не знаю может немного не в тему но вопрос бывает часто актуален !
При включенном SEF в Joomla  (параметры url) или параметры Get  запроса можно так получить

Код:
$uri = JURI::getInstance();
$app = & JFactory::getApplication('site');
$router = & $app->getRouter();
$getParams = $router->parse($uri);

echo '<pre>'; print_r ($getParam); echo '</pre>';

На выходе получаем array $getParam; Речь идет об url страницы
Может кому поможет )))
Записан
vipiusss
Профи
********

Репутация: +261/-8
Offline Offline

Пол: Мужской
Сообщений: 4573


Skype: renor_


« Ответ #11 : 27.06.2015, 09:50:07 »

Может кому поможет )))
кстати, можно было бы в техн.факю добавить, норм решение!Перепишу себе в "записную", вдруг пригодиться.Плюсану.
Записан
Страниц: [1]   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Powered by SMF 1.1.21 | SMF © 2006, Simple Machines

Joomlaforum.ru is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters
the trademark holder in the United States and other countries.

LiveInternet