2017-04-20 17 views
2

私の店には多くの商品カテゴリがあり、その中には商品がありません。私はそれらのリンクを消したいので、ユーザーはそれらを見ることができますが、製品なしでカテゴリを探索する時間を失うことはありません。prestashopカテゴリリストの製品情報を取得

しかし、カテゴリ内の製品数を取得することはできません。私はこれを試しましたが、それは私に403エラーを与える

$.get('/themes/theme/product.tpl', function(r){ 
    var obj = $(r).find('body'); 
    var PageText = $(r).find('.center_indent').text(); 
    if (PageText===""){alert("yes")} 
    else {alert("no")} 
}); 

誰も考えているのですか?私は、サブカテゴリの配列を作ることができなかったがわかったので、私は、CATEGORYクラスに機能を追加しました::

public static function countProductInCat($id_category) 
{ 
    $category = new Category($id_category, 1); 
    $productCount = $category->getProducts(1, 1, 10000, null, null, true); 
    return $productCount; 
} 

そして、私はそれを呼ばれる私はPrestaShopので1.6.1.9

編集]を働いていますカテゴリdescription.tplファイル:

{if (Category::countProductInCat($subcategory_id)) > 0} 
     <a href="{$link->getCategoryLink($subcategory.id_category,$subcategory.link_rewrite)|escape:'html':'UTF-8'}"></a>                
{else} 
    <span style="opacity:0.3;background:#999"></span> 
{/if} 

答えて

0

(その単一のカテゴリまたはループ内でも)私はかなり変更するテンプレートいるかわからないが、あなたは、Smartyの中categoryオブジェクトへのアクセス権を持っている場合このように製品の存在をテストすることができます:

{if count($category->getProducts()) > 0} 
    {link .....} 
{else} 
    {$category->getName()} 
{/if} 
+0

これをカテゴリ記述に入れてみましたが、それは私にサーバーエラーをもたらします。 –

+0

変更するテンプレートは何ですか? –

+0

category-description.tpl。私は {もしカウント($ subcategory-> getProducts())> 0} {他}

{/ IF} –

関連する問題