Перейти к содержимому


Фотография
- - - - -

Вывод всех значений чекбокса


Лучший Ответ MOKEV , 23 December 2016 - 08:26

а как присвоить класс выбранным не подскажите?

    $checkbox = $item->getElement('Сюда нужно вставить ID элемента')->config->get('option', array());
    $html     = array('<div>');
    $i        = 0;
    $selected_options  = $item->getElement('Сюда нужно вставить ID элемента')->get('option');
       foreach ($checkbox as $option) {
          $checked = in_array($option['value'], $selected_options) ? ' checked="checked" class="Сюда вставить имя класса"' : null;
    	  $html[]  = '<div><input id="'.$option['value'].'-'.$i.'" type="checkbox" name="'.$option['value'].'" value="'.$option['value'].'"'.$checked.'/><label for="'.$option['value'].$i++.'">'.$option['name'].'</label></div>';
    	  }
    $html[] = '</div>';
    echo implode("\n", $html);
Перейти к сообщению


  • Закрытая тема Тема закрыта
Сообщений в теме: 9

#1 13LTD

13LTD

Отправлено 19 December 2016 - 06:02

Добрый!

подскажите, задача - есть поле чекбокс с n-ым количеством значений, как можно вывести эти все значения(не зависимо выбраны они для этого товара или нет) в карточке full и присвоить выбранным какой либо класс?


  • 0

#2 SmetDenis

SmetDenis

Отправлено 19 December 2016 - 13:27

Вы хотите вывести их в фильтре?

 

Если да, то список опций формируется тут

media\zoo\applications\jbuniversal\framework\render\filter\element.checkbox.php

h4f9_200x0.png

 

Попробуйте заменить имя функции $this->_getConfigValues()


  • 0
JBZoo v4.0 и новый чудный мир Open Source GPL
Отключайте проверку лицензий как можно скорее!



— Есть два типа людей: Кто еще не делает бекапы и кто уже делает бекапы.


#3 13LTD

13LTD

Отправлено 19 December 2016 - 17:19

Вы хотите вывести их в фильтре?

 

в карточке full
 
  • 0

#4 13LTD

13LTD

Отправлено 21 December 2016 - 18:23

up


  • 0

#5 MOKEV

MOKEV

Отправлено 22 December 2016 - 07:27

У элемента checkbox нет функции render, поэтому есть два выхода:

 

1. Вам нужно создать свой элемента checkbox и там уже определить свой шаблон вывода

2. Брать значения элемента через функцию getElement

$checkbox 	= $item->getElement('Сюда нужно вставить ID элемента')->config->get('option', array());
$html    	= array('<div>');
$i       	= 0;
	foreach ($checkbox as $option) {
		$html[]  = '<div><input id="'.$option['value'].'-'.$i.'" type="checkbox" name="'.$option['value'].'" value="'.$option['value'].'"/><label for="'.$option['value'].$i++.'">'.$option['name'].'</label></div>';
			}
		$html[] = '</div>';
	echo implode("\n", $html);

  • 3

#6 13LTD

13LTD

Отправлено 22 December 2016 - 22:34

 

У элемента checkbox нет функции render, поэтому есть два выхода:

 

1. Вам нужно создать свой элемента checkbox и там уже определить свой шаблон вывода

2. Брать значения элемента через функцию getElement

$checkbox 	= $item->getElement('Сюда нужно вставить ID элемента')->config->get('option', array());
$html    	= array('<div>');
$i       	= 0;
	foreach ($checkbox as $option) {
		$html[]  = '<div><input id="'.$option['value'].'-'.$i.'" type="checkbox" name="'.$option['value'].'" value="'.$option['value'].'"/><label for="'.$option['value'].$i++.'">'.$option['name'].'</label></div>';
			}
		$html[] = '</div>';
	echo implode("\n", $html);

а как присвоить класс выбранным не подскажите?


  • 0

#7 CB9TOIIIA

CB9TOIIIA

Отправлено 23 December 2016 - 07:28

По коду:

$i = 0;

.....


if ($i == 12) {

do...

}

  • 0

#8 MOKEV

MOKEV

Отправлено 23 December 2016 - 08:26   Лучший Ответ

а как присвоить класс выбранным не подскажите?

    $checkbox = $item->getElement('Сюда нужно вставить ID элемента')->config->get('option', array());
    $html     = array('<div>');
    $i        = 0;
    $selected_options  = $item->getElement('Сюда нужно вставить ID элемента')->get('option');
       foreach ($checkbox as $option) {
          $checked = in_array($option['value'], $selected_options) ? ' checked="checked" class="Сюда вставить имя класса"' : null;
    	  $html[]  = '<div><input id="'.$option['value'].'-'.$i.'" type="checkbox" name="'.$option['value'].'" value="'.$option['value'].'"'.$checked.'/><label for="'.$option['value'].$i++.'">'.$option['name'].'</label></div>';
    	  }
    $html[] = '</div>';
    echo implode("\n", $html);

  • 2

#9 SmetDenis

SmetDenis

Отправлено 25 December 2016 - 14:27

Получилось?


  • 0
JBZoo v4.0 и новый чудный мир Open Source GPL
Отключайте проверку лицензий как можно скорее!



— Есть два типа людей: Кто еще не делает бекапы и кто уже делает бекапы.


#10 13LTD

13LTD

Отправлено 25 December 2016 - 16:31

Получилось?

да, все как нужно


  • 0




Click to return to top of page in style!