0

我正在尝试将magento“排序依据”下拉选项移动到“每页显示X”下拉列表旁边。我已经有些成功了。

在toolbar.phtml文件(Template/catalog/product/list/toolbar.phtml)中,我使用了“sort-by”类的div并将其及其内容移动到“pager”div中(相同的文件( toolbar.phtml)),我还修改了 css 以使其看起来正确。

现在,如果我访问我网站中的任何页面,顶部工具栏没有任何功能,但底部工具栏没问题?!?!?

即使在 list.phtml 中它们被同一行调用-->

<?php echo $this->getToolbarHtml() ?>

任何人都知道是什么原因造成的?

我的工具栏代码如下

<div class="toolbar">
    <div class="pager">
        <p class="amount">
            <?php if($this->getLastPageNum()>1): ?>
                <?php echo $this->__('Items %s to %s of %s total', $this->getFirstNum(), $this->getLastNum(), $this->getTotalNum()) ?>
            <?php else: ?>
                <strong><?php echo $this->__('%s Item(s)', $this->getTotalNum()) ?></strong>
            <?php endif; ?>
        </p>

            /****** This div was moved from below ******/
        <div class="sort-by">
            <label><?php echo $this->__('Sort By') ?></label>
            <select onchange="setLocation(this.value)">
            <?php foreach($this->getAvailableOrders() as $_key=>$_order): ?>
                <option value="<?php echo $this->getOrderUrl($_key, 'asc') ?>"<?php if($this->isOrderCurrent($_key)): ?> selected="selected"<?php endif; ?>>
                    <?php echo $this->__($_order) ?>
                </option>
            <?php endforeach; ?>
            </select>
            <?php if($this->getCurrentDirection() == 'desc'): ?>
                <a href="<?php echo $this->getOrderUrl(null, 'asc') ?>" title="<?php echo $this->__('Set Ascending Direction') ?>"><img src="<?php echo $this->getSkinUrl('images/i_desc_arrow.gif') ?>" alt="<?php echo $this->__('Set Ascending Direction') ?>" class="v-middle" /></a>
            <?php else: ?>
                <a href="<?php echo $this->getOrderUrl(null, 'desc') ?>" title="<?php echo $this->__('Set Descending Direction') ?>"><img src="<?php echo $this->getSkinUrl('images/i_asc_arrow.gif') ?>" alt="<?php echo $this->__('Set Descending Direction') ?>" class="v-middle" /></a>
            <?php endif; ?>
        </div>
        <div class="limiter">
            <label><?php echo $this->__('Show') ?></label>
            <select onchange="setLocation(this.value)">
            <?php foreach ($this->getAvailableLimit() as  $_key=>$_limit): ?>
                <option value="<?php echo $this->getLimitUrl($_key) ?>"<?php if($this->isLimitCurrent($_key)): ?> selected="selected"<?php endif ?>>
                    <?php echo $_limit ?>
                </option>
            <?php endforeach; ?>
            </select> <?php echo $this->__('per page') ?>
        </div>

        <?php echo $this->getPagerHtml() ?>



    </div>

    <?php if( $this->isExpanded() ): ?>
    <div class="sorter">
        <?php if( $this->isEnabledViewSwitcher() ): ?>
        <p class="view-mode">
            <?php $_modes = $this->getModes(); ?>
            <?php if($_modes && count($_modes)>1): ?>
            <label><?php echo $this->__('View as') ?>:</label>
            <?php foreach ($this->getModes() as $_code=>$_label): ?>
                <?php if($this->isModeActive($_code)): ?>
                    <strong title="<?php echo $_label ?>" class="<?php echo strtolower($_code); ?>"><?php echo $_label ?></strong>&nbsp;
                <?php else: ?>
                    <a href="<?php echo $this->getModeUrl($_code) ?>" title="<?php echo $_label ?>" class="<?php echo strtolower($_code); ?>"><?php echo $_label ?></a>&nbsp;
                <?php endif; ?>
            <?php endforeach; ?>
            <?php endif; ?>
        </p>
        <?php endif; ?>
    /****** Div moved from here ******/

    </div>
    <?php endif; ?>
</div>
4

1 回答 1

1

是的,正如你所说,可能会有 div 覆盖。因此,您的顶部工具栏位于透明 div 下,它会阻止鼠标单击触发器。链接到该页面将有助于更快地找到问题。

于 2012-11-28T00:29:21.843 回答