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


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

Переход в папку поиска.

фильтр кнопки искать

Лучший Ответ Maksim Buyanov , 09 June 2016 - 14:07

Maksim Buyanov, переход в "папку" сделать не получится, т.к всегда будет переход только в тот пункт меню который выбран в настройках модуля:

vrds_200x0.png

 

 

Вот решение как сделать каскадное меню в теле фильтра  с переход в папку по клику, причем без запуска работы самого фильтра. 

 

Что я сделал:
1. Создал модуль ZOO Категория - он позволил вывести мне список категорий и субкатегорий в них вложенных

2. Вставляю в тело фильтра метку {module Id} - использую плагин NoNumber Modules Anywhere

Сам фильтр лежит /Сайт.ru/public_html/modules/mod_jbzoo_search/renderer/item/horizontal.php

3. В mod_zoocategory я использовал шаблон List - скрин 1.jpg, который нашел тут : /Сайт.ru/public_html/modules/mod_zoocategory/tmpl/list.php

и немного изменил в list.php код:

<input id="go" type="checkbox"/>
    <div> <b>ВЫБРАТЬ ГОРОД</b> </div>    
        <label for="go" class="st">...</label>
        <ul class="menu" style=""> 
            <li>
                <a href="#">
                    <?php
                    /**
                     * @package   ZOO Category
                     * @author    YOOtheme http://www.yootheme.com
                     * @copyright Copyright (C) YOOtheme GmbH
                     * @license   http://www.gnu.org/licenses/gpl-2.0.html GNU/GPLv2 only
                     */
                    // no direct access
                    defined('_JEXEC') or die('Restricted access');
                    // include css
                    $zoo->document->addStylesheet('mod_zoocategory:tmpl/list/style.css');
                    echo $zoo->categorymodule->render($category, $params, 0, false, 'class="zoo-category-list layer"', true);?>
                </a>
            </li>
        </ul>  

4. Далее меняем стили CSS: /puteshestvuysam.by/public_html/modules/mod_zoocategory/tmpl/list/style.css

/* Copyright (C) YOOtheme GmbH, http://www.gnu.org/licenses/gpl-2.0.htmlGNU/GPLv2 only */

ul.zoo-category-list,
ul.zoo-category-list ul {
margin: 0;
padding: 0;
list-style: none;
}

ul.zoo-category-list ul { padding: 0 0 0 15px; }

ul.zoo-category-list li > a { display: block; }

.layer {
    overflow-y: scroll; /* Добавляем полосы прокрутки */
    width: 100%; /* Ширина блока */
    height: 150px; /* Высота блока */
    padding: 17px!important; /* Поля вокруг текста */
    border: solid 1px #a0a9af; /* Параметры рамки */
    border-radius: 4px;
    background-color: white;
}
/*скрываем наше меню и checkbox*/
.menu, #go {
    display:none;
    left:-28px; 
    width:100%;                                 /* Ширина Блока со странами  */
    z-index:1;                                /* Приподнимаем слой чтобы не было пересечения с чекбоксами ,которые используются в фильтрах ниже  */
    position:absolute;                        /* Дочерний элемент вынимаем из общего потока float*/
}
/*стилизуем кнопочку*/
.st {
    position: relative;                        /* Родительский элемент  */
    width:100%;                                /* Ширина строки  */
    height:28px;                                /* Высота строки  */
    padding:0px 0px 0px 20px;
    background:#ffffff;                         /* Цвет фона выпадающего списка */
    cursor:pointer;                            /* Курсор в виде руки при наведении */
    color:#a2a4a6;                               /* Закругление краев внутри блока */
    border-radius: 3px;                         /* Цвет текста */
    box-shadow: inset  0 0 5px rgba(0,0,0,0.5); /* тень внутри блока */
}
/*а вот собственно и само действие*/
#go:checked ~ .menu {
    display:block;
}

 

 

Перейти к сообщению


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

#1 Maksim Buyanov

Maksim Buyanov

Отправлено 02 June 2016 - 13:19

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

 

 

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

Прикрепленные изображения

  • Screen1.JPG

  • 0

#2 DMTR3000S

DMTR3000S

Отправлено 02 June 2016 - 14:36

"Автоотправка формы" в настройках модуля JBZoo Search, не?


  • 0

#3 Cheren-dow

Cheren-dow

Отправлено 02 June 2016 - 21:20

Maksim Buyanov, если автоотправка как написал выше Asbjorn не нужна на все поля формы, то нужно писать JS. При выборе значения из селекта отправляя форму. 


  • 0
Изображение
 

#4 Maksim Buyanov

Maksim Buyanov

Отправлено 07 June 2016 - 05:24

"Автоотправка формы" в настройках модуля JBZoo Search, не?

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


  • 0

#5 Maksim Buyanov

Maksim Buyanov

Отправлено 07 June 2016 - 05:34

Maksim Buyanov, если автоотправка как написал выше Asbjorn не нужна на все поля формы, то нужно писать JS. При выборе значения из селекта отправляя форму. 

Вы мне уже подсказывали схожую тему по работе фильтра, только по работе кнопки сброс!
Вот топик - http://forum.jbzoo.c...tre/#entry87095

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

Вот пример сайта - http://www.travel.ru/ ,где с одной стороны работает фильтр - делает выборку, но одновременно у него происходит переход в папку, что мы можем наблюдать из навигации (Breadcrumbs)

 

Прикладываю два скриншота как работает сайт. 

Прикрепленные изображения

  • Фильтр.JPG
  • Фильтр2.JPG

Сообщение отредактировал Maksim Buyanov: 07 June 2016 - 05:40

  • 0

#6 Cheren-dow

Cheren-dow

Отправлено 07 June 2016 - 09:16

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


  • 0
Изображение
 

#7 Maksim Buyanov

Maksim Buyanov

Отправлено 07 June 2016 - 10:17

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

Мне не нужно привязывать фильтр к какому либо пункту меню. Для этого у меня есть связка плагина - NoNumber Modules Anywhere и плагина менеджера меню NoNumber Advanced Module Manager .

Мне нужен переход в папку при выборе конкретного города. 
По сути дела запихнуть в фильтр одно поле с обычным каскадным меню на папки городов

 

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


  • 0

#8 Cheren-dow

Cheren-dow

Отправлено 07 June 2016 - 10:26

Maksim Buyanov, переход в "папку" сделать не получится, т.к всегда будет переход только в тот пункт меню который выбран в настройках модуля:

vrds_200x0.png


  • 0
Изображение
 

#9 Maksim Buyanov

Maksim Buyanov

Отправлено 09 June 2016 - 14:07   Лучший Ответ

Maksim Buyanov, переход в "папку" сделать не получится, т.к всегда будет переход только в тот пункт меню который выбран в настройках модуля:

vrds_200x0.png

 

 

Вот решение как сделать каскадное меню в теле фильтра  с переход в папку по клику, причем без запуска работы самого фильтра. 

 

Что я сделал:
1. Создал модуль ZOO Категория - он позволил вывести мне список категорий и субкатегорий в них вложенных

2. Вставляю в тело фильтра метку {module Id} - использую плагин NoNumber Modules Anywhere

Сам фильтр лежит /Сайт.ru/public_html/modules/mod_jbzoo_search/renderer/item/horizontal.php

3. В mod_zoocategory я использовал шаблон List - скрин 1.jpg, который нашел тут : /Сайт.ru/public_html/modules/mod_zoocategory/tmpl/list.php

и немного изменил в list.php код:

<input id="go" type="checkbox"/>
    <div> <b>ВЫБРАТЬ ГОРОД</b> </div>    
        <label for="go" class="st">...</label>
        <ul class="menu" style=""> 
            <li>
                <a href="#">
                    <?php
                    /**
                     * @package   ZOO Category
                     * @author    YOOtheme http://www.yootheme.com
                     * @copyright Copyright (C) YOOtheme GmbH
                     * @license   http://www.gnu.org/licenses/gpl-2.0.html GNU/GPLv2 only
                     */
                    // no direct access
                    defined('_JEXEC') or die('Restricted access');
                    // include css
                    $zoo->document->addStylesheet('mod_zoocategory:tmpl/list/style.css');
                    echo $zoo->categorymodule->render($category, $params, 0, false, 'class="zoo-category-list layer"', true);?>
                </a>
            </li>
        </ul>  

4. Далее меняем стили CSS: /puteshestvuysam.by/public_html/modules/mod_zoocategory/tmpl/list/style.css

/* Copyright (C) YOOtheme GmbH, http://www.gnu.org/licenses/gpl-2.0.htmlGNU/GPLv2 only */

ul.zoo-category-list,
ul.zoo-category-list ul {
margin: 0;
padding: 0;
list-style: none;
}

ul.zoo-category-list ul { padding: 0 0 0 15px; }

ul.zoo-category-list li > a { display: block; }

.layer {
    overflow-y: scroll; /* Добавляем полосы прокрутки */
    width: 100%; /* Ширина блока */
    height: 150px; /* Высота блока */
    padding: 17px!important; /* Поля вокруг текста */
    border: solid 1px #a0a9af; /* Параметры рамки */
    border-radius: 4px;
    background-color: white;
}
/*скрываем наше меню и checkbox*/
.menu, #go {
    display:none;
    left:-28px; 
    width:100%;                                 /* Ширина Блока со странами  */
    z-index:1;                                /* Приподнимаем слой чтобы не было пересечения с чекбоксами ,которые используются в фильтрах ниже  */
    position:absolute;                        /* Дочерний элемент вынимаем из общего потока float*/
}
/*стилизуем кнопочку*/
.st {
    position: relative;                        /* Родительский элемент  */
    width:100%;                                /* Ширина строки  */
    height:28px;                                /* Высота строки  */
    padding:0px 0px 0px 20px;
    background:#ffffff;                         /* Цвет фона выпадающего списка */
    cursor:pointer;                            /* Курсор в виде руки при наведении */
    color:#a2a4a6;                               /* Закругление краев внутри блока */
    border-radius: 3px;                         /* Цвет текста */
    box-shadow: inset  0 0 5px rgba(0,0,0,0.5); /* тень внутри блока */
}
/*а вот собственно и само действие*/
#go:checked ~ .menu {
    display:block;
}

 

 

Прикрепленные изображения

  • 1.JPG

Сообщение отредактировал Maksim Buyanov: 09 June 2016 - 14:45

  • 2

#10 Maksim Buyanov

Maksim Buyanov

Отправлено 09 June 2016 - 14:52

Еще один момент который можно сделать для наведения красоты . Соседний выпадающий список - тип гостиницы сворачивается по клику в любом месте. Мой же список сворачивается только при нажатии на полосу выбрать город.

 

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


  • 0





Темы с аналогичным тегами фильтр кнопки искать

Click to return to top of page in style!