Новосибирск +7(983)

По всем вопросам :

Телеграм : @radgura

JoomShopping - не зависимые атрибуты(опции) и checkbox

Заказать доработку
Joomla 3.xС

Стоимость 300


@radgura.ru
Адриена Лежена
63089
Новосибирск
Адриена Лежена
+7(983)
3067856
Этот адрес электронной почты защищён от спам-ботов. У вас должен быть включен JavaScript для просмотра.

Radgura.ru

Вы можете Заказать доработку 300руб. RUB

JoomShopping умеет создавать два варианта списков:

  • Select
  • RadioGroup

Если требуется ввести стандартный checkbox(галочку), то можно переопределить вывод значений атрибута, добавить условия вывода:

  • Если значений всего 2
  • Если цена одного из значений = 0
  • => Вывести checkbox

Для этого необходимо открыть файл:

components\com_jshopping\templates\default\product\product_default.php

Строка 144:

<span id='block_attr_sel_<?php print $attribut->attr_id?>'>
<?php

$db = JFactory::getDbo();
$db->setquery("Select atr2.*,(select `name_ru-RU` from #__jshopping_attr_values where value_id=atr2.attr_value_id) as name from #__jshopping_products_attr2 atr2 where attr_id='".$attribut->attr_id."' and product_id='".$this->product->product_id."' ");$attrmass=$db->loadobjectlist();
if (count($attrmass)!=2) echo $attribut->selects;//кол-во не 2
else
if (($attrmass[0]->addprice<>0 and $attrmass[0]>addprice<>$this->product->getPriceCalculate()) and ($attrmass[1]->addprice<>0 and $attrmass[1]->addprice<>$this->product->getPriceCalculate())) echo $attribut->selects;//сумма обоих больше 0
else
{
if ($attrmass[0]->addprice==0 or $attrmass[0]->addprice==$this->product->getPriceCalculate())
{
$name=$attrmass[1]->name;
$null_valid=$attrmass[0]->attr_value_id;
$notnull_valid=$attrmass[1]->attr_value_id;
$null_atrid=$attrmass[0]->attr_id;
$notnull_atrid=$attrmass[1]->attr_id;
}
else
{
$name=$attrmass[0]->name;
$null_valid=$attrmass[1]->attr_value_id;
$notnull_valid=$attrmass[0]->attr_value_id;
$null_atrid=$attrmass[1]->attr_id;
$notnull_atrid=$attrmass[0]->attr_id;
}
echo '<div style="background:yellow;display:none;">'.$attribut->selects.'</div>';//выводим стандартную форму с опциями, но прячим ее
echo '<span class="input_type_radio">';
echo '<input type="checkbox" style="height:20px;width:20px;" onclick="if(this.checked){jQuery('."'#jshop_attr_id".$attribut->attr_id.$notnull_valid."'".').trigger('."'click'".');}else{jQuery('."'#jshop_attr_id".$attribut->attr_id.$null_valid."'".').trigger('."'click'".');}" name="checkattr'.$attribut->attr_id.'" id="checkattr'.$attribut->attr_id.'"><label style="cursor:pointer;margin-left:10px;top: -5px;position:relative;white-space: normal;width: 200px;" class="cssm-label" for="checkattr'.$attribut->attr_id.'">'.$name.'</label>';
echo '</span>';
}

?>
</span>

Комментарии (0)

Здесь ещё нет оставленных комментариев.

Оставьте свой комментарий

  1. Добавление комментария от гостя.
Вложения (0 / 3)
Share Your Location

Как с нами связаться

По всем вопросам пишите  

Телеграм: @radgura

OnLine заказ

Отправить сообщение

Нажимая на кнопку «Отправить сообщение», я соглашаюсь:
* с условиями публичной оферты
* обработку моих персональных данных


RAD компоненты

Please publish modules in offcanvas position.