Сорри за долгое отсутствие... обещал выложить файлы как решить все сии проблемы исключительно средствами шаблона.. в принципе получилось, но - получилась чес гря х**** и очень большая хоть и давно..
решаемая задача
Есть категории товаров (например мебель для персонала), и субкатегории (класс - бизнес, эконом и прочая)
есть товар (марка мебели) - в каждой категории соотвественно много товаров - у товара есть свой набор фотографий красивых - их надо выводить
у товара есть дочерние товары (конкретные мебелятины - стол, тымбочка, шкаф, еще там чего)
у дочерних товаров есть настраиваемые поля - причем обязательно "атрибут корзины" - это выбор цвета - поскольку от того какого цвета стол зависит его цена..
все собсвтенно решил через шаблон... только даже на хостинге средней паршивости мое решение грузит проц неимоверно... если например смотрим страницу товара... тут же надо вывести дочерние товары с возможностью добавить в корзину и при этом у каждой дочки выбрать цвет... если дочек штук 50 (далеко не предел) и у каждой по 5 полей - получается 250 запросов к БД для вывода одной страницы...
проблема 2 - прайсы приходят в разных ценах причем хитрых - не всегда напрямую курс валюты - а например по какому то собственному курсу поставщика который отличается от банковского - ну это собственно ерунда решается вводом дополнительных несуществующих валют. кроме того - поставщики присылают прайсы не в виде Цвет1 - цена 1, Цвет2 - ЦенаЦвет1+наценка (как типа работает VirtueMart - прибавляет цену к основной) - а сразу в цене конечного цвета - при достаточно частой смене цен перелопачивание прайсов и приведение их в подходящий для загрузки вид (то есть чтобы цены отличались по принципу сложить-отнять от базовой цены) превращается в сущий ад в несколько дней работы... собственно данная проблема тоже решается выставление цены основного и дочернего товара в 0 - тогда конечная цена будет формироваться исключительно из цены, указанной в настраиваемом поле.
Но и это еще не все! !цена, указанная в настраиваемых полях (которая должна прибавляться типа к основной цене товара) - не конвертиться! то есть если мы выберем в настраиваемом поле цвет допустим синий у которого цена указана 300 (пофиг в какой валюте) - то эти 300 и прибавятся к цене основного товара уже подвергшейся конвертации..
подробнее
Мебель "Амазон"... дочка "стол приставной" основная цена 75 долларов... основная валюта сайта - рубли.. при выводе цена на стол конвертиться и получается скажем 75*30 = 2250 руб.
настраиваемы поля - цвет синий + 5 долларов, цвет зеленый + 12 долларов... при выводе товара после выбора настраиваемого поля получится цена 2250 + 5 = 2255 руб! а не 75*30 + 5*30 = 2400!
собственно эту проблему тоже решил без хака чисто средствами шаблона... увеличив в три раза количество запросов к БД - на каждое настраиваемое поле получается добавляется по два запроса - поскольку готовых процедур работающих с одним запросом в коде VirtueMart просто нет... точнее они недоступны из шаблона - не публичны...
так что решение есть но толку с него как бы и нет - в рабочем сайте использовать нельзя... хрень получается..
я и не использовал.. вернулся вообще к предыдущему сайту на Joomla 1.5 сделанному три года назад где все давным похакано под требования заказчика...