Помощь Выделенные атрибуты показать отдельно.

djodofin

Постоялец
Регистрация
6 Июл 2017
Сообщения
328
Реакции
138
Выделенные атрибуты показать отдельно.

Как выделенные или (выбранные) атрибуты показать в отдельном блоке?

Пример, допустим есть радио атрибуты зависимые (ЦВЕТ) и не зависимые радио атрибуты (РАЗМЕР)

ЦВЕТ - синий, желтый, красный
РАЗМЕР - XS, S, M, L

Выбирая цвет желтый то в отдельном блоке вывело (Вы выбрали: цвет желтый).

Соответственно

Выбирая размер XS то в отдельном блоке вывело (Вы выбрали: размер XS).

В итоге

ЦВЕТ
(Вы выбрали: цвет желтый)
синий, желтый, красный

РАЗМЕР
(Вы выбрали: размер XS)
XS, S, M, L

Так есть.
attr-1.jpg



Так должно быть...

attr-2.jpg


Как это реализовать?
 
Последнее редактирование:
Есть плагин Attribute description Tooltip, он показывает описание атрибута. Попробуйте его переделать под свои нужды.
Для просмотра ссылки Войди или Зарегистрируйся
 
Плагин Attribute description Tooltip у меня почему-то не работает.

Обратил внимание на Joomshopping Addons: Attr Value Description Для просмотра ссылки Войди или Зарегистрируйся

Но есть нюансы...

Описание атрибута выводиться под атрибутом в <div class="attr_value_description">ОПИСАНИЕ АТРИБУТА</div>.

Необходим код какой отвечает за вывод описания атрибута для вставки в нужном месте в карточке товара в (/templates/ваш_шаблон/html/com_jshopping/product/product_default.php)

Кто подскажет?!

Joomshopping Addons: Attr Value Description прилагаю...

Прбывал использовать такую комбинацию но не работает, не выводит...

<div class="attr_value_description"><?php print $attr_value_description->description;?></div>


Если можете поправте мои ошибки.

ВОТ СТРУКТУРА attr_value_description.php

<?php
defined('_JEXEC') or die('Restricted access');

class plgJshoppingProductsAttr_value_description extends JPlugin
{
function __construct(&$subject, $config){
parent::__construct($subject, $config);
}
function onAfterDisplayProduct(&$product){
$document = JFactory::getDocument();
$document->addScriptDeclaration("function setAttrDesc(attr_id, val_id){
jQuery('.attr_id_'+attr_id).hide();
jQuery('#attr_value_description_'+val_id).show();
}");

}
function onBuildSelectAttribute(&$attributeValues, &$attributeActive, &$selects, &$options, &$attr_id, &$v) {

$db = JFactory::getDBO();
$lang = JSFactory::getLang();
$query = "SELECT `value_id`, `".$lang->get("description")."` as `description` FROM `#__jshopping_attr_values` WHERE `attr_id`=".$attr_id;
$db->setQuery($query);
$tmp = $db->loadObjectList();

$result = array();
foreach ($tmp as $v1) {
$result[$v1->value_id] = $v1->description;
}
unset($tmp);

$attrimage = array();
foreach($options as $k2=>$v2){
$attrimage[$v2->val_id] = $v2->image;
}

if ($v->attr_type==1){
if (isset($attributeActive[$attr_id]) && isset($attrimage[$attributeActive[$attr_id]])){
$_active_image = $attrimage[$attributeActive[$attr_id]];
}else{
$_active_image = '';
}
$html_attr_desc="";
foreach($options as $k2=>$v2){
$attr_desc[$v2->val_id] = $result[$options[$k2]->val_id];
// $options[$k2]->value_name .= ' ('.$result[$options[$k2]->val_id].')';
$style = ($v2->val_id==$attributeActive[$attr_id])?'display:block;':'display:none;';
$html_attr_desc .= '<div id="attr_value_description_'.$v2->val_id.'" style="'.$style.'" class="attr_id_'.$attr_id.' attr_value_description">'.$result[$options[$k2]->val_id].'</div>';
}

$selects[$attr_id]->selects = JHTML::_('select.genericlist', $options, 'jshop_attr_id['.$attr_id.']','class = "inputbox" size = "1" onchange="setAttrValue(\''.$attr_id.'\', this.value);setAttrDesc(\''.$attr_id.'\',this.value);"','val_id','value_name', $attributeActive[$attr_id])."<span class='prod_attr_img'>".$this->getHtmlDisplayProdAttrImg($attr_id, $attrimage[$attributeActive[$attr_id]], $html_attr_desc)."</span>";
$selects[$attr_id]->selects = str_replace(array("\n","\r","\t"), "", $selects[$attr_id]->selects);
}else{

foreach($options as $k2=>$v2){
$options[$k2]->value_name .= '<div class="attr_value_description">'.$result[$options[$k2]->val_id].'</div>';
}

$selects[$attr_id]->selects = sprintRadioList($options, 'jshop_attr_id['.$attr_id.']','onclick="setAttrValue(\''.$attr_id.'\', this.value);"','val_id','value_name', $attributeActive[$attr_id], $radioseparator);
$selects[$attr_id]->selects = str_replace(array("\n","\r","\t"), "", $selects[$attr_id]->selects);
}
}
function getHtmlDisplayProdAttrImg($attr_id, $img, $attr_value_description){
$jshopConfig = JSFactory::getConfig();
if ($img){
$path = $jshopConfig->image_attributes_live_path;
}else{
$path = $jshopConfig->live_path."images";
$img = "blank.gif";
}
$urlimg = $path."/".$img;

$html = '<img id="prod_attr_img_'.$attr_id.'" src="'.$urlimg.'" alt="" />';
$html .=$attr_value_description;
return $html;
}


}
 

Вложения

  • addon_attr_value_description_1.0.3.zip
    7,1 KB · Просмотры: 5
Последнее редактирование:
Назад
Сверху