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

DJ-Classifieds , загрузка toggler.addClass('active') на странице с результатами поиска

Discussion in 'Вопросы по расширениям Joomla [тех. поддержка]' started by game, Oct 29, 2015.

Thread Status:
Not open for further replies.
  1. game

    game Опытный складчик

    Joined:
    Nov 29, 2014
    Messages:
    84
    Likes Received:
    6
    Версия Joomla:Joomla! 3.4.5
    Название и версия шаблона:
    DJ-Classifieds
    3.4.1.1
    Квикстарт (да/нет):нет

    Браузер:chrome, firefox
    Локальный сервер (если да название, если нет название хостинга):nic.ru
    Версия php:5.6
    Ошибки в логах сервера:

    Описание ошибки и действий которые привели к ошибке:
    Если есть возможность подскажите пожалуйста в вопросе.
    Почему то после поиска не загружаются определенные < div> и <span>
    Как сделать так чтобы поле с "Аккордион чекбоксов (закрыт на старте)" на свертывалось после появления результатов поиска ( ниже подробное описание и скрин консоли).
    [​IMG]
    в раскрытом виде :
    [​IMG]




    Code:
    
    var djfields_accordion_c = document.getElements('#search<?php echo $module->id;?>_ex_fields .djfields_accordion_c');
    if(djfields_accordion_c){
    djfields_accordion_c.each(function(djfields_acc_c,index){
    new Fx.Accordion(djfields_acc_c.getElements('.label'),
    djfields_acc_c.getElements('.se_checkbox'), {
    alwaysHide : true,
    display : -1,
    duration : 100,
    onActive : function(toggler, element) {
    toggler.addClass('active');
    element.addClass('in');
    },
    onBackground : function(toggler, element) {
    toggler.removeClass('active');
    element.removeClass('in');
    }
    });
    })
    }
    
    },
    
    В примере "админ.панель >Поля "в нем есть /Поле "checkbox2" Тип: "чекбокс"/ на которое назначено /Опции поиска "Чекбокс"/, но также есть возможность указать /Опции поиска "Аккордион чекбоксов (закрыт на старте)"/ . Есть ли способ сделать так чтобы поля в которых ранее были выбраны чекбоксы после поиска оставались раскрытыми? Те где выбора не было пусть остаются закрытыми.
    Дополнительная информация только для техподдержки форума:
    #1
  2. Modi34

    Modi34 Свой человек

    Joined:
    Oct 31, 2014
    Messages:
    2,033
    Likes Received:
    720
    разве это стандартный функционал? вроде бы на сайте разработчика такого нет...

    хотя я в целом плохо понял что вы хотите сделать...
    #2
  3. game

    game Опытный складчик

    Joined:
    Nov 29, 2014
    Messages:
    84
    Likes Received:
    6

    В бекапе чистая джумла самой свежей редакции и DJ-Classifieds 3.4.1.1. Никакой отсебятины я вам не присылаю чтобы вас не путать.
    Это уже третий вопрос на форуме от меня, понимаю что вы очень заняты. Буду очень рад если найдете немного времени чтобы помочь с этим.
    В модуле поиска DJ-Classifieds 3.4.1.1. кроме обычных чекбоксов есть чекбоксы которые при загрузке странице с модулем поиска свернуты в аккордионы. (чтобы их включить нужно в админке компонента назначить параметр для поиска ""Аккордион чекбоксов (закрыт на старте)" ") Чтобы выполнить поиск нужно развернуть поле-аккордион со значениями и отметить нужный чекбокс после чего нажать на кнопку поиска в модуле. Загрузятся результаты. И вот в этот момент по логике в тех полях где мы только что отметили чекбоксы аккордион должен быть развернут, а он снова в свернутом состоянии и чекбоксы отмечены внутри свернутого аккордиона. Это неудобно, у меня 10 полей с чекбоксами и если выполнить поиск несколько раз подряд приходится снова и снова разворачивать аккордион. А если не пользоваться аккордионом то форма модуля поиска на сайте имеет очень большую высоту.

    На скриншотах видно что за сворачивание аккордиона отвечает <div class> se checkbox и <div class> se chrckbox in соответственно значения в этом классе height: 0px и height:auto . Как я понимаю ниже код где это все подключается в модуле поиска:
    Code:
    var djfields_accordion_c = document.getElements('#search<?php echo $module->id;?>_ex_fields .djfields_accordion_c');
    if(djfields_accordion_c){
    djfields_accordion_c.each(function(djfields_acc_c,index){
    new Fx.Accordion(djfields_acc_c.getElements('.label'),
    djfields_acc_c.getElements('.se_checkbox'), {
    alwaysHide : true,
    display : -1,
    duration : 100,
    onActive : function(toggler, element) {
    toggler.addClass('active');
    element.addClass('in');
    },
    onBackground : function(toggler, element) {
    toggler.removeClass('active');
    element.removeClass('in');
    }
    });
    })
    Мне нужно сделать так чтобы после поиска через модуль аккордионы были раскрыты в форме модуля поиска выборочно - там где мы выбирали параметры и раскрывали их в ручную они должны быть по прежнему раскрыты, там где мы ничего не выбирали перед поиском - пусть будет по прежнему все свернуто. А сейчас аккордионы сворачиваются сами каждый раз при загрузке страницы в независимости выбирали мы что-нибудь в них или нет . Как я понимаю нужно указать машине учитывать наш предыдущий выбор при перезагрузке страницы, но не знаю как это сделать.
    #3
  4. Modi34

    Modi34 Свой человек

    Joined:
    Oct 31, 2014
    Messages:
    2,033
    Likes Received:
    720
    много бреда пишите - ок чуть позже посмотрю и поправлю - сейчас не могу только переставил систему...
    #4
  5. Modi34

    Modi34 Свой человек

    Joined:
    Oct 31, 2014
    Messages:
    2,033
    Likes Received:
    720
    честно говоря в этот раз даже бекап не ставил - просто посмотрел код - там разработчик так задумал - аккордион и не должен быть открыт в не зависимости от того что вы выбрали - это не баг расширения - потому я его могу не править....

    в целом если очень нужно попробуйте сменить alwaysHide на false////
    [​IMG]
    либо напишите небольшой jquery скрипт который будет смотреть есть ли отмеченные чекбоксы и добавлять нужные классы - я это писать не буду - если нужно и сами не хотите рекомендую обращаться к фрилансерам.... но в целом там все очень примитивно... тк есть https://api.jquery.com/checked-selector/

    либо просто смените тип поля с акордиона на обычное - такое же как на демо сайте разработчика...
    #5
  6. game

    game Опытный складчик

    Joined:
    Nov 29, 2014
    Messages:
    84
    Likes Received:
    6
    простой заменой на alwaysHide на false в модуле ничего изменить не удалось
    всё таки сделать чекбоксы без аккордеона не вариант - боль 12 тыс. пикселей форма поиска получается, поэтому буду бороться дальше.
    Огромное спасибо за ссылку на /checked-selector/ , хотя для меня это сейчас темный лес но теперь знаю в каком направлении читать .
    Приятной вам работы, извините что отвлёк
    #6
  7. Modi34

    Modi34 Свой человек

    Joined:
    Oct 31, 2014
    Messages:
    2,033
    Likes Received:
    720
    ну в крайнем случае уберите css стили отвечающие за скрытие блока - с css то вы знакомы... тему закрываю.
    #7
  8. modern.po

    modern.po Админ Staff Member

    Joined:
    Aug 25, 2014
    Messages:
    842
    Likes Received:
    497
    - прошлая стабильная версия
    #8
    Modi34 likes this.
Thread Status:
Not open for further replies.