Jump to content

id категории из под виджета

Featured Replies

Пока ищу, может кто сталкивался уже. Нужна функция которая может получить id категории в которой мы находимся
В этих никакой инфы не нашел:

\IPS\Request::i();
\IPS\Dispatcher::i();
\IPS\Output::i();

 

Edited by ZIKURIK

Link to comment
https://ipbmafia.ru/topic/23591-id-kategorii-iz-pod-vidzheta/
Share on other sites

Для CMS

\IPS\cms\Databases\Dispatcher::i()->categoryId;

а для других приложений есть подобное?

Link to comment
https://ipbmafia.ru/topic/23591-id-kategorii-iz-pod-vidzheta/?&do=findComment&comment=173187
Share on other sites

Для какого урла например ?

Link to comment
https://ipbmafia.ru/topic/23591-id-kategorii-iz-pod-vidzheta/?&do=findComment&comment=173188
Share on other sites
6 часов назад, Respected сказал:

Для какого урла например ?

имеешь ввиду достать id из url адреса? я думал про это, но нужно обрабатывать id категории находясь в самой категории например в files/category/3-mycategory/ и так же вывести id категории когда я уже нахожусь в записи /files/file/2-myfile/ (2 это уже id записи). Должен быть метод достать данные такие глобально из обоих вариантов?

Edited by ZIKURIK

Link to comment
https://ipbmafia.ru/topic/23591-id-kategorii-iz-pod-vidzheta/?&do=findComment&comment=173192
Share on other sites

Это свойство container() для файла (итема).  Что-то глобальное - сомневаюсь, судя по коду они стараются работать в пределах одной сущности, т.е. если конечный элемент - получают контейнер, если запрос по категории, то она есть в Request

Link to comment
https://ipbmafia.ru/topic/23591-id-kategorii-iz-pod-vidzheta/?&do=findComment&comment=173196
Share on other sites

Сорри, не разглядел "виждета".

Думаю, в виджете только анализом \IPS\Dispatcher::i()->* (appl, module, controller) и получением соотв. данных из Request или итема.

Link to comment
https://ipbmafia.ru/topic/23591-id-kategorii-iz-pod-vidzheta/?&do=findComment&comment=173199
Share on other sites
1 час назад, Desti сказал:

Сорри, не разглядел "виждета".

Думаю, в виджете только анализом \IPS\Dispatcher::i()->* (appl, module, controller) и получением соотв. данных из Request или итема.

Жесть папаша вот это они курят там явно что-то, я еле дошел до этого:

$cat_furl = \IPS\Dispatcher::i()->dispatcherController->file->container()->url()->friendlyUrlComponent;

обновили бы они внутренний код своих приложений, я так понял CMS новее их всех? Ибо там присутствует dispatcher внутри который тупо выводит нужные данные и в категории и в записи (писал выше)

Link to comment
https://ipbmafia.ru/topic/23591-id-kategorii-iz-pod-vidzheta/?&do=findComment&comment=173204
Share on other sites
20 минут назад, ZIKURIK сказал:

вот это они курят там явно что-то

На коленках писанный код группой энтузиастов.

Link to comment
https://ipbmafia.ru/topic/23591-id-kategorii-iz-pod-vidzheta/?&do=findComment&comment=173207
Share on other sites

Ну в итоге все равно вышли на item->container()

 

Link to comment
https://ipbmafia.ru/topic/23591-id-kategorii-iz-pod-vidzheta/?&do=findComment&comment=173210
Share on other sites
		if ( isset( \IPS\Request::i()->id ) )
		{
			if ( \IPS\Dispatcher::i()->application->directory == 'downloads' )
			{
				if ( \IPS\Dispatcher::i()->controller == 'browse' )
				{
					$load = \IPS\downloads\Category::load( \IPS\Request::i()->id );
					$myvar = $load->myvar;
				}
				elseif ( \IPS\Dispatcher::i()->controller == 'view' )
				{
					$file = \IPS\downloads\File::load( \IPS\Request::i()->id );
					$load = \IPS\downloads\Category::load( $file->cat );
					$myvar = $load->myvar;
				}
			}
		}

Может проще как то получить экземпляр загруженных классов из виджета? Но что-то я не нашел такой возможности

Link to comment
https://ipbmafia.ru/topic/23591-id-kategorii-iz-pod-vidzheta/?&do=findComment&comment=173340
Share on other sites
34 минуты назад, ZIKURIK сказал:

Может проще как то

А что вас смущает? Хотите побыстрее - обращайтесь напрямую к БД, а вообще код вполне себе. 

Link to comment
https://ipbmafia.ru/topic/23591-id-kategorii-iz-pod-vidzheta/?&do=findComment&comment=173344
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.


Guest
Ответить в этой теме...

Последние посетители 0

  • No registered users viewing this page.