【问题标题】:Magento: Category Dropdown Boxes in Advanced SearchMagento:高级搜索中的类别下拉框
【发布时间】:2011-02-19 20:41:18
【问题描述】:

我正在尝试编辑我的高级搜索表单,使其具有 2 个下拉框:一个用于父类别,第二个用于其子类别。我是否需要 Javascript 来填充第二个,因为我不只是想列出我目前拥有的所有子类别:

<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; ?>`

【问题讨论】:

    标签: search magento drop-down-menu categories


    【解决方案1】:

    Javascript 肯定会通过隐藏与父类别不匹配的子类别来帮助改善用户体验。确保您使用 Prototype 来完成任务,而不是添加 jQuery 库!

    【讨论】:

    • 我已经在 Magento 代码中找到了类似的方法。但我以前从未用过 Javascript 编程。我如何将第二种方法(上面添加)应用于我的子类别下拉框?
    猜你喜欢
    • 2018-09-08
    • 2014-10-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-20
    • 1970-01-01
    • 2021-05-01
    相关资源
    最近更新 更多