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


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

Чек-Бокс (Checkbox) - Вопрос По � Тому � Лементу


Лучший Ответ mmth , 14 November 2018 - 20:58

Задача простая. Вывести значение чек-боксов с иконками, в  виде картинок. Можно их через css сделать через класс. Но выводятся просто тэгами, вот если бы вывести <div class="vodopodgotovka-i-vodoochistka">Водоподготовка и водоочистка</div> 

Вам нужно переопределить checkbox по пути:

media\zoo\applications\jbuniversal\elements\checkbox\

добавить функцию render, там правка если разделитель div то появится класс:

	public function render($params = array()) {

		// init vars
		$params = $this->app->data->create($params);
		$selected_options  = $this->get('option', array());

		if($params->get('separated_by') == 'tag=[<div>%s</div>]'){
			$data_mass = '';
			foreach ($this->config->get('option', array()) as $option) {
				if (in_array($option['value'], $selected_options)) {
					$data_mass .= '<div class="' . $option['value'] . '">' . $option['name'] . '</div>';
				}
			}
			return $data_mass;
		}
		$options = array();
		foreach ($this->config->get('option', array()) as $option) {
			if (in_array($option['value'], $selected_options)) {
				$options[] = $option['name'];
			}
		}
		return $this->app->element->applySeparators($params->get('separated_by'), $options);

	}

исправленный файл прикрепил

Перейти к сообщению


Сообщений в теме: 4

#1 axeld

axeld

Отправлено 14 November 2018 - 16:46

Здравствуйте. Один простой вопрос. Но сам не могу понять. Где в БД хранится запись элемента чек-бокса. В БД только value , а где name ? И как их получить ?  

Прикрепленные изображения

  • check.jpg

  • 0

#2 mmth

mmth

Отправлено 14 November 2018 - 16:59

Здравствуйте. Один простой вопрос. Но сам не могу понять. Где в БД хранится запись элемента чек-бокса. В БД только value , а где name ? И как их получить ?  

Вы смотрите у item'a отдельного, а это хранится в json в файле типа. Опишите подробнее задачу, что нужно и где получить


  • 0

#3 axeld

axeld

Отправлено 14 November 2018 - 19:31

Задача простая. Вывести значение чек-боксов с иконками, в  виде картинок. Можно их через css сделать через класс. Но выводятся просто тэгами, вот если бы вывести <div class="vodopodgotovka-i-vodoochistka">Водоподготовка и водоочистка</div> 

Прикрепленные изображения

  • 2018-11-14_21-25-27.jpg

Сообщение отредактировал axeld: 14 November 2018 - 19:31

  • 0

#4 mmth

mmth

Отправлено 14 November 2018 - 20:58   Лучший Ответ

Задача простая. Вывести значение чек-боксов с иконками, в  виде картинок. Можно их через css сделать через класс. Но выводятся просто тэгами, вот если бы вывести <div class="vodopodgotovka-i-vodoochistka">Водоподготовка и водоочистка</div> 

Вам нужно переопределить checkbox по пути:

media\zoo\applications\jbuniversal\elements\checkbox\

добавить функцию render, там правка если разделитель div то появится класс:

	public function render($params = array()) {

		// init vars
		$params = $this->app->data->create($params);
		$selected_options  = $this->get('option', array());

		if($params->get('separated_by') == 'tag=[<div>%s</div>]'){
			$data_mass = '';
			foreach ($this->config->get('option', array()) as $option) {
				if (in_array($option['value'], $selected_options)) {
					$data_mass .= '<div class="' . $option['value'] . '">' . $option['name'] . '</div>';
				}
			}
			return $data_mass;
		}
		$options = array();
		foreach ($this->config->get('option', array()) as $option) {
			if (in_array($option['value'], $selected_options)) {
				$options[] = $option['name'];
			}
		}
		return $this->app->element->applySeparators($params->get('separated_by'), $options);

	}

исправленный файл прикрепил

Прикрепленные файлы

  • Прикрепленный файл  checkbox.php   2.45К   159 Количество загрузок:

  • 1

#5 axeld

axeld

Отправлено 14 November 2018 - 21:19

Вам нужно переопределить checkbox по пути:

media\zoo\applications\jbuniversal\elements\checkbox\

добавить функцию render, там правка если разделитель div то появится класс:

	public function render($params = array()) {

		// init vars
		$params = $this->app->data->create($params);
		$selected_options  = $this->get('option', array());

		if($params->get('separated_by') == 'tag=[<div>%s</div>]'){
			$data_mass = '';
			foreach ($this->config->get('option', array()) as $option) {
				if (in_array($option['value'], $selected_options)) {
					$data_mass .= '<div class="' . $option['value'] . '">' . $option['name'] . '</div>';
				}
			}
			return $data_mass;
		}
		$options = array();
		foreach ($this->config->get('option', array()) as $option) {
			if (in_array($option['value'], $selected_options)) {
				$options[] = $option['name'];
			}
		}
		return $this->app->element->applySeparators($params->get('separated_by'), $options);

	}

исправленный файл прикрепил

 

ОГРОМНОЕ спасибо !!!


  • 1




Click to return to top of page in style!