Перейти к содержанию
Форум поддержки пользователей VamShop

Стилизация фильтра


Рекомендуемые сообщения

Здравствуйте! Подскажите пожалуйста где задаются стили фильтров? По умолчание наименование фильтра задано жирным шрифтом. В каких файлах необходимо вносить изменения? 

Ссылка на сообщение
Поделиться на другие сайты

Подскажите пожалуйста еще. Хочу попробовать сделать разворачивающийся фильтр на основе меню в виде аккордиона, если такое возможно, необходимо ваше мнение о возможности установки (исходники:http://www.maxua.com.ua/blog/php-skript/jquery-job/akordeon-menu.html?searched=%D0%BC%D0%B5%D0%BD%D1%8E&advsearch=oneword&highlight=ajaxSearch_highlight+ajaxSearch_highlight1). Наименование фильтра обернул в стили, как указано в исходниках (вроде бы так) в /templates/шаблон/source/boxes/products_filter.php

 

стили к наименованию фильтра вроде бы подключил, но не знаю так или нет

в /templates/шаблон/source/boxes/products_filter.php

 

$box_text .= '<div id="firstpane" class="menu_list"><p class="menu_head"><b>' . $specs_array['specification_name'] . '</b></p></div>';

 

 

и сами фильтры в /includes/functions/products_specifications.php

 

case ($filter['count'] != '' && $filter['count'] < 1 && SPECIFICATIONS_FILTER_NO_RESULT == 'grey'):
$box_text .= '<div class="menu_body"> <input type="radio" name="0" value="0" disabled="disabled">';
$box_text .= '<span class="no_results">' . '&nbsp;';
$box_text .= vam_output_string ($filter['text'] );
$box_text .= '</span>';
if (SPECIFICATIONS_FILTER_SHOW_COUNT == 'True' && $filter['count'] != '') {
$box_text .= '<span class="filter_count"> (' . $filter['count'] . ')</span>';
}
$box_text .= '</div>' . "\n";

 

 

а вот с подключением JavaScript'ов проблемы. Скрипты не выполняются и где их правильно подключить тоже проблемы

Ссылка на сообщение
Поделиться на другие сайты

Может неправильно подключаете.

 

jQuery уже подключается в VamShop по умолчанию, второй раз его подключать не надо, добавляйте только js код для меню.

 

Для jQuery тысячи разные меню и прочих модулей, просто найдите подходящий именно Вам да и всё.

Ссылка на сообщение
Поделиться на другие сайты

В том то и дело, что их много и пробовал подключить многие, со всеми одна и та же проблема. В принципе, все что мне нужно это, так это разворачивание характеристик после клика по наименованию фильтра. Есть простенькие скрипты без эффектов, проблема только в том где нужно добавить js код для меню. пробовал поставить в боксе фильтра - не срабатывает.

Ссылка на сообщение
Поделиться на другие сайты

Ну странице оформления заказа у модуля киви например по клику открывается поле с вводом телефона.

 

Там простенький jQuery код используется в /templates/vamshop/checkout_payment_block.html

 

Можете пример посмотреть.

 

Но проблема обычно в js коде, если правильный код вставлять, всё работает. Так что ищите у себя в коде ошибку.

Ссылка на сообщение
Поделиться на другие сайты

Скрипт рабочий, если его в отдельном html открыть, то все выполняется, а вот при вставке на сайт работать отказывается. Скорее всего не там прописываю его и может быть конфликт с другим скриптом получается.

Сам скрипт тоже не очень сложный.Подскажите пож в каком файле находится закрывающий тег </body>

 

 

<script type="text/javascript">
$(document).ready(function()
{
$("#firstpane p.menu_head").click(function()
{
$(this).css({backgroundImage:"url('/images/down.png')"}).next("div.menu_body").slideToggle(300).siblings("div.menu_body").slideUp("slow");
$(this).siblings().css({backgroundImage:"url('/images/left.png')"});
});
});
</script>

 

И еще нужно подключить вот это 

 

 

Шаг 3. Прикрутка фреймворка jQuery

Теперь главное не забыть привязать основной фреймворк jQuery между тегами <head> и </head> Вашего документа. Выглядеть будет это следующим образом:


<script type="text/javascript" src="jquery.js"></script>

Ссылка на сообщение
Поделиться на другие сайты

кстати если делать по аналогии с Киви, то раскрываются сразу все списки, как можно сделать чтоб раскрывался только тот по которому кликнули

Ссылка на сообщение
Поделиться на другие сайты

jquery уже подключён, подключать второй раз его не нужно.

 

Если не нарботает, то проблема в js коде. или ошибка, или неправильно вставляете код, или просто он не работает с той версией jQuery, что в VamShop подключается.

Ссылка на сообщение
Поделиться на другие сайты

сделал по аналогии с киви - разворачивает, перенес с локального сервера на хост - ничего не работает. Что ж это за vamshop такой, уже жалею что лицензию купил.

Ссылка на сообщение
Поделиться на другие сайты
  • 3 weeks later...

Доброго времени суток!

Нужна помощь знатоков: в файле /includes/functions/products_specification.php есть код, который выводит фильтры на странице листинга товара!

К примеру, в виде checkbox: 

 

case 'checkbox':
      $box_text .= '<table align="center">';
$box_text .= vam_draw_form ('filter', $target, 'get');
        $checkbox_id = 0;
        foreach ($filters_select_array as $filter) {
          $checked = ($filter['id'] == $filter_value[$checkbox_id]) ? true : false;
          switch (true) {
            case ($filter['count'] < 1 && SPECIFICATIONS_FILTER_NO_RESULT == 'none'):
              break;
$box_text .= '<tr>';
            case ($filter['count'] < 1 && SPECIFICATIONS_FILTER_NO_RESULT == 'grey'):
            
            
              $box_text .= '<td>';
              $box_text .= '<input type="checkbox" name="0" value="0" disabled="disabled">';
              
              
              $box_text .= '<span class="no_results">' . '&nbsp;';
              $box_text .= vam_output_string ($filter['text'] );
              $box_text .= '</span>';              
        
              if (SPECIFICATIONS_FILTER_SHOW_COUNT == 'True') {
              
                $box_text .= '<span class="filter_count"> (' . $filter['count'] . ')</span>';
                              
              }
              $box_text .= '</td>';
              break;
              
              
 
            default:
              $box_text .= '<td>';
              $box_text .= vam_draw_checkbox_field ($filter_name . '[' . $checkbox_id . ']', $filter['id'], $checked) . $filter['text'];
 
              if (SPECIFICATIONS_FILTER_SHOW_COUNT == 'True') {
                $box_text .= '<span class="filter_count"> (' . $filter['count'] . ')</span>';
              }
              $box_text .= '</td>';
              
              break;
              
              
          } // switch (true)
          $checkbox_id++;
          
        }
        $box_text .= $additional_variables . vam_hide_session_id();
        $box_text .= '</tr>';
        //$box_text .= '</span>';
        $box_text .= '</table>';
        
        $box_text .= vam_image_submit('submit.png', 'Фильтровать');
        $box_text .= '</form>';
        
        //$box_text .= '</span>';
        break;
 
При добавлении html-тегов таблицы (чтобы значения фильтра выводились в таблице) получается, что значения выводятся либа в 1 столбец, либо в 1 строку (Если значений много, то и строка или столбец длинные)!
Как сделать, чтобы значения выводились в строку, всего в 5 столбцах, а если больше 5, то следующая строка?
Ссылка на сообщение
Поделиться на другие сайты

Ну а зачем таблица-то?!

 

Таблица для табличных данных ведь.

 

Если вопрос в выводе колонками, то для этого не нужны таблицы и по умолчанию и так фильтры по центру внутри категории выводятся колонками.

Ссылка на сообщение
Поделиться на другие сайты

У меня фильтр выводится не в боксе, а в основном блоке (посередине), по-этому в виде 1 колонки не подходит -  при большом количестве значений пропадает много места. Нужно, что бы значения фильтров заполняли ячейки таблицы, если вмещается в строку 4 значения, значит 5-ое начинается с новой строки, если 3, начит 4-ое с новой строки.

При добавлении в файл html тегов таблицы, все выводится либо в 1 строку, либо в 1 столбец. Как сделать (может какой-то скрипт), чтобы при заполнении всей ширины экрана создавалась новая строка? http://instrumentimsk.ru/navesnoe_oborudovanie_dlya_Motoburov.html

Ссылка на сообщение
Поделиться на другие сайты

Каждый фильтр выводится в блок div class="filter"

 

Укажите в стилях значение width для этого блока, например, указав 33% - будет три колонки, 49% - две.

Ссылка на сообщение
Поделиться на другие сайты
×
×
  • Создать...