Silverstripe Web サイトのすべての SiteTree ページを取得し、深さの降順で並べ替えたいと考えています。深さとは、彼らが持っている親の数を意味します。
これは、Google サイトマップ モジュールによってある程度行われています。10 の深さを超えず、検索から非表示のページを計算しないことを除いて: https://github.com/silverstripe-labs/silverstripe-googlesitemaps
Google サイトマップ モジュール モジュールを見ると、ページの親の数を簡単に数えられるように見えます ( /code/GoogleSitemapDecorator.php - 78 行目)。
$parentStack = $this->owner->parentStack();
$numParents = is_array($parentStack) ? count($parentStack) - 1: 0;
しかし、この計算を使用して SiteTree をソートする最良の方法は何ですか?
すべての SiteTree を取得し、深さを追加してから再利用するよりも簡単な方法があることを願っています。