Prestashopテーマのカテゴリページに兄弟カテゴリをリストする必要があります。現在、兄弟カテゴリではなく、サブカテゴリが表示されます。
簡単な答えをいただければ幸いです。ありがとう。
Prestashopテーマのカテゴリページに兄弟カテゴリをリストする必要があります。現在、兄弟カテゴリではなく、サブカテゴリが表示されます。
簡単な答えをいただければ幸いです。ありがとう。
開始するには、CategoryController.phpという名前のオーバーライドファイルを/ override /controllers/に作成します。
そしてこれを追加します:
<?php
class CategoryController extends CategoryControllerCore
{
public function displayContent()
{
// Get the global smarty object.
global $smarty;
// Get current category's parent.
$parent_category = new Category($this->category->id_parent, self::$cookie->id_lang);
// Get parent category's subcategories (which is current category's siblings, including it self).
$category_siblings = $parent_category->getSubCategories((int)self::$cookie->id_lang)
/* Assign your siblings array to smarty. */
$smarty->assign(
array(
"category_siblings" => $category_siblings
)
);
/* This we run the normal displayContent, but pass the siblings array to
category.tpl */
parent::displayContent();
}
}
?>
私はこれを行うための基本的な方法です、私はそれを取得することをテストしていません。兄弟のリストに現在のカテゴリをリストしない方法を見つける必要があります。
コードが機能する場合は、category_siblingsという名前のcategory.tplに配列があります。たとえば、サブカテゴリを出力するcategory.tplのコードをコピーし、サブカテゴリarraをcategory_siblings配列に置き換える必要があります。
ありがとう-うまくいきます!
配列から現在のカテゴリを削除する必要はありません。アクティブとしてマークするだけです。category.tplを編集し、foreachサブカテゴリでループ挿入する必要があります。
<li {if $category->id == $subcategory.id_category}class="active"{/if}>
その非常に素晴らしいナビゲーションハック!もう一度ありがとう