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

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

Телеграм : @radgura

Дорабатываем K2 (2.6.9) - Используем extrafield для отображения акций и опций

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

Стоимость 300


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

Дорабатываем K2 (2.6.9) - Используем extrafield для отображения акций и опций

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

В данной статье расскажу о том, как автоматизировать кастомизацию элементов в магазине K2.

Рассмотрим вывод опций, цель - привлечь внимание, для этого на плитке товара выводим опцию "Бесплатная доставка".

Подготовка:

1.Создаем дополнительное поле, тип "мультисписок". Нам необходимо будет обработать условие, когда выбрано значение "Нет"

2.Назначаем опцию товару

Теперь необходимо настроить вывод этой опции, открываем файл:

/components/com_k2/templates/default/category_item.php

Ищем блок :

<?php if($this->item->params->get('catItemExtraFields') && count($this->item->extra_fields)): ?>
<!-- Item extra fields -->
<div class="catItemExtraFields">
<h4><?php echo JText::_('K2_ADDITIONAL_INFO'); ?></h4>
<ul>
<?php foreach ($this->item->extra_fields as $key=>$extraField): ?>
<?php if($extraField->value != ''): ?>
<li class="<?php echo ($key%2) ? "odd" : "even"; ?> type<?php echo ucfirst($extraField->type); ?> group<?php echo $extraField->group; ?>">
<?php if($extraField->type == 'header'): ?>
<h4 class="catItemExtraFieldsHeader"><?php echo $extraField->name; ?></h4>
<?php else: ?>
<span class="catItemExtraFieldsLabel"><?php echo $extraField->name; ?></span>
<span class="catItemExtraFieldsValue"><?php echo $extraField->value; ?></span>
<?php endif; ?>
</li>
<?php endif; ?>
<?php endforeach; ?>
</ul>
<div class="clr"></div>
</div>
<?php endif; ?>

В своем примере я предполагаю, что других дополнительных полей на товаре не будет, иначе можно добавить поиск по алиасу:

 

Для алиаса "op", если нет значения "нет", то вывести блок со значением опции:

<?php if($extraField->alias != 'op'): ?>


Далее необходимо добавить условия:

<?php if($this->item->params->get('catItemExtraFields')): ?>
<!-- Item extra fields -->
<?php foreach ($this->item->extra_fields as $key=>$extraField): ?>
<?php if($extraField->value != ''): ?>
<?php if($extraField->type == 'header'): ?>
<h4 class="catItemExtraFieldsHeader"><?php echo $extraField->name; ?></h4>
<?php else: ?>
<?php if($extraField->value != 'нет'): ?>
<div class="catItemExtraFields" id="ef">
<span class="catItemExtraFieldsValue"><?php echo $extraField->value; ?></span>
</div>
<?php endif; ?>
<?php endif; ?>
<?php endif; ?>
<?php endif; ?>
<?php endforeach; ?>
<div class="clr"></div>

<?php endif; ?>

Еще необходимо добавить css правило для блока <div class="catItemExtraFields" id="ef">:

#ef {
background: rgb(218,251,198);
}

Результат:

Можно также сделать вывод не текстового значения, а блока div со встроенным правилом, в котором будет ссылка на изображение. Значение поля будет имя файла.

<div style="background: url(/images/lent-iphone.png);" class="catItemExtraFields" id="ef"></div>

И добавить css правило:

#ef {
max-width: 261px;
height: 64px;
background-repeat: no-repeat;
}

Получаем:

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

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

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

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

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

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

Телеграм: @radgura

OnLine заказ

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

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


RAD компоненты

Please publish modules in offcanvas position.