この質問には、基本的に、テンプレートグループとテンプレートをコントローラーのように動作させ、JSONのようなデータを出力するようにするという答えがあります。
これは、ExpressionEngineでこれを行う正しい方法ですか?または、Ajaxを実行するためのネイティブでより「自然な」方法はありますか?
この質問には、基本的に、テンプレートグループとテンプレートをコントローラーのように動作させ、JSONのようなデータを出力するようにするという答えがあります。
これは、ExpressionEngineでこれを行う正しい方法ですか?または、Ajaxを実行するためのネイティブでより「自然な」方法はありますか?
ここでの最善のアプローチは、使用しているデータによって異なる可能性があります。コアチャネルエントリモジュールからJSON形式のコンテンツを出力する場合は、RobSanchezのExpressionEngineJSONプラグインを使用することをお勧めします。
カスタムビルドのモジュールを使用している場合は、それをもう少し拡張して、JSONメソッドを実装することもできます。たとえば、ウィジェットモジュールがある場合は、json()
その中にメソッドを作成し、を介してテンプレート内でそれを利用できます{exp:widgets:json var="foo"}
。