私はかなり長い間個人的な cms プロジェクトに取り組んできました。その理由は、プロジェクトごとに新しい db レイヤーとコンポーネントを最初から作成するのに疲れていたからです。それで、zend フレームワークで小さな cms を開始することにしました。
menus
これで、ユーザー (将来のクライアント)がroutes
などを作成するサイトを管理し、データベースに格納されている実際のページを参照できるようにする必要があるポイントに到達しました。
私のプロジェクトでは、記事、コンテンツ、ギャラリーなどのモジュールがいくつかあります。記事とページを分離しました。記事の場合は非常に簡単だと思います。
したがって、ページはテーブルに保存され(htmlタグ付き)、ビューに挿入されます。ルートが含まれているため、作成されたメニューZend_Navigation
とデータベース内の実際のページをリンクする方法について混乱し始めました。たとえば、次のようなメニューです。
about us products contact us
the team productname 1 local
mission statement productname 2 international
のような異なるルートで
/about-us /products/list /contact-us
/about-us/team /products/productname1 /contact-us/local
/about-us/mission /products/productname2 /contact-us/international
すべてのページが単一のテーブルからのものであり、PageController の単一のビューを介してレンダリングされることに注意してください。
具体的な質問はどこにありますか:
質問 1このアプローチはまったく機能しますか?
質問 1.1ない場合、より優れたデザインは何ですか?
質問 2 Zend_Navigation はどこに保存されますか? ユーザーがルートとメニューを変更するためのインターフェースが必要だからです。
質問 2.1 Zend_Config_Xml_Writer を使用してもよろしいですか?
質問 2.2はいの場合、それはベスト プラクティスですか?