Magento: выпадающие списки категорий в расширенном поиске - PullRequest
0 голосов
/ 19 февраля 2011

Я пытаюсь изменить форму расширенного поиска, чтобы в ней было 2 раскрывающихся списка: одно для родительской категории и второе для ее подкатегорий. Нужен ли мне Javascript для заполнения 2-го, так как я не просто хочу перечислить все подкатегории, что у меня сейчас есть:

<li>
  <select name="model" id="category_search_field1">
    <option value="">-- Model --</option>
    <?php foreach ($this->getStoreCategories() as $_category): ?>
      <?php if($_category->hasChildren()): ?>
        <?php foreach ($_category->getChildren() as $subcategory):
          if($subcategory->getIsActive()) : ?>
            <option value="<?php echo $subcategory->getId(); ?>"<?php echo ($this->getRequest()->getQuery('category') == $subcategory->getId() ? ' selected="selected"': "") ?>><?php echo $subcategory->getName(); ?></option>
       <?php endif; endforeach; ?>
      <?php endif; ?
    <?php endforeach ?>
  </select>
</li>

<li>
<label for="region_id"<?php if ($this->isStateProvinceRequired()) echo ' class="required"' ?>><?php if ($this->isStateProvinceRequired()) echo '<em>*</em>' ?><?php echo $this->__('State/Province') ?></label>
                <div class="input-box">
                    <select id="region_id" name="region_id" title="<?php echo $this->__('State/Province') ?>" style="display:none;"<?php echo ($this->isStateProvinceRequired() ? ' class="validate-select"' : '') ?>>
                        <option value=""><?php echo $this->__('Please select region, state or province') ?></option>
                    </select>
                   <script type="text/javascript">
                   //<![CDATA[
                       $('region_id').setAttribute('defaultValue',  "<?php echo $this->getEstimateRegionId() ?>");
                   //]]>
                   </script>
                   <input type="text" id="region" name="region" value="<?php echo $this->htmlEscape($this->getEstimateRegion()) ?>"  title="<?php echo $this->__('State/Province') ?>" class="input-text" style="display:none;" />
               </div>
            </li>
        <?php //endif; ?>`

1 Ответ

1 голос
/ 20 февраля 2011

Javascript определенно поможет улучшить пользовательский опыт, скрывая подкатегории, которые не соответствуют родительской категории.Убедитесь, что вы используете Prototype для этой задачи, а не добавляете библиотеки jQuery!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...