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


10

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

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

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

回答:


17

Joomlaモジュール開発の学習

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

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

たとえば、以下の行を読みながら、Joomla 3.2で最新記事モジュールを開いてそのコードを確認できます。モジュールのフォルダーには、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(私たちはそれに名前を付けることができれば)ファイルには、モジュールの「機械」です。ヘルパーでは、データを取得するためのモジュールのクラスとそのメソッドを作成します。これは、モジュールがデータベースと「対話」できる場所です。このモジュールのヘルパーファイルのコードを読むと、メソッドが1 つあるModArticlesLatestHelperClassが含まれていることがわかります。 このメソッド内で、モジュールはモジュールのバックエンド設定をチェックし、最終的に、これらの条件に基づいて、返される記事のリストを作成します。このモジュールはメソッドを使用してコンテンツモデルオブジェクトを返すことに注意してください。getList(&$params)
    JModelLegacy::getInstance

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

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

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


15

3

Joomla CMS用の同じ目的のカスタムPHPモジュール用の無料モジュールを開発しました。

[website-root] / modules / mod_customphp / filesにlogin.phpなどのPHPファイルを作成する必要があります

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

これは私のユースケースのwrt phpには答えますが、実際に求めていたものには答えません(私の場合、モジュールを使用するたびに色などの特定の設定を保存する必要があります。チップにアクセスするのではなく、新しいモジュールを使用してください)。
serakfalcon 2014年

モジュールにさらにパラメータを追加し、これらのパラメータをphpファイルで使用できます。
Shyam 2014年

3

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

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


これはある程度は機能しますが、多くの場合、私が始める方法ですが、言語文字列や別の場所にインストールされる追加のメディアを処理するには不十分です。
Peter Wiseman、2014年

@PeterWisemanはい、その通りですが、簡単かつ迅速に始めることができます。
シーガル
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.