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

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

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

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

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

関連するカスタマイズ

新しくテーブルを作ってエンティティと関連づける方法... 今回は非常に要望が多かった新しいテーブルを作ってエンティティとしてデータ取得をできるようにする方法をご紹介します。 この方法は3系のもので、まもなくリリースされるEC-CUBE4系では利用できませんのでご注意ください。 データベースの作成 ドクトリン定義ファイルの作成(dcm....
商品一覧のページネーションに「最初へ」「最後へ」を表示する方法... 商品一覧ページのページネーションはProduct/list.twigを見るとpagination.twigをインクルードすることで表示されています。 pagination.twigをのぞいて見ると「最後へ」の部分は次のようなコードが書かれています。 このリンクを表示するにはconfi...
ドクトリンで用いられるエンティティとレポジトリとは?... EC-CUBE3やEC-CUBE4で開発を行なっていると必ず耳にするのがドクトリンやエンティティ、レポジトリといったデータベース周りの用語です。 ECサイトはデータベースと密接に関係しているため、これらを用いずにEC-CUBEの開発を行うことは不可能です。 エンティティとレポジトリとは? ...
Composer is not installed. と表示される原因と解決方法... 新しくインストールしようとしてGitからソースを持ってきた時に画面上にComposer is not installed. だけ表示される場合がよくあります。 vendor配下のライブラリはgitignoreするのが一般的なので、git cloneしたソースに/vendor/ディレクトリが存在...