遅いかな・・・。
Joomla!1.5では、SEFURLにするためにコンポーネントは、コンポーネント名HelperRoute, コンポーネント名ParseRouteなどという名前でメソッドを書かなければならない。ここで、Joomla!1.5のcom_contentのrouteや、routerを見てみると、かなりややこしいことをしている事がわかる。それは、一つのアイテムを複数のメニューで表示可能にしているからです。
Joomla!1.5の場合、View毎にメニューを割り当てること(実際にはViewの中にさらにレイアウトがある)ができるので同じアイテムを複数のメニューから参照できることになってしまいます。となると、そのアイテムを表示したいとき、どのメニューから表示すれば良いのか判断することは、非常に難しいことになります。
今作成しているコンポーネントでは、試しに一つのViewまたは、機能が異なるViewのみを作成し、レイアウトで振り分けを行うようにしています。メリットは、複雑なroute, routerを作成する必要が無いことでしょうか。そうすることにより、アイテムが表示されるメニューは、簡単に割り当てできるようになります。デメリットは、view.html.phpが、太ってしまうことですね。
今、思いついた。
そもそも、メニューとして作成できてしまうからこうするのであってメニューとして作成できないviewを作成できたら、問題ないか?・・・。・・・かもしれない。その方が楽かも。明示的にメニュー作成用のviewと内部で使うだけのviewを作成すれば、メニューは複雑にならないか・・・。









