次の問題があります。メニューに表示されるいくつかのリンク(「ポートフォリオ」の子)は、カスタムコントローラーへのリンクです。もちろん、現在、LinkingModeはそのリンクでは使用できません。それはメニューの画像です:
したがって、Portfolioの子(Webサイト、アプリケーションなど)は、実際には、SiteTree表現を持たないCategory-DataObjectsです。ポートフォリオのサブメニューは、データベースで見つかったすべてのカテゴリをチェックしてループすることで作成されます。
メニューの作成は次のようになります。
<ul>
<% loop Menu(1) %>
<li class="$LinkingMode">
<a href="$Link">[$LinkingMode] $MenuTitle.XML</a>
<% if Children %>
<ul class="secondary">
<% if ClassName == 'ProjectsPage' %>
<% loop $Top.Categories %> <!-- loop all found categories, every found item links to the custom category controller -->
<li class="$LinkingMode"><a href="category/show/$Slug">$Name</a></li>
<% end_loop %>
<% else %>
<% loop Children %>
<li class="$LinkingMode"><a href="$Link"><span class="text">$MenuTitle.XML</span></a></li>
<% end_loop %>
<% end_if %>
</ul>
<% end_if %>
</li>
<% end_loop %>
</ul>
メニュー内のすべてのカテゴリ(Webサイト、モバイル)は、基本的に次のように見えるカスタムコントローラーにリンクしています。
class Category_Controller extends Page_Controller {
public function show($arguments) {
return $this; //there will be more code to display all projects of a category
}
}
ポートフォリオページにどのリンクモードがあるかを通知するCategory_Controllerのカスタムコードを追加する必要があると思います...
多くのthx、フロリアン