Перейти к содержимому
Русский язык для Invision Community 5

\IPS\Helpers\Form\Node отключить $root

Здравствуйте. У меня есть форма: http://prntscr.com/nz94em

Не скажу - это parent, ниже наведено на child, просто без заголовка еще.

 

Мне нужно как-то отключить выбор parent, а в идеале - если выбираешь parent, выбираются все child, а parent не выбирается в $form->values.

 

Если сделать формой это нельзя, как в тут бы реализовать проверку?: http://prntscr.com/nz95md

 

Здесь два разных объекта, который обведен - нужно ансетнуть. Что использовать для этого?

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

\system\Helpers\Form\Node.php

	 		'permissionCheck'	=> 'add',						// If a permission key is provided, only nodes that the member has that permission for will be available. Alternatively, can be a callback to return if node can be selected.

Alternatively, can be a callback to return if node can be selected.

  • Автор

		'permissionCheck' => function( $node )
		{
			return $node->children();
		}

 

Не получается ((((((((((((((

И что Вы делаете здесь?

            'permissionCheck' => function( $node )

            {

                return $node->children();

            }

  • Автор

Хочу вернуть только children

  • Автор

Не понимаю, вот мои классы, с этим разобрались:

 

$node - IPS\wc3\Bot\Project

$node::$subnodeClass - IPS\wc3\Bot

 

Я понимаю, что мне нужно создать условие, что-то вроде такого:

 

if ($node::$subnodeClass instanceof IPS\wc3\Bot) {
return TRUE;
}

 

верно?

            'permissionCheck' => function( $node )
           {
               return $node instanceof \IPS\wc3\Bot;
           }

  • Автор

Спасибо, понял. А функцию чтобы при нажатии на проект - выбирались все боты, можно реализовать?

 

Хотя нет, я знаю. В форме нельзя проверить выбрано ли то или иное.

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

А функцию чтобы при нажатии на проект - выбирались все боты, можно реализовать?

Написать js

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

Аккаунт

Навигация

Поиск

Поиск

Настроить push-уведомления браузера

Chrome (Android)
  1. Нажмите на иконку замка рядом с адресной строкой.
  2. Нажмите Права доступа -> Уведомления.
  3. Измените свои настройки.
Chrome (компьютер)
  1. Нажмите на иконку замка в адресной строке.
  2. Выберите Настройки сайта.
  3. Найдите Уведомления и измените свои настройки.