VM 2.x Multiple Customfield Filter (Аналог Cherry Picker)

prosto-chups
Уверен. Смотри развернутый ответ в личке...

Всем остальным: :)
Вариант выложенный просто-чупсом НЕ РАБОЧИЙ (он использовал старый метод который подходил к первой версии и описан мной в первом посте темы - ко второй версии метод не применим.) За совпадение по дате благодарим пользователя mogutov666 который обратился ко мне с просьбой взломать не работающую версию. Только я по доброте душевной еще и обновил ему не работающий 2.0.5до 2.0.6 :D
 
Не подскажите решение, как НЕ отображать модуль на станице товара?
Т.е. у нас есть категория, заходим в нее. Там модуль нужен.
А на странице товара модуль НЕ нужен.
Опция "Привязка по view (для VM2)" НЕ решение. Модуль все равно есть, хоть на его месте и пусто. А это влияет на отображение =(
 
Не подскажите решение, как НЕ отображать модуль на станице товара?
Т.е. у нас есть категория, заходим в нее. Там модуль нужен.
А на странице товара модуль НЕ нужен.
Опция "Привязка по view (для VM2)" НЕ решение. Модуль все равно есть, хоть на его месте и пусто. А это влияет на отображение =(
Для каждого вида фильтра существует свои настройки. В данном случае опция Virtuemart Product Details Page должна быть выключена.
Снимок.JPG
 
подскажите как превратить input_double в single, я пока только закоментил инпут "до" но в итоге поиск получается не точным
PHP:
<?php
defined('_JEXEC') or die('Restricted access');
/**
* Param Filter: Virtuemart 2 search module
* Version: 2.0.6 (2013.08.13)
* Author: Usov Dima
* Copyright: Copyright (C) 2012-2013 usovdm
* License GNU/GPLv3 http://www.gnu.org/licenses/gpl-3.0.html
* http://myext.eu
**/

$custom_class = isset($custom_params['af']) && (int)$custom_params['af'] ? ' custom_child custom_child-'.(int)$custom_params['af'] : '';
$custom_pid = isset($custom_params['af']) && (int)$custom_params['af'] ? ' data-pid="'.(int)$custom_params['af'].'"' : '';
$custom_pval = isset($custom_params['av']) && is_array($custom_params['av']) && count($custom_params['av']) > 0 ? ' data-pval="'.implode(';',$custom_params['av']).'"' : '';

$html .= '<div class="custom_params custom_params-'.$type->virtuemart_custom_id.'">';
$tip = !empty($type->custom_tip) ? ' <span class="mcf_tip hasTip" title="'.$type->custom_tip.'">[?]</span>' : '';
$selected_values = JRequest::getVar('cv'.$type->virtuemart_custom_id,array());
$selected_values = array_diff($selected_values,array(''));
$reset = !empty($selected_values) ? '<a class="reset" href="#">[x]</a>' : '';
$html .= '<div class="heading">'.$reset.JText::_($custom_params['n']).'</div>';
if(!empty($customfield_value)){
    if(isset($custom_params['ft']) && $custom_params['ft'] == 'int'){
        $custom_params['vd'] = array('gt' => $customfield_value[0],'gt' => $customfield_value[0]);
        $custom_params['vd_vis'] = array('gt' => @$customfield_value_vis[0],'lt' => @$customfield_value_vis[count($customfield_value_vis)-1]);
        // Handle int only
        $html .= '<div class="values price cv-'.$type->virtuemart_custom_id.$custom_class.'" data-id="'.$type->virtuemart_custom_id.'"'.$custom_pid.$custom_pval.'>';
        $value = !$param_search_ids_clear && isset($selected_values['gt']) ? $selected_values['gt'] : '';
        $html .= '<input style="margin-top: 5px;" class="slider-range-gt" rel="'.$custom_params['vd']['gt'].'" rev="'.$custom_params['vd_vis']['gt'].'" type="text" name="cv'.$type->virtuemart_custom_id.'[gt]" value="'.$value.'" size="5" />';
        $value = !$param_search_ids_clear && isset($selected_values['lt']) ? $selected_values['lt'] : '';
        $html .= '<div class="input-tip" style="float:right;">'.$type->custom_tip.'</div>';
        //$html .= '<input class="slider-range-lt" rel="'.$custom_params['vd']['lt'].'" rev="'.$custom_params['vd_vis']['lt'].'" type="text" name="cv'.$type->virtuemart_custom_id.'[lt]" value="'.$value.'" size="5" />';
        $html .= '<div class="tire" style="text-align:center;"></div>';
        $html .= '<div style="clear:both;"></div>';
        $html .= '</div>';
    }else{
        // Text
        $html .= '<div>Text data type do not supported this template</div>';
    }
}
$html .= '</div>';
 
Для каждого вида фильтра существует свои настройки. В данном случае опция Virtuemart Product Details Page должна быть выключена.
Посмотреть вложение 51087
Да, это все понятно. Но фильтр все равно присутствует. Т.е. Джумла думает что в позиции фильтр все таки есть. А это очень плохо влияет на внешний вид.
Постараюсь пояснить. Имеем код:
php условие:
PHP:
<?php
/* Поверка, есть ли слайдбар слева и замена width*/
if($this->countModules('slidebar-left') == 0){
    $content_style = "style='width: 1020px; float: left;'";
}
if($this->countModules('slidebar-left')!= 0){
    $content_style = "style='width: 795px; float: right;'";
}
?>
А в теле шаблона:
Код:
<div style="width: 1020px;">
<div class="slidebar-left">
<jdoc:include type="modules" name="slidebar-left" style="div" />
</div>
<div class="content" <?php echo $content_style; ?>>
<jdoc:include type="component" />
</div>
</div>
Надеюсь изложил максимально понятно.
 
Да, это все понятно. Но фильтр все равно присутствует. Т.е. Джумла думает что в позиции фильтр все таки есть. А это очень плохо влияет на внешний вид.
Постараюсь пояснить. Имеем код:
php условие:
PHP:
<?php
/* Поверка, есть ли слайдбар слева и замена width*/
if($this->countModules('slidebar-left') == 0){
    $content_style = "style='width: 1020px; float: left;'";
}
if($this->countModules('slidebar-left')!= 0){
    $content_style = "style='width: 795px; float: right;'";
}
?>
А в теле шаблона:
Код:
<div style="width: 1020px;">
<div class="slidebar-left">
<jdoc:include type="modules" name="slidebar-left" style="div" />
</div>
<div class="content" <?php echo $content_style; ?>>
<jdoc:include type="component" />
</div>
</div>
Надеюсь изложил максимально понятно.
Как вариант - не привязывать css стили непосредственно к блоку фильтра-модуля, а к div, который генерирует сам компонент. Потому что у меня в таком случае на месте фильтров просто пустой блок модуля и все. который не отображается, т.к. в нем нет элементов, а своей ширины/высоты он не имеет.
 
Да это все равно не решение.
Шаблон сверстан и переделывать его желания уже мало.
Это же общепринятые джумлой методы работы с шаблоном.
 
Привет.
Скажите, пожалуйста, кто знает, можно ли при помощи этого фильтра сделать зависимые поля как здесь: avtoakkumulator.ru/catalog/4281
Других вариантов для VirtueMart просто не нашёл.

Для Genk0: я имел ввиду именно ЗАВИСИМЫЕ поля, а не настраиваемые. И фильтрация по зависимым полям, как мне кажется, как раз-таки должна осуществляться этим компонентом.
То есть выбираю A - получаю A-1, A-2, A-3; выбираю B - получаю B-1, B-2, B-3 и т.д.
 
...можно ли при помощи этого фильтра сделать зависимые поля...
...То есть выбираю A - получаю A-1, A-2, A-3; выбираю B - получаю B-1, B-2, B-3 и т.д.
Здравствуйте. Если ещё актуально - да, можно. Для просмотра ссылки Войди или Зарегистрируйся - настройка "Связать со значением"
 
Всем привет.
Столкнулся с проблемой при работе с этим плагином. Когда открываю страницу настроек самого модуля сортировки, получаю
500 - Обнаружена ошибка.
Ошибка загрузки из файла

Никто не сталкивался с такой фигней, в чем может быть дело? Какого файла ему не хватает? Разработчик молчит уже который день.
 
Назад
Сверху