Jump to content


Photo
- - - - -

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


Best Answer 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);
Go to the full post


  • This topic is locked This topic is locked
9 replies to this topic

#1 13LTD

13LTD
  • JBZoo User (rus)
  • User rate: 4.6
  • posts: 200
  • topics: 36

Posted 19 December 2016 - 06:02

Добрый!

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


  • 0

#2 SmetDenis

SmetDenis
  • Administrators
  • User rate: 139.4
  • posts: 16232
  • topics: 200

Posted 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
  • Topic Starter
  • JBZoo User (rus)
  • User rate: 4.6
  • posts: 200
  • topics: 36

Posted 19 December 2016 - 17:19

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

 

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

#4 13LTD

13LTD
  • Topic Starter
  • JBZoo User (rus)
  • User rate: 4.6
  • posts: 200
  • topics: 36

Posted 21 December 2016 - 18:23

up


  • 0

#5 MOKEV

MOKEV
  • JBZoo User (rus)
  • User rate: 11.7
  • posts: 143
  • topics: 14

Posted 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
  • Topic Starter
  • JBZoo User (rus)
  • User rate: 4.6
  • posts: 200
  • topics: 36

Posted 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
  • Administrators
  • User rate: 230.6
  • posts: 3680
  • topics: 235

Posted 23 December 2016 - 07:28

По коду:

$i = 0;

.....


if ($i == 12) {

do...

}

  • 0

#8 MOKEV

MOKEV
  • JBZoo User (rus)
  • User rate: 11.7
  • posts: 143
  • topics: 14

Posted 23 December 2016 - 08:26   Best Answer

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

    $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
  • Administrators
  • User rate: 139.4
  • posts: 16232
  • topics: 200

Posted 25 December 2016 - 14:27

Получилось?


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



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


#10 13LTD

13LTD
  • Topic Starter
  • JBZoo User (rus)
  • User rate: 4.6
  • posts: 200
  • topics: 36

Posted 25 December 2016 - 16:31

Получилось?

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


  • 0




Click to return to top of page in style!