3

いくつかの理由から、このトピックの調査を開始しました...

1) コントローラーで繰り返しコードを減らすため 2) Web サイトで使用される 3 つのメイン レイアウト - 1 列、2 列、3 列のページを構成するには 3) 個別の部分ビュー ファイルを作成し、テンプレートに従ってそれらをロードできるようにするため(メインコンテンツ、ヘッダー、フッター、サイドバー)

私はこのトピックをグーグルで検索し、ユーザーフレンドリーなドキュメントを含む例をほとんど思いつきませんでした.いくつかのガイダンスを期待していました.

http://net.tutsplus.com/tutorials/php/an-introduction-to-views-templating-in-codeigniter/ by Sam Stevens は素晴らしいですが、各テンプレートの個々のビュー ファイルをロードするために必要なダイナミズムが欠けています。

Jens Segers によるhttps://github.com/jenssegers/CodeIgniter-Template-Libraryは、この不必要なウィジェットのマラーキーで私の人生を混乱させています。

http://philsturgeon.co.uk/blog/2009/12/CodeIgniter-Template-library by Phil Sturgeon は良さそうですが、ドキュメントやバグがないため、私のような初心者が立ち上げて実行するのは非常に困難です。

http://williamsconcepts.com/ci/codeigniter/libraries/template/index.html by William Concepts は、私が他のユーザーから評価できるものから見ると最高のようですが、すぐに使える状態ではありません。ヘッダーなどを 2 回定義しようとするとエラーが発生します。それは私にとってはうまくいきません。

誰かが私が達成しようとしているものを最もよく満たすライブラリ(または他のライブラリ)を教えてくれれば、例間をジャンプするのではなく、それを実装して理解することにすべての注意を払うことができます...

また、これらの例はすべて (元は) 何年も前のもの (Sam Steven のものではありません) であるように思われます。

4

3 に答える 3

0

このページのすべての例は維持されていません。CodeIgniter でテンプレートを作成するには、CI Template Parser Classを使用できますが、非常に無駄がありません。

それ以外の場合は、Smarty または Twig を使用できます。これらには、部分ビュー用の非常に強力な機能であるテンプレート継承があります。

テンプレートの継承は、オブジェクト指向プログラミング手法に似た、テンプレートを管理するためのアプローチです。テンプレートの一部を管理するために従来の {include ...} タグを使用する代わりに、あるテンプレートのコンテンツを別のテンプレートに継承し (クラスを拡張するなど)、その中のコンテンツのブロックを変更できます (クラスのメソッドをオーバーライドするなど)。これにより、各テンプレートにはそれが拡張するテンプレートとの違いのみが含まれるため、テンプレート管理が最小限かつ効率的に保たれます。テンプレートの継承により、サイトのすべての共通要素を含み、子テンプレートがオーバーライドできるブロックを定義する基本の「スケルトン」テンプレートを構築できます。

于 2015-05-03T18:05:04.257 に答える