0 Пользователей и 1 Гость просматривают эту тему.
  • 9 Ответов
  • 2037 Просмотров
*

Ragivort

  • Завсегдатай
  • 1154
  • 56 / 2
  • Такая Life
Люди, привет, как в модуле mod_jshopping_filters заменить чекбоксы на кнопки, чтобы не галочки ставить, а кнопку нажал и фильтр сработал, замена checkbox на button не помогает.
Дозволь мне свершить то добро, которое я способен свершить, теперь, ибо я могу более не вернуться сюда.
*

dmitry_stas

  • Легенда
  • 13152
  • 1232 / 8
конечно не помогает, ибо нужен input в форме, чтобы передать какое то значение. более того, помимо передачи значения его ж нужно как то хранить как текущее выбранное. можно попробовать сделать скрытые инпуты, а кнопками в них менять значения, и после этого отправлять форму
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

Ragivort

  • Завсегдатай
  • 1154
  • 56 / 2
  • Такая Life
Попробую
Дозволь мне свершить то добро, которое я способен свершить, теперь, ибо я могу более не вернуться сюда.
*

Ragivort

  • Завсегдатай
  • 1154
  • 56 / 2
  • Такая Life
Дк я про <input type="button"
ЧТобы не чекбоксы были а кнопки
там такой код -
Код
    <?php if (is_array($characteristic_displayfields) && count($characteristic_displayfields)){?>
   
        <div class="filter_characteristic">
        <?php foreach($characteristic_displayfields as $ch_id){?>   
            <?php if (is_array($characteristic_fieldvalues[$ch_id])){?>
                 <input type="hidden" name="extra_fields[<?php print $ch_id?>][]" value="0" />           
                <?php foreach($characteristic_fieldvalues[$ch_id] as $val_id=>$val_name){?>
                    <input type="checkbox" name="extra_fields[<?php print $ch_id?>][]" value="<?php print $val_id;?>" <?php if (is_array($extra_fields_active[$ch_id]) && in_array($val_id, $extra_fields_active[$ch_id])) print "checked";?> onclick="document.jshop_filters.submit();" /> <?php print $val_name;?>
                <?php }?>
         
            <?php }?>
        <?php }?>
        </div>
    <?php } ?>

Просто замена checkbox на button не помогает.
это в модуле mod_jshopping_filters
Дозволь мне свершить то добро, которое я способен свершить, теперь, ибо я могу более не вернуться сюда.
*

dmitry_stas

  • Легенда
  • 13152
  • 1232 / 8
не совсем точно выразился. нужен инпут, значение которого способно передаваться в обработчик формы. button этого не умеет. так что либо скрытые инпуты, либо можно попробовать еще сделать кнопки не button, а input type=submit, так как value у submit передается, если задан name. это правда повлечет другие сложности, но можно попытаться
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

flychild

  • Новичок
  • 1
  • 0 / 0
Люди, привет, как в модуле mod_jshopping_filters заменить чекбоксы на кнопки, чтобы не галочки ставить, а кнопку нажал и фильтр сработал, замена checkbox на button не помогает.

Конечно можно.. jquery +css. все работает http://followdesign.com/development/2011/11/28/oformlenie-knopok-chekboksov-i-drugih-elementov-interfeysa.html
*

stparts

  • Захожу иногда
  • 109
  • 0 / 0
Понимаю что тема старая, но может кому-то поможет.
Нужно заменить код
Код
 <input type="checkbox" name="extra_fields[<?php print $ch_id?>][]" value="<?php print $val_id;?>" <?php if (is_array($extra_fields_active[$ch_id]) && in_array($val_id, $extra_fields_active[$ch_id])) print "checked";?> onclick="document.jshop_filters.submit();" /> <?php print $val_name;?><br/>
на
Код
<button name="extra_fields[<?php print $ch_id?>][]" value="<?php print $val_id;?>" onclick="document.jshop_filters.submit();"><?php print $val_name;?></button> 

Это для характеристик. Если нужно для производителя, то так же, только изменив параметры по примеру.
*

stparts

  • Захожу иногда
  • 109
  • 0 / 0
Теперь и я застрял. Подскажите, нужно заставить кнопку быть активной, при выборе нужной характеристики.
Для чекбокса код <?php if (is_array($extra_fields_active[$ch_id]) && in_array($val_id, $extra_fields_active[$ch_id])) print "checked";?>  я убрал, т.к. он не нужен для button.
Нужно изменить класс кнопки когда активна нужная характеристика.
Решил сделать это скриптом. Добавил в начале файла modules/mod_jshopping_filters/tmpl/default.php , сразу после стандартного скрипта, ещё один скрипт.
Код
<script type="text/javascript">
$(document).ready(function() {
$("#jshop_filters").on("click", ".jfilter_chek", function(){
   $(this).toggleClass("active");
});
}
</script>

Предварительно обернув button в <span class="jfilter_chek">. Скрипт должен добавлять к классу active.
Но потом понял, что работать и не будет, ведь страница обновляется.

Подскажите, ещё вариант задать другой класс кнопке активного элемента.
« Последнее редактирование: 26.08.2016, 22:25:38 от stparts »
*

dmitry_stas

  • Легенда
  • 13152
  • 1232 / 8
я вот не могу понять... зачем надо выдумывать велосипед с этими кнопками вместо того, чтобы чекбокс на CSS сделать в виде кнопки и все
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

stparts

  • Захожу иногда
  • 109
  • 0 / 0
Действительно, скрытым чекбоксом и CSS всё сделать проще.
Меняем
Код
<input type="checkbox" name="extra_fields[<?php print $ch_id?>][]" value="<?php print $val_id;?>" <?php if (is_array($extra_fields_active[$ch_id]) && in_array($val_id, $extra_fields_active[$ch_id])) print "checked";?> onclick="document.jshop_filters.submit();" /> <?php print $val_name;?><br/>

на
Код
<label><span class="button_checkbox"><input type="checkbox" hidden name="extra_fields[<?php print $ch_id?>][]" value="<?php print $val_id;?>" <?php if (is_array($extra_fields_active[$ch_id]) && in_array($val_id, $extra_fields_active[$ch_id])) print "checked";?> onclick="document.jshop_filters.submit();" /> <span><?php print $val_name;?></span></span></label>

в CSS прописываем стили и всё работает.
Код
.button_checkbox  input[type="checkbox"] + span {
  background: #df4040;
  color: #fff;
  text-shadow: none;
  padding: 8px 20px;
  font-size: 88%;
  display: inline-block;
  vertical-align: top;
  border: none;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  border-radius: 3px;
}


.button_checkbox  input[type="checkbox"]:checked + span {
  background: #515151;
  color: #fff;
  text-shadow: none;
  padding: 8px 20px;
  font-size: 88%;
  display: inline-block;
  vertical-align: top;
  border: none;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  border-radius: 3px;
}
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

JshoppingSearch - История запросов в модуле поиска

Автор shop-user

Ответов: 3
Просмотров: 253
Последний ответ 17.06.2020, 20:26:25
от sivers
Порядок вывода товаров в модуле Joomshopping Label Products

Автор shop-user

Ответов: 5
Просмотров: 1039
Последний ответ 14.11.2018, 12:26:27
от NewUsers
Порядок товаров в модуле label products

Автор shop-user

Ответов: 4
Просмотров: 457
Последний ответ 12.06.2018, 22:03:27
от shop-user
Как вывести характеристики в модуле последние товары?

Автор TommyDBrown

Ответов: 1
Просмотров: 573
Последний ответ 11.05.2017, 14:43:02
от dmitry_stas
Как вывести кнопку купить в модуле?

Автор viy

Ответов: 2
Просмотров: 608
Последний ответ 24.10.2016, 23:16:03
от nevigen