ホームページ >バックエンド開発 >PHPチュートリアル >Joomla のタスクとビューの詳細な学習、joomlatask_PHP チュートリアル

Joomla のタスクとビューの詳細な学習、joomlatask_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-13 09:52:421032ブラウズ

Joomla、joomlatask のタスクとビューの詳細な学習

[この記事はMengxi Notesからの転載です]

Joomla のタスクとビューの詳細な学習、joomlatask_PHP チュートリアル

Joomla は、Web サイトの構築を迅速に完了できる優れた CMS システムで、Web サイトのニーズのほとんどを満たすコンポーネント、モジュール、テンプレートを提供します。これにはコンポーネントが重要な役割を果たします。

1.基礎知識

Component(コンポーネント)はページのメインデータを表示するために使用されます。 Joomla のコンポーネントは、MVC アーキテクチャを使用して設計されています。 ページ要求が生成されると、その URL にはタスク、ビュー、レイアウト、その他の情報が含まれる場合があります。ここでは、このタスクとビューについて説明します。一般に、URL にタスクが含まれている場合、ビューは含まれません。これは、Joomla がデータベース操作、有効性検証などの特定のタスクを完了すると考えているためです。データの表示を担当します。通常の設計では、タスク内でのタスク処理が完了した後、setRedirect メソッドが呼び出され、データを表示するビューに誘導されます。実際、Joomla では、URL でタスクが指定されていない場合、デフォルトのタスクは表示になります。

2. 質問

プロジェクトでは、ページのメタデータにオープングラフィックプロトコルデータを含める必要があります。オープン グラフィック プロトコルは、共有するデータの説明をソーシャル ネットワークに提供するために使用されます。 ページがタスクを通じて完了し、タスク内で setRedirect を使用して認可検証のデータに基づいて別のビューにジャンプし、検証に合格した後にデータ ページを表示すると、次の問題が発生する可能性があります。共有する このページでは、このページのメタデータにオープン グラフィック プロトコル データを追加しました。これを Facebook や Google+ などのソーシャル ネットワーキング サイトに共有したい場合、データと写真が表示されます。共有ページは、ページに表示したいデータではありません。

3. 解決策

上記の問題は、オープン グラフィック プロトコルのデータ取得がジャンプをサポートしていないためです。ジャンプが発生した場合、通常は Web サイトのホームページにアクセスしてデータを取得することになりますが、これは私たちが望んでいることではありません。問題はsetRedirectです。 setRedirect の原理は、ブラウザに送信される HTML ヘッダーにジャンプ命令が含まれるということです。上記の問題を解決する方法は、setRedirect を使用するのではなく、display メソッドを使用することです。各 JControllerLegacy には、入力に渡したいビュー、レイアウト、その他のデータを設定してから、表示方法ができます。

サンプルコードは次のとおりです:

リーリー

上記のコードはコントローラーに書かれています。 InternalRedirect 関数は、$input でビューとレイアウトを設定し (この入力は URL の入力パラメーターを参照します)、JControllerLegecy の表示メソッドを直接呼び出してページを表示します。

checkAvailable メソッドでは、internalRedirect を呼び出す前に、ビューに必要な他のパラメーターも設定されます。

Mengxi の友人は、彼の Web サイトの 1 つを構築しているときにそのような問題に遭遇したと言いました。私たちは Joomla の実装コードについて話し合い、分析したところ、Joomla コンポーネントの開発に精通している限り、解決策は実際には非常に簡単であることがわかりました。ご質問がございましたら、何でもご相談ください

この記事があなたが遭遇した問題を解決できることを願っています。

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/1007361.html技術記事 Joomla のタスクとビューの詳細な研究、joomlatask [この記事は、Mengxi Notes から転載されています] Joomla は、Web サイトの構築を迅速に完了できる優れた CMS システムです...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。