Jump to content
View in the app

A better way to browse. Learn more.

IPBMafia.ru - поддержка Invision Community, релизы, темы, плагины и приложения

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

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

Featured Replies

Posted

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

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

 

Edited by ZIKURIK

  • Author
6 часов назад, Respected сказал:

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

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

Edited by ZIKURIK

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

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

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

  • Author
1 час назад, Desti сказал:

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

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

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

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

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

  • Author
		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;
				}
			}
		}

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

34 минуты назад, ZIKURIK сказал:

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

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

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.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.