[РЕШЕНО] Зависимые поля атрибутов!
Приветствую всех друпалчан!
На форуме уже не однократно поднимался этот вопрос, но я так и не нашел ответа. Целый день и гуглил и яндексил, без толку. Нужно сделать зависимые поля в атрибутах товара.
Например (нужно чтоб второй select был скрыт по умолчанию и появлялся при выборе опции из первого селекта) выбираю тип бумаги "Матовый" и появляется возможность выбрать ламинацию:
<option selected="selected" value="">Тип бумаги</option>
<option value="3">Глянец</option>
<option value="4">Матовый</option>
<option value="5">Холст</option>
</select>
<select id="edit-attributes-2" name="attributes[3]">
<option selected="selected" value="8">Ламинация</option>
<option value="7">Глянцевая</option>
<option value="6">Матовая</option>
</select>
Модуль ubercart. Такая тема поднималась здесь http://www.drupal.ru/node/63553 и здесь http://www.drupal.ru/node/22092 но я толком так ничего не понял и ничего и не нашел!
Я пробовал организовать это через Ubercart Dependent Attributes но чтото не разобрался в нем!
Мне очень горит, кто нибудь отзовитесь!!!
- Блог
- Войдите или зарегистрируйтесь, чтобы отправлять комментарии
Комментарии
Я сделал через это...
http://drupal.org/project/uc_dropdown_attributes
О спасибо! Щас попробую!))
Получилось! Спасибо большое! Если б еще к классам присоединить, чтоб не создавать для каждого товара отдельно!
Но все равно спасибо за модуль, очень выручил!!!
Получится (про классы), незабудь рассказать как...
Обязательно!
Обещал написать, если разберусь с вопросом. С вопросом тем путем, что предполагал не разобрался, нашел другое решение. Заказал у одного программёра скрипт, он мне быстро его склепал, отдал за него 30$. Скрипт применяется только для уже созданных атрибутов с присвоенными айдишниками и тд. Лучше всего вклеивать на страницу полной ноды. Кому надо, берите:
Задача: Есть три типа бумаги для печати фотографий. Нужно чтоб при выборе Матовой бумаги или глянцевой выпадали два атрибута (Ламинация и Пластификация) с опциями, а при выборе Холста, первые два атрибута обратно скрывались и появлялся третий атрибут (Вскрытие лаком).
Вот кусок HTML формы с атрибутами, чтоб по нему ориентироваться.
<select id="edit-attributes-2"">
<option selected="selected" value="">Выберите тип бумаги</option>
<option value="3">Глянец</option>
<option value="4">Матовый</option>
<option value="5">Холст</option>
</select>
</div>
<div class="attribute-3">
<select id="edit-attributes-3">
<option selected="selected" value="8">Без ламинации</option>
<option value="7">Глянцевая</option>
<option value="6">Матовая</option>
</select>
</div>
<div class="attribute-6">
<select id="edit-attributes-6">
<option selected="selected" value="13">Не пластифицировать</option>
<option value="14">3 мм</option>
<option value="15">5 мм</option>
</select>
</div>
<div class="attribute-5">
<select id="edit-attributes-5">
<option selected="selected" value="13">Вскрытие лаком</option>
<option value="10">Без лакировки</option>
<option value="11">С лакировкой</option>
</select>
</div>
И в соответствии с классами созданных атрибутов, разработан Скрипт. Он гибкий и его можно подобрать под любой список атрибутов.
// по умолчанию скрыты селекторы, которые потом нужно будет показать
$(".attribute-3,.attribute-5,.attribute-6").hide();
//Селектор от которого зависят скрытые
$("#edit-attributes-2").change(function(){
var selectedValue = $(this).val();
// не выбрано значение, скрыть все селекторы
if(selectedValue == undefined || selectedValue == "")
{
$(".attribute-3,.attribute-5,.attribute-6").hide();
}
// выбран глянец(option-3) или матовый(optio-4)
else if(selectedValue == 3 || selectedValue == 4)
{
$(".attribute-3,.attribute-6").slideDown('slow').show();//Показать два селектора
$(".attribute-5").hide(); //Третий селектор по прежнему скрытый
}
// выбран холст (option-5)
else if(selectedValue == 5)
{
$(".attribute-5").slideDown('slow').show(); //Третий селектор открывается
$(".attribute-3,.attribute-6").slideUp('slow').hide(); //два первых селектора скрываются
}
});
});
Неуже нельзя было сделать через http://drupal.org/project/uc_dropdown_attributes ?
У меня была задача выбрать категорию ткани (1,2,3) и в зависимости от категории выпадал нужный список...
Ну да ладно, у каждого свои задачи и своя реализация, а за код спасибо, может кому и згодится.
Успехов !!!
P.S. Блин тормознул. Ты ведь не хотел перелапачивать все товары... Тогда твой подход оправдан.
Через http://drupal.org/project/uc_dropdown_attributes сделать можно было, да только не охота было мне за это выкладывать 9000 р. Сам ведь я не такого уровня программер, чтоб модули разрабатывать.