2013-08-03 1 views

답변

1

당신은 모듈을 생성하고 당신이 그것을 보여주고 싶은 제품 후크에 후크해야한다. 후크 함수에

{if isset($products) AND $products} 
     <div class="block_content"> 
      {assign var='liHeight' value=250} 
      {assign var='nbItemsPerLine' value=4} 
      {assign var='nbLi' value=$products|@count} 
      {math equation="nbLi/nbItemsPerLine" nbLi=$nbLi nbItemsPerLine=$nbItemsPerLine assign=nbLines} 
      {math equation="nbLines*liHeight" nbLines=$nbLines|ceil liHeight=$liHeight assign=ulHeight} 
      <ul style="height:{$ulHeight}px;"> 
      {foreach from=$products item=product name=homeFeaturedProducts} 
       {math equation="(total%perLine)" total=$smarty.foreach.homeFeaturedProducts.total perLine=$nbItemsPerLine assign=totModulo} 
       {if $totModulo == 0}{assign var='totModulo' value=$nbItemsPerLine}{/if} 
       <li class="ajax_block_product {if $smarty.foreach.homeFeaturedProducts.first}first_item{elseif $smarty.foreach.homeFeaturedProducts.last}last_item{else}item{/if} {if $smarty.foreach.homeFeaturedProducts.iteration%$nbItemsPerLine == 0}last_item_of_line{elseif $smarty.foreach.homeFeaturedProducts.iteration%$nbItemsPerLine == 1} {/if} {if $smarty.foreach.homeFeaturedProducts.iteration > ($smarty.foreach.homeFeaturedProducts.total - $totModulo)}last_line{/if}"> 
        <a href="{$product.link}" title="{$product.name|escape:html:'UTF-8'}" class="product_image"><img src="{$link->getImageLink($product.link_rewrite, $product.id_image, 'home_default')}" height="{$homeSize.height}" width="{$homeSize.width}" alt="{$product.name|escape:html:'UTF-8'}" />{if isset($product.new) && $product.new == 1}<span class="new">{l s='New' mod='homefeatured'}</span>{/if}</a> 
        <h5><a href="{$product.link}" title="{$product.name|truncate:50:'...'|escape:'htmlall':'UTF-8'}">{$product.name|truncate:35:'...'|escape:'htmlall':'UTF-8'}</a></h5> 
        <div class="product_desc"><a href="{$product.link}" title="{l s='More' mod='homefeatured'}">{$product.description_short|strip_tags|truncate:65:'...'}</a></div> 
        <div> 
         <a class="lnk_more" href="{$product.link}" title="{l s='View' mod='homefeatured'}">{l s='View' mod='homefeatured'}</a> 
         {if $product.show_price AND !isset($restricted_country_mode) AND !$PS_CATALOG_MODE}<p class="price_container"><span class="price">{if !$priceDisplay}{convertPrice price=$product.price}{else}{convertPrice price=$product.price_tax_exc}{/if}</span></p>{else}<div style="height:21px;"></div>{/if} 

         {if ($product.id_product_attribute == 0 OR (isset($add_prod_display) AND ($add_prod_display == 1))) AND $product.available_for_order AND !isset($restricted_country_mode) AND $product.minimal_quantity == 1 AND $product.customizable != 2 AND !$PS_CATALOG_MODE} 
          {if ($product.quantity > 0 OR $product.allow_oosp)} 
          <a class="exclusive ajax_add_to_cart_button" rel="ajax_id_product_{$product.id_product}" href="{$link->getPageLink('cart')}?qty=1&amp;id_product={$product.id_product}&amp;token={$static_token}&amp;add" title="{l s='Add to cart' mod='homefeatured'}">{l s='Add to cart' mod='homefeatured'}</a> 
          {else} 
          <span class="exclusive">{l s='Add to cart' mod='homefeatured'}</span> 
          {/if} 
         {else} 
          <div style="height:23px;"></div> 
         {/if} 
        </div> 
       </li> 
      {/foreach} 
      </ul> 
     </div> 
    {else} 
     <p>{l s='No featured products' mod='homefeatured'}</p> 
    {/if} 

그리고이 코드 : 모듈에서
당신은 TPL 파일에이 코드를 사용한다

$category = new Category(Context::getContext()->shop->getCategory(), (int)Context::getContext()->language->id); 
     $nb = (int)(Configuration::get('HOME_FEATURED_NBR')); 
     $products = $category->getProducts((int)Context::getContext()->language->id, 1, ($nb ? $nb : 10)); 

     $this->smarty->assign(array(
      'products' => $products, 
      'add_prod_display' => Configuration::get('PS_ATTRIBUTE_CATEGORY_DISPLAY'), 
      'homeSize' => Image::getSize('home_default'), 
     )); 
관련 문제