在PS 1.6有一個Category
類,它包含在你的控制器使用一些方便的靜態方法:getCategories(...)
,getNestedCategories(...)
,getSimpleCategories
- 這些都是靜態的(公共)SOU你叫他們像Category::funcName(...)
你的目的我的事情最好的辦法是getNestedCategories()
它有這個頭:
public static function getNestedCategories(
$root_category = null,
$id_lang = false,
$active = true,
$groups = null,
$use_shop_restriction = true,
$sql_filter = '',
$sql_sort = '',
$sql_limit = ''
)
在你的控制器,你可以這樣做:
$allCategories = Category::getNestedCategories(null, $this->context->language->id);
$this->context->smarty->assign('allCategories' , $allCategories);
然後在你的模板文件類似
{foreach from=$allCategories item=mainCategory}
<div class="categoryBox">
<h2>{$mainCategory.name}</h2>
<p>{$mainCategory.description}</p>
</div>
{foreach from=$mainCategory.children item=subCategory}
<div class="categoryBox">
<h3>{$subCategory.name}</h3>
<p>{$subCategory.description}</p>
</div>
{/foreach}
{/foreach}
如果你想有家庭類的唯一的子類別,你可以使用getHomeCategories($id_lang, $active = true, $id_shop = false)
:
$allCategories = Category::getHomeCategories($this->context->language->id);
還方便的一個是靜態功能getCategoryInformations($ids_category, $id_lang = null)
=>非常有用w母雞你有你想要得到類別的某些特定ID的列表 - 你只是將它們作爲陣列 - 例如用法:
$myCustomCatIDs = array(5 , 20 , 7);
$myCustomCats = Category::getCategoryInformations($myCustomCatIDs);
雖然這種聯繫可以回答這個問題,最好是包括的基本部分。這裏的答案和提供的鏈接供參考。如果鏈接頁面更改,則僅鏈接答案可能會失效。 – Sasa 2014-10-31 15:07:44