@new-profile-web

Как отображать дополнительные поля при выборе, в настройке блока Visual Compouser?

Горячо приветствую жителей виртуальной паутины!
Пытаюсь настроить блоки в Visual Compouser (админпанели) с кастовыми полями, для пущей красоты настройки, хочу внедрить скрывающиеся произвольные поля, которые при выборе отображаются для заполнения.

5cbc75e9d7349177970740.jpeg

Суть: есть блок "Акции", если мы делаем его активным, то он отображает настройки для заполнения, если "нет" то настройки скрываются.

В данный момент реализовал так:
array(
'type' => 'dropdown',
'class' => '',
'heading' => esc_html__('Выключить блок "Акция"?','plugin'),
'param_name' => 'block',
'value' => array(
'Да' => 'yes',
'Нет' => 'no',
)
),
array(
'type' => 'textfield',
'class' => '',
'heading' => esc_html__('Заголовок','plugin'),
'param_name' => 'title',
'value' => ''
),
array(
'type' => 'textfield',
'class' => '',
'heading' => esc_html__('Описание','plugin'),
'param_name' => 'text',
'value' => ''
),

и т.д......


Если правильно думаю, то:
'value' => array(
'Да' => 'yes', <-- сюда
'Нет' => 'no',


Выделил: "<-- сюда", то есть помещаем массив array( и ниже, то что должно быть?
  • Вопрос задан
  • 16 просмотров
Пригласить эксперта
Ответы на вопрос 1
@new-profile-web Автор вопроса
Решение:

1) Создаем элемент, после активации, которого, появляется, нужные (дополнительные) элементы.

array(
                'type'       => 'checkbox',
                'class'      => '',
                'heading'    => 'Включить "Акцию"?',
                'param_name' => 'blocksale',
                'description'=> 'Блок горячего предложения на главной странице',
                'value'      => 'Да'
            ),


2) Создаем зависимость (появление элемента, после активации)
array(
                'type'       => 'textfield',
                'class'      => '',
                'heading'    => 'Заголовок 1',
                'param_name' => 'title3',
                'description'=> 'Настройки блока акции',
                'value'      => '',
                'dependency' => array(
				                    'element'       => 'blocksale',
				                    'not_empty'     => true,
			 )
            ),
			array(
                'type'       => 'textfield',
                'class'      => '',
                'heading'    => 'Заголовок 2',
                'param_name' => 'title4',
                'description'=> 'Настройки блока акции',
                'value'      => '',
                'dependency' => array(
				                    'element'       => 'blocksale',
				                    'not_empty'     => true,
			 )
            ),


Примечание: Ключ 'dependency', как раз и задает параметр, к какому объекту принадлежит элемент и в каком случае.

В моем случае, относится к blocksale, при условии его активации, то есть:

'dependency' => array(
                            'element'       => 'blocksale',
                            'not_empty'     => true,
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы