0

我是 Magento 的新手。目前我正在做一个主题。我想展示特色类别的所有产品。为此,我完成了一个名为featred.phtmlinside 的文件/app/design/frontend/mytheme/default/template/catalog/product。的代码featured.phtml是这样的

<?php $cat_id = 35; ?>
<?php $category = Mage::getModel('catalog/category')->load($cat_id);?>
<?php $collection = $category->getProductCollection()->addAttributeToSort('position');?>
<?php Mage::getModel('catalog/layer')->prepareProductCollection($collection);?>
<?php  $i=0; foreach ($collection as $_product):?>
<?php if($i++%7==0): ?>
 <div class="container">
  <div id="da-slider" class="da-slider">
  <?php endif ?>
  <div class="da-slide">
    <h2 class="product-name"><?php echo $this->htmlEscape($_product->getName()) ?></h2>
    <p class="price"><?php echo $formattedSpecialPrice = Mage::helper('core')->currency($_product->getFinalPrice(),true,false);?></p>
    <p><?php echo $_product->_data['short_description']; ?> </p> <br />

    <a class="da-link" href="<?php echo $_product->getProductUrl() ?>">Shop Now</a>

    <div class="da-img"><img src="<?php echo $this->helper('catalog/image')->init($_product, 'small_image')->resize(90, 90); ?>" width="120" height="120" alt="<?php echo $this->htmlEscape($_product->getName()) ?>" /></div>

    <!--.da-img-->

   </div><!--.da-slide-->
   <?php endforeach ?>
    <nav class="da-arrows">
      <span class="da-arrows-prev"></span>
      <span class="da-arrows-next"></span>
    </nav><!--.da-arrows-->
  </div><!--#da-slider-->
 </div><!--.container-->

现在,我在这里得到了特色产品。之后,我想在标题中显示所有特色产品。为此,我已经page.xml(app/design/frontend/mytheme/default/layout)像这样阻止了

<block type="catalog/product_featured" name="product.featured" as="topSlider" translate="label">
  <label>Page Slider</label>
  <action method="setElementClass"><value>top-slider</value></action>
</block>

现在我header.phtml像这样调用那个块

<?php echo $this->getChildHtml('topSlider'); ?>

但毕竟这一切,我在我的主页或任何其他页面上都看不到任何特色产品。那么有人可以告诉我如何解决这个问题吗?任何帮助和建议都将是非常可观的。谢谢

4

1 回答 1

0

会有几个问题:

  1. 你创建了 Block-ClassMage_Catalog_Block_Product_Featured吗?setTemplate in layout.xml1.a 您可以通过我希望您在 Block-Class 中执行此操作来分配模板!
  2. <reference> tag (should be header)您通过上述布局声明在什么中添加块?
  3. layout.xml active at all吗?
  4. 你的design package set in System->Configuration(我会从“base”开始,意思是 base/yourtheme )?
  5. 您的模板中的代码是否实际被调用 - 也许它只是一个empty collection?
于 2013-08-17T13:53:44.463 回答