2009-12-24 5 views
0

Я создал атрибуты; «Магазин по типу» и «Магазин по цвету». Они отлично работают в многослойной навигации и расширенном поиске. Я разработал графику и разместил ее на домашней странице и хотел бы связать ее с соответствующими продуктами соответствующего атрибута. Был поиск в Интернете, но до сих пор не удалось.Как направить ссылку на набор атрибутов?

Если нет прямого способа, следующий метод будет создавать страницы cms и напрямую связываться с ним. Как я могу отображать продукты, назначенные для определенного атрибута? В частности, типы «множественного выбора».

Я знаю, что вы, ребята, предпочитаете хотя бы некоторые попытки, но, как уже упоминалось, играли с ним без везения. Я был бы признателен за какую-то отправную точку.

Счастливые праздники!

Редактировать: Мне удалось собрать этот код, в котором перечислены все продукты, присвоенные указанному идентификатору категории. Пытался отфильтровать его там, где он отображает только те продукты, у которых есть назначенный одинаковый атрибут. Есть идеи?

<?php 
$cat_id = 123; // category id 
$category = Mage::getModel('catalog/category')->load($cat_id); 

$_products = $category->getProductCollection() 
->addAttributeToSelect('shop_by_color'); 

if (($this->getProductCollection()) && $_products->getSize()): ?> 

Кстати, $cat_id является подкатегорию корня. Есть ли более простой способ указать на него вместо использования прямого идентификационного номера?

ответ

0

Я не знаю, если это точный ответ, который вы ищете, но вы должны изменить

$_products = $category->getProductCollection()->addAttributeToSelect('shop_by_color'); 

в

$_products = $category->getProductCollection() 
->addAttributeToSelect('shop_by_color') 
->addAttributeToFilter(array('attribute'=>'shop_by_color', 'in'=>array('red', 'blue', ...))); 

так, что он перечисляет только продукт, где их shop_by_color является одним данной константы. Это зависит от вас, чтобы вытащить их из URL-адреса или строки запроса, и вы получаете базу для динамических страниц, показывающую только продукты, соответствующие одному из входных цветов.

+0

Спасибо, Зеоград. Я попробовал ваш метод, немного поработал над ним и по какой-то причине продолжал получать «Invalid Attribute Error». Он не распознает «shop_by_color». Я вернусь к нему в конце дня и дам вам знать, получим ли я решение. Мы ценим любые предложения. – monocat

+0

Предлагаю отладить сгенерированный sql с Mage :: log ($ _ products-> getSelect() -> __ toString()); если ошибка не была слишком ранней. – Zeograd

Смежные вопросы