Перейти к публикации
Дизайн и модификация IPS Community IPBSkinsBETA
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...
TemKa_SD

Вывод сообщения в execute()

Рекомендованные сообщения

04/27/19 10:38 (изменено)

Здравствуйте. Мне нужно вывести сообщение в контроллере 1, если в node 2 нет записей.

 

В node 2 я создал функцию;

 

public function getCount()
{
	return (int) \IPS\Db::i()->select( 'COUNT(*)',  static::$databaseTable )->first();
}

 

Сообщение в контроллере:

 

public function execute()
{
	\IPS\wc3\Map::getCount() > 0 ? parent::execute() : \IPS\Output::i()->output = \IPS\Member::loggedIn()->language()->addToStack('wc3_map_not_count');
}

 

Но мне не нравится, что там нет заголовков контроллера и прочего.

 

Нужно перенести это условие в manage, но как в manage загрузить таблицу node?

Изменено пользователем TemKa_SD

Поделиться сообщением


Ссылка на сообщение

Сделал так:

 

public function execute()
{
if ( \IPS\wc3\Map::getCount() > 0 )
{
	parent::execute();
}
else
{
	\IPS\Output::i()->title = \IPS\Member::loggedIn()->language()->addToStack(\IPS\wc3\Map::$nodeTitle);
	\IPS\Output::i()->output = \IPS\Member::loggedIn()->language()->addToStack('wc3_map_not_count');
}
}

 

Правильно ли это?

Поделиться сообщением


Ссылка на сообщение

Можно вывести ошибку через \IPS\Output::i()->error()

Поделиться сообщением


Ссылка на сообщение

Да, спасибо, так прикольней. Только код этот мешает, напишу туда слово какое нить.

 

Хотя не, там еще из-за кода 404 заголовок меняется. Пусть просто так будет, тоже нормуль:

Поделиться сообщением


Ссылка на сообщение

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу.

×
×
  • Создать...