Связанные атрибуты

Автор kulich, 28 сентября 2013, 19:53:03

« назад - далее »

kulich

Привет. Нужно создать связанные атрибуты - пытаюсь понять, можно ли сделать стандартными средствами магазина.
Нужно чтоб при выборе первого атрибута - менялись возможные варианты второго атрибута и так далее. Цена на товар формируется связкой из примерно 7 атрибутов.

Как пример.


Хочу, чтоб при выборе первого цвета, размер L вообще не отображался.

kulich

#1
Товар на сайте электронный и будет всего один с кучей комбинаций. Так что в принципе я могу вручную прописать кол-во ноль для несуществующих комбинаций. Осталось сделать так, чтоб они не отображались.
Но еще мне бы хотелось для этой каждой длинной комбинации сразу задавать итоговую цену, а не сидеть и вычислять что же прописывать в каждом атрибуте "Влияние на цену" чтоб в итоге у всех комбинаций всё вышло хорошо

kulich

С ценой затупил - можно сразу общую поставить.

kulich

12 просмотров - ноль ответов, печалька :)

coder

Цитата: kulich от 29 сентября 2013, 10:49:02
12 просмотров - ноль ответов, печалька :)
В другой же теме ответили, в стандарном варианте не сделать. Модуль нужен. Attribute Wizard

kulich

Если честно, то мне жалко на него денег ради одной такой функции. У меня валяется Attribute wizard pro, но он для престы 1.4. Я мельком смотрел его, но конкретной связи атрибутов я там не увидел.

coder

ЦитироватьУ меня валяется Attribute wizard pro
Вот его и переделать можно.

kulich

Откопал таки Attribute Wizard Pro для 1.5. Но разобраться умеет ли он связывать аттрибуты пока не могу. Нашел тему http://www.prestashop.com/forums/topic/184213-%D1%81%D0%BA%D1%80%D1%8B%D1%82%D1%8C-%D0%BD%D0%B5%D0%B4%D0%BE%D1%81%D1%82%D1%83%D0%BF%D0%BD%D1%8B%D0%B5-%D0%B0%D1%82%D1%80%D0%B8%D0%B1%D1%83%D1%82%D1%8B/
Вроде не может. В переделывании модулей я не силен. Может кто помочь? Могу скинуть модуль или может быть поменяться на Attribute Order или Attribute Wizard.

kulich

Покопался еще. Вроде ни один из этих модулей не решает толком проблему. И это печально.

mAgency

В описании модуля Attribute Wizard Pro написано, что можно создавать связанные поля.
Интернет-магазин под ключ.
Какой выбрать движок для интернет магазина ?
Какой движок лучше ?
Magento или Prestashop ?
Решение всех Ваших вопросов в создании Интернет-магазина.

kulich

Автор ответил, что ПРО версия не может этого делать. Поставил обычную версию на 1.4. Короче очень коряво работает. Решил сделаю как-нибудь через про. НАчал делать, создал комбинации, указал везде кол-ва. На странице товара пишет, что кол-во ноль. Есть кто пользовался модулем и в чем могут быть проблемы? :)

Виталий

Цитата: kulich от 09 октября 2013, 13:19:56
Автор ответил, что ПРО версия не может этого делать.
Если сам автор написал, что не может, то модуль нужно переделывать. В таком случае лучше написать свой только под создание связанных полей.
Cоздание интернет сайтов Webstudio UwK

kulich

Скажите, сколько на ваш взгляд будет стоить такой модуль, если заказать?

Adik

Примерно можно оценить так, стоимоить подобного модуля умножить на 10.
Это только приблизительно. Как договоришься.

Sykoku

#14
Вроде-бы получилось для 1.5.6.

\themes\default\js\product.js

В скрипте был нюанс - вызов перерисовки вызывался несколько раз при смене набора атрибутов (кол-во атрибутов + 1 раз) и с задержкой 500 мс срабатывает проверка Url и его перерисовка. Если Вам лень было давать имена атрибутам, то все они рисуются прочерками с косой чертой и процедура проверки, естественно, считает, что Вы вручную меняли адрес и просто находит в списке атрибутов первый попавшийся с такими же параметрами - черточками и заставляет все перерисовываться заново. И так получаем вечный цикл. Чтобы этого не происходило, вводим доп. флажок и при первой такой проверке url просто игнорируем возврат "старых" настроек для атрибута. Флажок, естественно, сбрасываем .

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

"Но".
Первый изменяемый признак имеет более высокий статус, поэтому для смены нижестоящих атрибутов приходится прибегать к уловке - найти группу атрибутов, отличную от текущей, в которой минимальный ключ отличия. Поэтому данный признак отбора неприменим, если набор по умолчанию совпадает с выбором пользователя и окно выбора - ссылка (например, цвет). Это происходит потому, что в начале не выбран набор атрибутов. Пришлось искусственно его выбирать  (но не отрисовывать в виде /-/-_/-_ ) и записать номер набора в переменную страницы.

Если работает не только у меня - здорово.

P.S.

По ходу дела выяснилась пара интересных моментов:
1  Break из цикла не работает - пришлось использовать do - while
2  Пытался сделать Break  на Label и получил полный крах (Я знаю, что использование переход дурной тон. И в коде их нет.)
3  Все переменные взаимосвязаны. Если счетчик массива превысит его размер, то, почему-то, опросить его размер уже не получится, хотя обращения к самому массиву по индексу нет.