dongpiao0731 2013-01-21 14:34
浏览 10
已采纳

在主页magento上随机化和限制类别拇指

The following code simply displays the category thumbs for all subcategories in "category 12" im looking for a way to limit this number to 6 categories and have it be a random selection of those categories.

    <ul class="brand_list">
        <?php $media = Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_MEDIA); ?>
        <?php $children = Mage::getModel('catalog/category')->getCategories(12);   ?>
        <?php foreach ($children as $category): ?>
            <?php $category = Mage::getModel('catalog/category')->load($category->getId()); ?>
            <li class="span3">
                <a href="<?php echo $category->getUrl(); ?>">
                    <img alt="<?php echo $category->getName(); ?>" src="<?php echo $media; ?>/catalog/category/<?php echo $category->getThumbnail(); ?>" />
                </a>
            </li>
        <?php endforeach; ?>
    </ul>

i've used similar code before for products using the following two pieces of code:

<?php $collection->getSelect()->order('rand()'); ?>

<?php $_columnCount = $this->getColumnCount(); ?>
<?php $i=0; foreach ($collection->getItems() as $category): if($i==6){break;}?>
<?php if ($i++%$_columnCount==0): ?> 
<?php endif ?>

i have tried recoding this to suit the category thumbs but i don't seem to be having any joy.

  • 写回答

1条回答 默认 最新

  • douzou0073 2013-01-21 17:06
    关注

    The solution to your question is bellow. I wouldn't use mysql rand() function since it's quite slow.

    <ul class="brand_list">
      <?php 
        $media = Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_MEDIA);
        $parentCategory = Mage::getModel('catalog/category')->load(12);
        $children = Mage::getModel('catalog/category')
                      ->getCollection()
                      ->addIdFilter( array_rand( array_flip( $parentCategory->getAllChildren( true ) ), 6) )
                      ->addAttributeToSelect('name')
                      ->addAttributeToSelect('thumbnail');
      ?>
      <?php foreach ($children as $category): ?>
        <li class="span3">
          <a href="<?php echo $category->getUrl(); ?>">
            <img alt="<?php echo $category->getName(); ?>" src="<?php echo $media; ?>catalog/category/<?php echo $category->getThumbnail(); ?>" />
          </a>
        </li>
      <?php endforeach; ?>
    </ul>
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 Oracle中如何从clob类型截取特定字符串后面的字符
  • ¥15 想通过pywinauto自动电机应用程序按钮,但是找不到应用程序按钮信息
  • ¥15 MATLAB中streamslice问题
  • ¥15 如何在炒股软件中,爬到我想看的日k线
  • ¥15 51单片机中C语言怎么做到下面类似的功能的函数(相关搜索:c语言)
  • ¥15 seatunnel 怎么配置Elasticsearch
  • ¥15 PSCAD安装问题 ERROR: Visual Studio 2013, 2015, 2017 or 2019 is not found in the system.
  • ¥15 (标签-MATLAB|关键词-多址)
  • ¥15 关于#MATLAB#的问题,如何解决?(相关搜索:信噪比,系统容量)
  • ¥500 52810做蓝牙接受端