Где только не искал, где только не писал. Сам бьюсь уже неделю. В основном Filter Pro удовлетворяет все запросы, однако видоизменяет страницу вывода товара (особенно если стиль ее изменен по отношению к дефолту). Что только не пробовал: кое что получалось, но переставал работать фильтр. Другие фильтры то ли не удовлетворяют нуждам, а некоторые "глючат". Правда есть один который еще не пробовал, но хотелось бы разобраться с Filter Pro (если это возможно).
FilterPro использует JQuery template, хабр. Шаблон находится в самом конце файла catalog\view\theme\default\template\module\filterpro.tpl. А стили применены стандартные(глобальные).
Это я уже понял. Это тоже сообразил (конечно не без помощи форумчан). Однако простая замена одного другим ничего не решает. Я понял, что за вывод "шаблона" продукта отвечает код: Код: <script id="productTemplate" type="text/x-jquery-tmpl"> <div> {{if thumb}} <div class="image"><a href="${href}"><img src="${thumb}" title="${name}" alt="${name}"/></a></div> {{/if}} <div class="name"><a href="${href}">${name}</a> <div class="extra" style="color: #444;"> {{if sku}} <span style="color:#38b0e3"><?php echo $pds_sku; ?></span> ${sku} <br/> {{/if}} {{if model}} <span style="color:#38b0e3"><?php echo $pds_model; ?></span> ${model} <br/> {{/if}} {{if brand}} <span style="color:#38b0e3"><?php echo $pds_brand; ?></span> ${brand} <br/> {{/if}} {{if location}} <span style="color:#38b0e3"><?php echo $pds_location; ?></span> ${location} <br/> {{/if}} {{if upc}} <span style="color:#38b0e3"><?php echo $pds_upc; ?></span> ${upc} <br/> {{/if}} {{if stock}} <span style="color:#38b0e3"><?php echo $pds_stock; ?></span> ${stock} <br/> {{/if}} </div> </div> <div class="description">${description}</div> {{if price}} <div class="price"> {{if special }} <span class="price-old">${price}</span> <span class="price-new">${special}</span> {{else}} ${price} {{/if}} {{if tax}} <br/> <span class="price-tax"><?php echo $text_tax; ?> ${tax}</span> {{/if}} </div> {{/if}} {{if rating}} <div class="rating"><img src="catalog/view/theme/default/image/stars-${rating}.png" alt="${reviews}" /></div> {{/if}} <div class="cart"><a onclick="addToCart('${product_id}');" class="button"><span><?php echo $button_cart; ?></span></a></div> <div class="wishlist"><a onclick="addToWishList('${product_id}');"><?php echo $button_wishlist; ?></a></div> <div class="compare"><a onclick="addToCompare('${product_id}');"><?php echo $button_compare; ?></a></div> </div> </script> К примеру меня интересует: Код: <div class="description">${description}</div> Но где (частично в контроллере), а главное как (из чего) формируеться ${description} --- добавлено: Apr 1, 2013 5:40 PM --- А еще в папке catalog\view\theme\default\template\product\ лежит файл filter.tpl. Зачем он нужен? И без него все работает.
Все формируется в контроллере catalog\controller\module\filterpro.php. в массив $result[]. Последняя строка $this->response->setOutput($json); форматирует массив данных в формат json. У меня строка 'description' => $description, заккоментирована, не помню, сам я делал это или нет...
Я так понимаю, что фильтр, самостоятельно формирует эти массивы используя свою собственную модель (которая похожа на дефолт), причем работает то нормально по "list" чем по "grid". Значит получается, что бы получить такой же стиль, нужно "пилить" контроллер и "модель".
Да, я так и делал. Но мне пришлось пилить только контроллер, чтобы вывести дополнительные изображения к товарам. А "list" я вообще убрал.
Жаль. Ладно подождем, может кто-что предложит. Ну а потом может и сам что придумаю (попробую). А мне для этого (для атрибутов): halfhope - понравилось: выбор миниатюр в товаре.
Да уж столкнулся тоже с проблемой, купил себе фильтр, а теперь еще пришлось доплатить разработчику, чтоб он допиливал под мой видоизмененный стандартный шаблон.
Да такой же Filter Pro, сам не смог допилить, сортировка не работает стандартная (сортируется норм в первую секунду, подгружается фильтр и сбрасывает на свои настройки), да и кнопки купить и подробнее в категории не работают. Получается сперва грузится category.tpl, спустя секунду filterpro.tpl уже со своими настройками сортировки, дизайна и прочего.
Жду готовый результат от разработчика. Прошло 9 дней, пока что ответ не получил. Когда получу результат, могу поделиться.
По Filter Pro, я прочитал всю поддержку. Но на этот вопрос так никто ничего толком и не ответил, хотя такой вопрос задавался. Ну что же ждем. Будем весьма признательны. А нет то сами допилим.
Ничего сложного, просто по схеме своего шаблона, делаете аналогичные вставки в шаблон фильтра. Например: Это: {{if thumb}} = <?php if ($product['thumb']) { ?> Это: ${price} = <?php echo $product['price']; ?> И так далее... Ну и нестандартные переменные должны быть добавлены в контроллер фильтра, если они нужны.
Означает ли это, что в клиентской части полностью заменяю (шаблон, контроллер и модель) соответствующими и все получиться? Наверное все же нужно практиковаться. Попробую.
Открыть свой tpl и tpl фильтра, сравнивая их различия от самого начала вывода товаров, переносить недостающие строки, менять местами, удалять, короче делать так, чтобы после всего структура была одинаковой, за разницей того, что переменные в фильтре должны быть в том виде, в котором указал выше.
Пример кусок кода: Код: <div><?php if ($product['thumb']) { ?> <div class="image"><a href="<?php echo $product['href']; ?>"><img src="<?php echo $product['thumb']; ?>" title="<?php echo $product['name']; ?>" alt="<?php echo $product['name']; ?>" /></a></div> <?php } ?> <div class="name"><a href="<?php echo $product['href']; ?>"><?php echo $product['name']; ?></a></div> он же в фильтре: Код: <div>{{if thumb}} <div class="image"><a href="${href}"><img src="${thumb}" title="${name}" alt="${name}"/></a></div> {{/if}} <div class="name"><a href="${href}">${name}</a></div>
привет всем) подскажите пожалуйста как сделать такую вещь я программист с++ / php но не работал с шаблонами jquery никак не могу понять как реализовать такую задачу я приведу пример непонятного участка на пхп задача - если цена товара 0 (0.00 грн.), то выводить не цену, а некий текст. имеем код Код: div class="price"> {{if special }} <span class="price-old">${price}</span> <span class="price-new">${special}</span> {{else}} ${price} //тут нужны изменения {{/if}} {{if tax}} <br/> <span class="price-tax"><?php echo $text_tax; ?> ${tax}</span> {{/if}} </div> а нужно мне такое: div class="price"> {{if special }} <span class="price-old">${price}</span> <span class="price-new">${special}</span> {{else}} // пишу на понятном мне php // вложенный if if ( $price != 0) echo $price; else echo "some text"; {{/if}} {{if tax}} <br/> <span class="price-tax"><?php echo $text_tax; ?> ${tax}</span> {{/if}} </div> по сути не могу получить переменную $price чтоб сравнить ее с нулем подскажите пожалуйста