ありがとうございます!
上記、試してみます。
階層構造のトピックリストで、選択されたトピックではなく最上位のカテゴリーを表示したい
2017年11月7日 at 11:06
以前から、トピックリストの表示や検索を質問しておりますが、
トピックの表示についても問題が出てきました……。
下記のようなトピックを設定しています。
(商品分類1は3階層、他は2階層)
---
カテゴリー
- 商品分類1
-- ブランドで探す
--- トピック1
--- トピック2
--- トピック3
-- 素材で探す
--- トピック4
--- トピック5
-- 作りたいもので探す
--- トピック6
--- トピック7
- 商品分類2
-- トピック8
-- トピック9
-- トピック10
- 商品分類3
-- トピック11
-- トピック12
-- トピック13
---
この状態で、ページリストで表示した際に
・商品分類1→ブランドで探す→トピック1 が選択されている場合、「商品分類1」を表示
・商品分類2→トピック8 が選択されている場合、「商品分類2」を表示
と、選択されているトピックではなく、最上位のカテゴリーを表示する必要が出てきました。
こちら、階層構造が違う場合でも、表示する方法があるのでしょうか……?
タグ:
Your post has been saved and will be published after approval by the forum moderator.
takuro hishikawa
Re: 階層構造のトピックリストで、選択されたトピックではなく最上位のカテゴリーを表示したい
if (isset($topics) && count($topics)) {
/** @var \Concrete\Core\Tree\Node\Type\Topic $topic */
foreach ($topics as $topic) {
/** @var \Concrete\Core\Tree\Node\Type\Topic $parents */
$parents = $topic->getTreeNodeParentArray();
$topic = array_values(array_slice($parents, -2))[0];
echo $topic->getTreeNodeDisplayName();
}
}