Перейти к содержимому


Фотография
- - - - -

Связанные поля для фильтра


  • Закрытая тема Тема закрыта
Сообщений в теме: 17

#1 kostyk

kostyk

Отправлено 11 October 2014 - 16:16

Делаю каталог автомобилей.

Нужно реализовать фильтр по марке и модели авто.

То я хочу чтобы в фильтре, после выбора марки, показывались только те модели, которые встречаются в базе у этой марки.

Как такое можно реализовать без селекторного списка?

Ну и если никак, может есть где селекторный список для каталога автомобилей?


  • 0

#2 Sliapy

Sliapy

Отправлено 11 October 2014 - 20:00

Тут либо использовать каскадные селекты, либо писать что-то свое на javascript.


  • 0
[color=#aa0000]Не забывайте нажимать кнопку "Вопрос Решён" под сообщением, которое решило Вашу проблему.[/color]

#3 kostyk

kostyk

Отправлено 11 October 2014 - 20:59

Я не против использовать "каскадные селекты", если бы их можно прямо из страницы редактирования материала добавлять. Вообще релально почему его можно изменять только из настройки полей? Сточки зрения логики понятно, но не удобняг ведь жуткий! В общем пора начинать разрабатывать связанные поля, удобная ведь штука. 

 

Что там делать на js?


  • 0

#4 Sliapy

Sliapy

Отправлено 11 October 2014 - 22:10

Скрывать поля и показывать их в зависимости от выбора. Но если нужно делать это через подачу материала, то такой вариант, есвественно, не подходит.

 

Других готовых инструментов для этого в JBZoo нет. 


  • 0
[color=#aa0000]Не забывайте нажимать кнопку "Вопрос Решён" под сообщением, которое решило Вашу проблему.[/color]

#5 kostyk

kostyk

Отправлено 11 October 2014 - 23:05

Скрывать поля это не проблема, но дело в том, что значения в этих полях "Модель" никак не зависят от выбора  значения поля "Марка". Эту проблему как то решает модуль "JBZoo Search List". То есть значения у него зависят от фильтра, но нет кода который отвечает за эти значения в папке с ним. 

Вот код этого шаблона модуля

 

if (!empty($elementHTML)) {
 
    // create label
    $label = '';
    if (isset($params['showlabel']) && $params['showlabel']) {
        $label .= '<div class="label">';
        $label .= ($params['altlabel']) ? $params['altlabel'] : $element->getConfig()->get('name');
        $label .= '</div>';
    }
 
    // create class attribute
    $classes = array_filter(array(
        'props-element',
        ($params['first']) ? 'first' : '',
        ($params['last']) ? 'last' : '',
    ));
 
    ?>
    <div class="<?php echo implode(' ', $classes); ?>">
        <?php echo $label . '<div class="field">' . $elementHTML . '</div>'; ?>
        <div class="clear clr"></div>
    </div>
<?php
}

Сообщение отредактировал SmetDenis: 13 October 2014 - 05:14

  • 0

#6 Sliapy

Sliapy

Отправлено 11 October 2014 - 23:36

В фильтре JBZoo нет зависимостей от выбора, кроме каскадного селекта. Есть еще зависимость от категории, но это другое.


Сообщение отредактировал Sliapy: 11 October 2014 - 23:39

  • 0
[color=#aa0000]Не забывайте нажимать кнопку "Вопрос Решён" под сообщением, которое решило Вашу проблему.[/color]

#7 usersJbzoo

usersJbzoo

Отправлено 12 October 2014 - 05:39

kostyk, Тоже делаю каталог автомобилей и запчастей. Только решил использовать JBZoo Search List, к нему написать скрипт который будет скрывать параметр модель пока не выберешь марку. Со скриптом пока что сложности. До этого использовал селекторный список (вот где использовал http://drift22.ru/) проблема в том что в него сразу должны быть занесены все данные, и на сайте он показывает те которых нет моделей.


  • 1

#8 Roman

Roman

Отправлено 12 October 2014 - 08:56

Поджскажите как можно в фильтре поиска каскадного селекта скрывать поля и показывать их в зависимости от выбора? Смотреть JBZoo Search List? При его использовании вижу в фильтре сразу все варианты, доступные для поиска. А мне бы показывать что-то наподобие связанных полей в RSFORM. Выбор страны - показ поля выбора города, выбор города - показ поля с выбором улицы. Спасибо!


Сообщение отредактировал Roman: 12 October 2014 - 09:06

  • 0

#9 usersJbzoo

usersJbzoo

Отправлено 12 October 2014 - 13:54

Поджскажите как можно в фильтре поиска каскадного селекта скрывать поля и показывать их в зависимости от выбора? Смотреть JBZoo Search List? При его использовании вижу в фильтре сразу все варианты, доступные для поиска. А мне бы показывать что-то наподобие связанных полей в RSFORM. Выбор страны - показ поля выбора города, выбор города - показ поля с выбором улицы. Спасибо!

Такое возможно в JBSELECT CASCADE


  • 1

#10 kostyk

kostyk

Отправлено 12 October 2014 - 13:59

kostyk, Тоже делаю каталог автомобилей и запчастей. Только решил использовать JBZoo Search List, к нему написать скрипт который будет скрывать параметр модель пока не выберешь марку. Со скриптом пока что сложности. До этого использовал селекторный список (вот где использовал http://drift22.ru/) проблема в том что в него сразу должны быть занесены все данные, и на сайте он показывает те которых нет моделей.

Спасибо друг! Но я уже сделал костыль из JBZoo Search List, который выводит мне и доступные позиции не виде списка ссылок, а в виде селекта. Ну и при помощи яваскрипта, буду этот селект подставлять в нужное мне место ф форме поиска. Если будет нужно кому отпишу как я это делал, но нужно помнить что это костыль, и так делать не комильфо ) 


  • 0




Click to return to top of page in style!