Best Answer Cheren-dow , 14 April 2016 - 10:08
Staff, такой возможности у элемента JBZColor нет. Если у вас есть навыки в PHP, то вкратце необходимо в хелпере:
\media\zoo\applications\jbuniversal\framework\helpers\jbhtml.php
добавить доп. параметр в методе color().
$variants = array()
В шаблоне элемента колор:
\media\zoo\applications\jbuniversal\cart-elements\price\color\tmpl\color.php
Получить вариации и передать в хелпер:
$variations = $this->getElement('_value')->getJBPrice()->get('variations'); // вариации echo $this->_jbhtml->colors('radio', $dataColor, $name, $value, null, $width, $height, array(), $variations);
Далее внутри хелпера вам будет доступен массив вариациий:
Далее на основании вариации и баланса и текущего значения цвета делайте проверку и добавляйте класс
Примерно так (мой вариант не 100% рабочий он служит примером):
$colorEl = '884c3ebb-392d-4bb1-9a8b-cba34a52373e'; foreach ($variants as $variant) { if ( isset($variant['_balance']['value']) && $variant['_balance']['value'] == 0 && isset($variant[$colorEl]) && $variant[$colorEl]['value'] == $value ) { $labelAttr['class'][] = 'not-in-stock'; } }Go to the full post