0

Magento で奇妙な問題が発生しました。1 つのカテゴリのすべての製品がスライダーに表示されるヘッダーにスライダーを追加したいと考えていました。そのために、fetured.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-->

その後、ヘッダーに製品を表示したかったので、catalog.xmlファイルapp/design/frontend/mytheme/default/layout/catalog.xmlに移動し、その中でこのように作成しました

<block type="page/html_wrapper" name="top.container" as="topContainer" translate="label">
  <label>Page Header</label>
    <block type="catalog/product_featured" name="catalog.product.featured" template="catalog/product/featured.phtml" />
      <action method="setElementClass"><value>top-container</value></action>
    </block>
 </block>

ここでは、スライダーのヘッダーに注目の製品カテゴリを表示するために、このようにしました。しかし、それは製品を表示していません。しかし、コードを次のように変更すると

<block type="page/html_wrapper" name="top.container" as="topContainer" translate="label">
      <label>Page Header</label>
        <block type="catalog/product_list" name="catalog.product.featured" template="catalog/product/featured.phtml" />
          <action method="setElementClass"><value>top-container</value></action>
        </block>

スライダーで商品を表示しています。ここで何が問題なのか誰か親切に教えてもらえますか?どんな助けや提案も本当に価値があります。ありがとう

4

1 に答える 1

0

最初のコードで製品が表示されない理由は、catalog/product_featuredブロック タイプとして を使用しているためです。
Magento は Block フォルダーからブロック ファイルを取得しようとしますが、Block フォルダーにないため失敗しFeatured.phpます。ブロックタイプとして
使用すると、 from ブロックフォルダーが検索され、結果が表示されます。 最初のコードを機能させたい場合は、Block フォルダーに Hope this Help. という名前のファイルを作成するだけです。catalog/product_listList.php
Featured.php

于 2013-08-17T11:48:37.983 に答える