Как написать пользовательскую панель отображения категорий в magento - PullRequest
0 голосов
/ 29 ноября 2010

У меня есть категория под названием «Лучшие продукты». Я хочу отобразить это на панели на моей домашней странице. Каков наилучший способ сделать это в magento.

** редактировать **

Спасибо sdek, теперь у меня есть следующее. На домашней странице / Дизайн.

<block type="catalog/product_list" category_id="13"  template="catalog/product/featured.phtml"/>

И это отображение продуктов. Однако у меня есть следующие проблемы. - он не отображает продукты из category_id 13, кажется, что это значение не передается через - это только дисплей 2 продуктов. Я хочу отобразить все.

featured.phtml

<?php
    $_productCollection=$this->getLoadedProductCollection();
    $_helper = $this->helper('catalog/output');
?>
<?php if(!$_productCollection->count()): ?>
<p class="note-msg"><?php echo $this->__('There are no products matching the selection.') ?></p>
<?php else: ?>
<h2>Featured Products </h2>
    <?php $_collectionSize = $_productCollection->count() ?>
    <?php $_columnCount = $this->getColumnCount(); ?>
    <?php $i=0; foreach ($_productCollection as $_product): ?>
        <?php if ($i++%$_columnCount==0): ?>
        <ul class="product-grid">
        <?php endif ?>
            <li class="<?php if(($i-1)%$_columnCount==0): ?> first<?php else: ?> last<?php endif; ?>">
            <a class="product-image" href="<?php echo $_product->getProductUrl() ?>" title="<?php echo $this->stripTags($this->getImageLabel($_product, 'small_image'), null, true) ?>" >
            <img src="<?php echo $this->helper('catalog/image')->init($_product, 'thumbnail')->resize(85); ?>" class="product-img" alt="<?php echo $this->stripTags($this->getImageLabel($_product, 'small_image'), null, true) ?>" style="padding-bottom:20px; margin-bottom:20px;" />
            </a>
           <p><strong><?php echo $_helper->productAttribute($_product, $_product->getName(), 'name') ?></strong>
           <?php echo $_product->getShortDescription(); ?></p> 

            <?php echo $this->getPriceHtml($_product, true) ?>
            <a href="<?php echo $_product->getProductUrl() ?>" class="more">More details</a>
            </li>
        <?php if ($i%$_columnCount==0 || $i==$_collectionSize): ?>
        </ul>
        <?php endif ?>
        <?php endforeach ?>   
    <?php endif; ?

Ответы [ 2 ]

0 голосов
/ 30 ноября 2010

Расширение Featured Products, упомянутое clockworkgeek, является хорошей идеей.Но если вам не нравится этот вариант, проще всего добавить его на своей домашней странице. Cms {{block type = "catalog / product_list" category_id = "YOUR_CAT_ID" template = "catalog / product / YOUR_MODIFIED_COPY_OF_LIST.phtml"}}

А затем сделайте копию приложения / design / frontend / / / template / catalog / product / list.phtml (я упомянул выше как YOUR_MODIFIED_COPY_OF_LIST.phtml) и удалите две строки, которые говорят

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

и удаляют весь блок if, который выводит "режим списка" ... в основном оператор if

    <?php // List mode ?>
    <?php if($this->getMode()!='grid'): ?>

итам должен быть только код "режима сетки".

0 голосов
/ 30 ноября 2010

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...