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

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

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

Ищу фильтр с подсказками

Тема в разделе "JoomShopping", создана пользователем umjammer, 6 янв 2017.

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

    umjammer

    Регистр.:
    4 июн 2007
    Сообщения:
    309
    Симпатии:
    22
    ищу фильтр с подсказками, т.е. у значений характеристик есть знак вопроса и при наведении появляется подсказка. есть ли такие?
     
  2. Aikon

    Aikon Создатель

    Регистр.:
    16 фев 2015
    Сообщения:
    49
    Симпатии:
    11
    Попробуй после названия характеристики поставить
    <i class="fa fa-question" title="подсказка "></i>
     
  3. umjammer

    umjammer

    Регистр.:
    4 июн 2007
    Сообщения:
    309
    Симпатии:
    22
    после сохранения исчезает(
     
  4. MagellanWS

    MagellanWS Создатель

    Регистр.:
    30 ноя 2013
    Сообщения:
    16
    Симпатии:
    0
    Дело в том что стандартно в джумле поля не сохраняют код, поэтому варианта у вас три:

    1. Плагин для сохранения кода в поле. Его очень трудно найти, раньше он шел допом к advanced module manager, но могу ошибаться.

    2. В ручную в коде отменить срезку тегов в инпуте, где характеристики вводите, но может привести ко всяким sql-инъекциям не дай бог.

    3. Писать уже в цикле вывода характеристик в фильтре или сделать доп.поле с подсказкой в самом ЖШ, что проще. И уже в css иконку добавить.
     
  5. citatnik

    citatnik Писатель

    Регистр.:
    25 сен 2012
    Сообщения:
    7
    Симпатии:
    0
    В базу данных #__jshopping_products_extra_field_values добавить поле description varchar(255);
    В файл \administrator\components\com_jshopping\views\product_field_values\tmpl\edit.php добавить:
    <tr>
    <td class="key" style="width:250px;">
    <?php echo _JSHOP_DESCRIPTION; ?>
    </td>
    <td>
    <input type="text" class="inputbox" id="description" name="description" value="<?php echo $row->description;?>" />
    </td>
    </tr>
    \components\com_jshopping\tables\productfieldvalue.php :
    }elseif($display==1){
    $rows = $db->loadObjectList();
    $list = array();
    foreach($rows as $k=>$row){
    $list[$row->id] = $row->name;
    unset($rows[$k]);
    }
    return $list;
    }else{
    $rows = $db->loadObjectList();
    $list = array();
    foreach($rows as $k=>$row){
    $list[$row->field_id][$row->id] = $row->name;
    unset($rows[$k]);
    }
    return $list;
    }

    Заменить на :

    }elseif($display==1){
    $rows = $db->loadObjectList();
    $list = array();
    foreach($rows as $k=>$row){
    $list[$row->id]['name'] = $row->name;
    $list[$row->id]['description'] = $row->description;
    unset($rows[$k]);
    }
    return $list;
    }else{
    $rows = $db->loadObjectList();
    $list = array();
    foreach($rows as $k=>$row){
    $list[$row->field_id][$row->id]['name'] = $row->name;
    $list[$row->field_id][$row->id]['description'] = $row->description;
    unset($rows[$k]);
    }
    return $list;
    }
    }
    \components\com_jshopping\tables\product.php :
    foreach($fields as $field){
    $field_id = $field->id;
    $field_name = "extra_field_".$field_id;
    if ($field->type==0){
    if ($this->$field_name!=0){
    $listid = explode(',', $this->$field_name);
    $tmp = array();
    foreach($listid as $extrafiledvalueid){
    $tmp[] = $fieldvalues[$extrafiledvalueid];
    }
    $extra_field_value = implode($jshopConfig->multi_charactiristic_separator, $tmp);
    $rows[] = array("id"=>$field_id, "name"=>$listfield[$field_id]->name, "description"=>$listfield[$field_id]->description, "value"=>$extra_field_value, "groupname"=>$listfield[$field_id]->groupname, 'field_value_ids'=>$listid);
    }
    }else{
    if ($this->$field_name!=""){
    $rows[] = array("id"=>$field_id, "name"=>$listfield[$field_id]->name, "description"=>$listfield[$field_id]->description, "value"=>$this->$field_name, "groupname"=>$listfield[$field_id]->groupname);
    }
    }
    }
    Заменить на:
    foreach($fields as $field){
    $field_id = $field->id;
    $field_name = "extra_field_".$field_id;
    if ($field->type==0){
    if ($this->$field_name!=0){
    $listid = explode(',', $this->$field_name);
    $tmp = array();
    $tmpdescription = array();
    foreach($listid as $extrafiledvalueid){
    $tmp[] = $fieldvalues[$extrafiledvalueid]['name'];
    $tmpdescription[] = $fieldvalues[$extrafiledvalueid]['description'];

    }

    $extra_field_value = implode(", ", $tmp);
    $extra_field_value_description = implode(", ", $tmpdescription);
    $rows[] = array("id"=>$field_id, "name"=>$listfield[$field_id]->name, "description"=>$listfield[$field_id]->description, "value"=>$extra_field_value,'value_description' => $extra_field_value_description, "groupname"=>$listfield[$field_id]->groupname);
    }
    }else{
    if ($this->$field_name!=""){
    $rows[] = array("id"=>$field_id, "name"=>$listfield[$field_id]->name, "description"=>$listfield[$field_id]->description, "value"=>$this->$field_name, "groupname"=>$listfield[$field_id]->groupname);
    }
    }
    }

    \components\com_jshopping\templates\default_bs\product\product_default.php
    После
    <span class="span4 extra_fields_name"><?php print $extra_field['name'];?>:</span>
    вставить
    <span class="span8 extra_fields_value"><?php print $extra_field['value'].($extra_field['value_description'] != '' ? ' <a href="#" class="icon-help hasTooltip" onclick="return false;" data-original-title="'.$extra_field['value_description'].'"></a>' : '');?></span>

    \modules\mod_jshopping_filters\tmpl\default.php
    Ищешь <label class="radio inline checkboxotstup"><input type="checkbox" name="extra_fields[<?php print $ch_id?>][]"
    Всю строку меняешь на эту

    <label class="radio inline checkboxotstup"><input type="checkbox" name="extra_fields[<?php print $ch_id?>][]" value="<?php print $val_id;?>" <?php if (is_array($extra_fields_active[$ch_id]) && in_array($val_id, $extra_fields_active[$ch_id])) print "checked";?> onclick="document.jshop_filters.submit();" /> <?php print $val['name'].($val['description'] != '' ? ' <a href="#" class="icon-help hasTooltip" onclick="return false;" data-original-title="'.$val['description'].'"></a>' : '');?></label><br/>

    Если не заработает, отпишись, может не все копировал
     
    Последнее редактирование: 4 июн 2017