カテゴリーエンティティにはいくつか開発の上で便利なメソッドが用意されています。
例えば、getParent()は自分の直接の親カテゴリーを取得することができますし、getDescendants()は自分の子供カテゴリーを全て取得することができます。

それでは、あるカテゴリーの最も上位のカテゴリー(ルートカテゴリ)を取得するにはどうすれば良いでしょうか?

答えは、getParent()メソッドでひたすら遡る!です。
このメソッドをEccube\Entity\Categoryに用意しておくと、twigで{% set RootCategory = Category.RootCategory %}のような形で
ルートを取得することができ、非常に便利です。

自分が最も上位のカテゴリーの場合には、自分をそのままreturnします。
src/Resource/Eccube/Entity/Category.phpにメソッド追加

EC-CUBEを運営・開発されている方はぜひお試しください!

関連するカスタマイズ

Twig内で文字列の一部分を切り出す方法 Slice使用... twigテンプレート内で文字列の一部を切り出したい時があります。 そんな時はsliceフィルタを使用してtwig内だけで切り出しを実行することが可能です。 2文字目以降を切り出す(1文字目を削除) sliceフィルタの第1引数は開始位置です。 sliceフィルタにはシンタックスシ...
メーカープラグインのメーカー一覧を取得する方法... メーカープラグインを使用される方が多いと思います。 メーカーの一覧を表示したい場合は次のようにメーカープラグインのレポジトリクラスでfindByすることで取得が可能です。 Controllerなどで使える実際のコード 全件取得するのでfindByの第1引数は空の配列、第2引数はソート順...
基本税率を切り捨て、切り上げ、四捨五入に変更... 開発メンバー全員のルールを揃えておくことが重要です。 dtb_tax_ruleテーブルのcalc_ruleの設定値は次の表の通りです。 calc_rule 方式 1 四捨五入 2 切り捨て 3 切り上げ これをマイグレーションで...
新しくテーブルを作ってエンティティと関連づける方法... 今回は非常に要望が多かった新しいテーブルを作ってエンティティとしてデータ取得をできるようにする方法をご紹介します。 この方法は3系のもので、まもなくリリースされるEC-CUBE4系では利用できませんのでご注意ください。 データベースの作成 ドクトリン定義ファイルの作成(dcm....