Magento CMS页面侧面导航 - 需要排序列表

时间:2015-02-19 11:35:28

标签: php magento sorting

我正在使用此代码在Magento中创建动态丢失的CMS页面;它工作正常,但我喜欢按字母顺序排序,我无法弄清楚如何做到这一点

    <?php
$cmsPages = Mage::getModel('cms/page')->getCollection()
            ->addStoreFilter(Mage::app()->getStore()->getId())
            ->addFieldToFilter('is_active',1)
            ->addFieldToFilter('identifier', array(
                array(
                    'nin' => array(
                            'home',
                            'no-route',
                            'enable-cookies',
                            'thank-you',
                            'home-demo',
                            'empty'
                        )
                    )
                )
            );

?>

<style type="text/css">
    #cms-navigation a.active { color: red; }​
</style>
<script type="text/javascript">
jQuery.noConflict();
jQuery(document).ready(function() {
    var url = window.location.pathname,
    urlRegExp = new RegExp(url.replace(/\/$/,'') + "$");
    jQuery('#cms-navigation a').each(function(){
        if(urlRegExp.test(this.href.replace(/\/$/,''))){
            jQuery(this).addClass('active');
        }
    });
 });
 </script>

<div class="block">
    <div class="block-title">
        <strong><span>CMS Navigation</span></strong>
    </div>
    <div class="block-content">
        <ul id="cms-navigation" style="padding: 10px;">
            <?php    



            foreach($cmsPages as $_cms):
                    $page = $_cms->getData();
                    //sort ($_cms->getData('title'));

                ?>
                <li><a href="<?php echo $this->getBaseUrl() . $page['identifier']; ?>"><?php echo $_cms['title']; ?></a></li>
                <?php

                 endforeach;

                 ?>

        </ul>
    </div>
</div>

你可以看到我在评论排序的过程中所做的一切,我已经尝试过我能想到的一切,但现在我有点难过了。

非常感谢任何可以提供帮助的人

1 个答案:

答案 0 :(得分:0)

您可以使用从Varien_Data_Collection_Db超类继承的setOrder()方法

$cmsPages = Mage::getModel('cms/page')->getCollection()
        ->addStoreFilter(Mage::app()->getStore()->getId())
        ->addFieldToFilter('is_active',1)
        ->addFieldToFilter('identifier', array(
            array(
                'nin' => array(
                        'home',
                        'no-route',
                        'enable-cookies',
                        'thank-you',
                        'home-demo',
                        'empty'
                    )
                )
            )
        )
->setOrder('title','ASC');