Я показываю 10 продуктов на своей домашней странице, но мне нужно разделить 5,5.

Я хочу делать

<div class="item active">1-5 Products</div>
<div class="item">5-10 Products</div>

Текущие коды

<?php
$_helper = $this->helper('catalog/output');
$_productCollection = Mage::getResourceModel('reports/product_collection')
                ->addAttributeToSelect('*')
                ->setVisibility(array(2,3,4))                   
                ->setOrder('created_at', 'desc')
                ->setPageSize(10);
$count = $_productCollection->count();
?>

Как мне это сделать?

1
Gökhan YILDIZ 28 Мар 2014 в 12:30
Я думаю, вы можете просто выполнить эту задачу, просто поместите $i в цикл foreach и увеличьте для каждого продукта и проверьте условие, если ($i<5), тогда оно будет отображаться в другом div
 – 
Keyur Shah
28 Мар 2014 в 13:18
Но
или
вне foreach.
 – 
Gökhan YILDIZ
28 Мар 2014 в 13:35

2 ответа

Лучший ответ

Я думаю, вы можете добиться этого, но вы также можете попробовать простое решение

<?php
$_helper = $this->helper('catalog/output');
$_productCollection = Mage::getResourceModel('reports/product_collection')
                ->addAttributeToSelect('*')
                ->setVisibility(array(2,3,4))                   
                ->setOrder('created_at', 'desc')
                ->setPageSize(10);
$count = $_productCollection->count();
?>

    <div class="item active">
    <?php
        $i=0;
        $flag=false;
        foreach($_productCollection as $product)
        {
            if($i<5) 
            {  
            ?>
             <div class="lpitem">product <?php echo $i;?></div>
             <?php   $i++;
            ?>
            <?php 
            }
            else
            {
                if($i==5)
                {  
                    $flag=true;
                ?>
            </div>
            <div class="item">
                <?php 
            }?>
            <div class="lpitem">product <?php echo $i;?></div>
              <?php  $i++;
            ?>  
            <?php }
        }

    ?>
</div>    

Сообщите мне, работает ли он для вас или нет

1
Keyur Shah 28 Мар 2014 в 14:58
Мой план листинга:
продукт 1
продукт 2
продукт 3
продукт 4
продукт 5
продукт 6
продукт 7
продукт 8
продукт 9
продукт 10
поэтому ваши коды не работают
 – 
Gökhan YILDIZ
28 Мар 2014 в 14:46
Пожалуйста, проверьте сейчас, просто вставьте в свой файл php и запустите этот файл, он работает, я проверяю свою сторону
 – 
Keyur Shah
28 Мар 2014 в 15:00

Попробуйте этот код:

$_helper = $this->helper('catalog/output');
$_productCollection = Mage::getResourceModel('reports/product_collection')
                ->addAttributeToSelect('*')
                ->setVisibility(array(2,3,4))                   
                ->setOrder('created_at', 'desc')
                ->setPageSize(10);
$count = $_productCollection->count();
<?php if($count):?>
<?php $i=0;foreach($_productCollection as $_product):?>
    <?php $product = Mage::getModel('catalog/product')->load($_product['entity_id']);?>
    <?php if($i%5==0): ?>
        <div class="item <?php if($i>5){?>active<?php }?>">
    <?php endif ?>
        echo $product->getName();
    <?php if($i%5==0): ?>
        </div>
    <?php endif ?>
<?php endforeach;?>
<?php endif;?>

Это может вам помочь.

0
Mohit Kumar Arora 28 Мар 2014 в 14:18