Как отправить параметры в расширенный поиск в Magento? - PullRequest
1 голос
/ 26 июля 2010

У меня есть следующая форма поиска в Magento:

<form action="catalogsearch/advanced/result/" method="get" id="form-validate"> 

<input name="name" type="text" id="textfield" value="" /> 

<select name="platform" id="select"> 
      <option value='6'>XBox</option>
      <option value='5'>XBox 360</option>
</select>

<input type="submit" name="button" id="button" value="Search" /> 

</form>

Обратите внимание, что поле «платформа» является атрибутом продукта. В то время как поле «имя» является названием продукта.

Независимо от того, что я ищу, на странице результатов всегда указывается «По следующим критериям поиска ничего не найдено»

Я вижу, что передаются два параметра:

результат / имя = Logitech & платформы;? = 5

Даже если я изменю это на следующее, оно не будет работать:

результат / имя = Logitech и платформа = XBox

Изменение этого значения также не работает:

результат /? = Имя Logitech

Продукт есть в базе данных, которую я проверил. Что я делаю не так?

Спасибо

1 Ответ

0 голосов
/ 27 июля 2010

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

Ваш код атрибута должен быть «платформой», чтобы это работало.

<?
 $product = Mage::getModel('catalog/product');
 $attributes = Mage::getResourceModel('eav/entity_attribute_collection')
         ->setEntityTypeFilter($product->getResource()->getTypeId())
         ->addFieldToFilter('attribute_code', 'platform');
 $attribute = $attributes->getFirstItem()->setEntity($product->getResource());
 $_platforms = $attribute->getSource()->getAllOptions(false);
 ?>
<select onchange="location.href='<?php echo $this->getUrl('catalogsearch/advanced/result') . '?platform[]='; ?>'+this.value;">
   <option selected><?php echo $this->__('Search by platform') ?></option>
    <?php foreach($_platforms as $_platform) : ?>
   <option value="<?php echo $_platform['value']; ?>"><?php echo $_platform['label']; ?></option>
    <?php endforeach; ?>
  </select>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...