web-dev-qa-db-ja.com

Joomlaモジュールを開発する方法?

私はこれについてのチュートリアルを遠くから探しましたが、満足のいくものを見つけることができないようです。 joomlaの新しいモジュールをどのように作成しますか?

現在、コード全体でカスタムHTMLモジュールを使用しています。PHPにアクセスして、それらをすべてモジュールにしたいのですが、見つかりませんでした。以前にインストールしたモジュールを変更しましたが、インストールするモジュールを作成する方法がわかりません。

Joomlaのドキュメントは非常にわかりにくく、何度か読んだ後、あきらめました。誰かがこのプロセスを私に説明するのを手伝ってくれる?ありがとう!

10
serakfalcon

Joomlaモジュール開発の学習

私が学んだ方法は、コアまたは他のサードパーティのモジュールを研究してカスタマイズすることでした。
概念としてのモジュールは、コンポーネント(2つのアプリのフロントエンド/バックエンドであると言うことができます)よりも単純で、情報の一部を表示するように設計されています。
そのため、モジュールのフォルダー/ファイルを開いてコードの読み取りを開始すると、おそらくすぐにそれに入るでしょう。

例によるJoomlaモジュールの構造

たとえば、Joomla 3.2でLatest Articles Moduleを開き、以下の行を読みながらコードを確認できます。モジュールのフォルダーには、4つの基本ファイルがあります。

1。 _mod_articles_latest.php_
2。 _helper.php_
3。 _tmpl/default.php_
4。 _mod_articles_latest.xml_

  1. _mod_articles_latest.php_はモジュールのメインファイルであり、モジュールが呼び出されたときに最初に使用されます。モジュールを初期化し、_helper.php_を含め、ヘルパーのクラスメソッドを呼び出してデータを取得し、最後にモジュールのテンプレート(_default.php_)を含めてデータを表示します。

  2. _helper.php_ファイルは、モジュールの「機械」です(名前を付けることができる場合)。ヘルパーでは、データを取得するためのモジュールのクラスとそのメソッドを作成します。これは、モジュールがデータベースと「対話」できる場所です。このモジュールのヘルパーファイルのコードを読むと、ModArticlesLatestHelper Classに1つのが含まれていることがわかります。Method:getList(&$params)
    このメソッド内で、モジュールはモジュールのバックエンド設定をチェックし、最終的に、これらの条件に基づいて、返される記事のリストを作成します。このモジュールは_JModelLegacy::getInstance_メソッドを使用してContent Model Objectを返すことに注意してください。

  3. _default.php_はモジュールのメインテンプレートであり、モジュールのコンテンツを表示します。 -ここでは、モジュールのクラスを呼び出して_mod_articles_latest.php_で以前に取得したデータを使用して、html出力を構築します。 tmplフォルダー内にあります。 *メインモジュールのファイルには、_JModuleHelper::getLayoutPath_メソッドを含むテンプレートファイルが含まれていることに注意してください。このメソッドは、最初にテンプレートのオーバーライドをチェックします。

  4. 最後に、_mod_articles_latest.xml_モジュールの「大使」のように呼びます。これは、インストール中にモジュールをJoomlaに「導入」するファイルであり、インストーラーによってコピーされるファイルを指定し、モジュールマネージャーによって使用されるモジュールのパラメーターに関する情報と追加情報も含まれていますモジュールについて。

これらは、基本的なモジュールの重要な部分です。あなたが考慮したいかもしれないもう一つの側面は、複数の言語のサポートです。これは Language Strings and Language Translation files を使用して実現できます。ここまでうまくいったとしたら、基本的なモジュールを作成するために、言語サポートを追加するのはかなり簡単でしょう。

17
FFrewin
15
Peter Wiseman

同じ目的で無料のモジュールを開発しました Custom PHP Joomla CMSのモジュール

PHPファイル、たとえば[website-root]/modules/mod_customphp/filesにlogin.phpを作成する必要があります。

  • 次に、このファイルを使用します
  • [バックエンド]-> module-managerに移動します
  • 新しいカスタムphpモジュールを作成する
  • パラメータにincludefile put login
  • これにより、モジュールにlogin.phpがレンダリングされます。
3
Shyam

ローカルインストールで既存のモジュールをコピーできます。次に、必要に応じて名前を変更します。また、phpファイルとxmlファイル、およびコード内のphpクラス名を変更する必要があります。次に、モジュールのZipファイルを作成します。 joomlaのインストールにインストールできるこのZipファイル。

名前の変更に関する詳細が必要ですか?

3
seagul