1
我已经花了好几个小时,并可以使用第二双眼睛。我正在使用Magento并希望打印类别的“文本层次结构”。例如:Magento和递归
Default Category > Weightlifting Bars & Plates > Bars
我的文本正在重复。这里是我的击穿应该是什么样子
CATEGORY_NAME(top_category,sub_category1,sub_sub_category1,sub_sub_sub_category3等)
这里是我有:
Default Category (Default Category)
Weightlifting Bars & Plates (Default Category > Weightlifting Bars & Plates)
Bars (Default Category > Weightlifting Bars & Plates > Bars)
Men's 20kg Bars (Default Category > Weightlifting Bars & Plates > Bars > Men's 20kg Bars)
Women's 15kg Bars (Default Category > Weightlifting Bars & Plates > Bars > Men's 20kg Bars > Women's 15kg Bars)
Junior 10k Bars (Default Category > Weightlifting Bars & Plates > Bars > Men's 20kg Bars > Women's 15kg Bars > Junior 10k Bars)
Technique Bars (Default Category > Weightlifting Bars & Plates > Bars > Men's 20kg Bars > Women's 15kg Bars > Junior 10k Bars > Technique Bars)
注意到它开始复制后“男士20公斤酒吧“。这是因为变量没有被重置。
这里是我的代码:
function print_tree($tree, $level, $category, $root_id, $print_category) {
$r = $root_id;
$cat = $category;
$level++;
foreach($tree as $item) {
if ($item['name'] == "Default Category" || $r != '') {
if ($level == 1) {
$cat = $item['name'];
}
else {
$cat .= " > " . $item['name'];
}
$parent_id = ($r != '' ? $r : $item['category_id']);
echo str_repeat(" ", $level) . $item['name'] . " (" . $cat . ")<br/>";
$this->print_tree(
$item['children'],
$level,
$cat,
$parent_id,
$print_category
);
}
}
return;
}
什么就说:
$string = Mage::helper('googlemerchant/data')->print_tree($tree['children'], 0, 'Default Category', 0, $cat->getName());
不注意$ print_category。这是我用于其他用途的变量。 我知道它的逻辑错误,而不是Magento错误。代码工作正常。
欣赏帮助。谢谢。