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

umjammer

Профессор
Регистрация
4 Июн 2007
Сообщения
342
Реакции
44
ищу фильтр с подсказками, т.е. у значений характеристик есть знак вопроса и при наведении появляется подсказка. есть ли такие?
 
Попробуй после названия характеристики поставить
<i class="fa fa-question" title="подсказка "></i>
 
после сохранения исчезает(

Дело в том что стандартно в джумле поля не сохраняют код, поэтому варианта у вас три:

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

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

3. Писать уже в цикле вывода характеристик в фильтре или сделать доп.поле с подсказкой в самом ЖШ, что проще. И уже в css иконку добавить.
 
В базу данных #__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/>

Если не заработает, отпишись, может не все копировал
 
Последнее редактирование:
Назад
Сверху