1. Уважаемые пользователи, прежде чем ответить в теме или создать новую,
    внимательно ознакомьтесь с правилами раздела

    Кому лень работать или руки не оттуда - пользуйтесь услугами специалистов
  2. Не задавайте глупых вопросов "Посоветуйте какой-нибудь компонент.."

    Есть JED!!! Ищите там!!!

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

Тема в разделе "JoomShopping", создана пользователем djodofin, 19 окт 2018.

Информация :
  • Уважаемые пользователи, прежде чем ответить в теме или создать новую, внимательно ознакомьтесь с правилами раздела
  • Не задавайте глупых вопросов "Посоветуйте какой-нибудь компонент.." Есть JED!!! Ищите там!!!
  • Аналоги ищите там же - на JED!!!
  • Новая версия? - У кого будет - тот выложит!
  1. djodofin

    djodofin

    Регистр.:
    6 июл 2017
    Сообщения:
    259
    Симпатии:
    106
    Выделенные атрибуты показать отдельно.

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

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

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

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

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

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

    В итоге

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

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

    Так есть.
    [​IMG]


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

    [​IMG]

    Как это реализовать?
     
    Последнее редактирование: 20 окт 2018
  2. Karambus

    Karambus Постоялец

    Регистр.:
    6 июл 2016
    Сообщения:
    144
    Симпатии:
    40
  3. djodofin

    djodofin

    Регистр.:
    6 июл 2017
    Сообщения:
    259
    Симпатии:
    106
    Плагин Attribute description Tooltip у меня почему-то не работает.

    Обратил внимание на Joomshopping Addons: Attr Value Description https://www.webdesigner-profi.de/joomla-webdesign/shop/addons/attr-value-description.html?lang=en

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

    Описание атрибута выводиться под атрибутом в <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;
    }


    }
     

    Вложения:

    Последнее редактирование: 26 окт 2018