modules

各モジュールを置くディレクトリです。

各モジュールはmoduleディレクトリ直下に、それぞれ専用のディレクトリに格納されます。従って、moduleディレクトリには通常のファイルは存在しません。

また、moduleディレクトリ直下のディレクトリの名前を並び替えた順番で、各モジュールは初期化されることをモジュールを開発するときには心の片隅に止めておくと良いでしょう。

モジュールの構成

例えばnameというモジュールの場合、modules/nameというディレクトリの中に次のようなファイルやディレクトリが置かれます。これらの中にはモジュールによっては存在しない場合もあります。

name/*.php

モジュールを実装するPHPの(クラス)ファイルです。

name/config

モジュールの構成のファイルを置くディレクトリです。多くの場合、以下の2つのファイルを含みます。

config.php

モジュールをContaoに登録するファイルです。

database.sql

データベースに必要なテーブルを定義するSQLのファイルです。

name/dca

Contaoのデータ格納配列(DCA)に必要な定義を行うPHPのファイルが置かれます。各PHPのファイルは、関連するテーブル名を名前とします。

name/html

モジュールに必要な画像やCSSファイルを置くディレクトリです。

name/languages

モジュールが多言語対応をする場合に、追加で必要な翻訳を提供する言語ファイルを置くディレクトリです。

さらに、この下に言語の言語コードに対応するディレクトリ(日本語の場合だとname/languages/ja)が作成され、その中に実際の言語ファイルを置く構成となります。各言語ファイルは言語ラベルに対する翻訳をArrayを基本として定義しているPHPのファイルです。

name/templates

モジュールがテンプレートを使用する場合に、テンプレートのファイルを置くディレクトリです。

各テンプレートのファイルは".tpl"の拡張子となります。

name/themes

モジュールがバックエンドのテーマをサポートする場合に、テーマのCSSや画像のファイルを置くディレクトリです。

標準のモジュール

Contaoバージョン5.3.8では、以下の13個のモジュールが含まれています。

backend

バックエンド、つまりウェブサイトのコンテンツ管理の機能そのものもモジュールとして実装されています。

calendar

イベント(カレンダー)のモジュールです。

comments

コメントの機能を提供するモジュールです。Contao(TYPOlight) 2.8からイベント、ニュース、FAQそれぞれにあった機能がまとめられて作成されました。

faq

FAQ、よくある質問(と答え)の機能を提供するモジュールです。

frontend

フロントエンドのアクセス、つまりウェブサイトの公開機能そのものがモジュールとして提供されています。

listing

リスティングモジュールはデータベースの特定のテーブルの一覧を表示するモジュールです。

news

ニュースモジュールは、サイトの新着情報やブログのようなコンテンツを提供するモジュールです。

newsletter

ニュースレターモジュールは、メールマガジンのようにニュースレターを購読者に一斉配信やニュースレターのアーカイブを表示する機能を提供するモジュールです。

registration

登録(レジストレーション)モジュールは、フロントエンドでウェブサイトの訪問者が自分のユーザー登録、つまりメンバーの登録や管理を行う機能を提供するモジュールです。

rep_base

リポジトリ基本モジュールは、機能拡張のリポジトリのクライアントとサーバーで共通な基盤を提供するモジュールです。

rep_client

リポジトリクライアントモジュールは、機能拡張のリポジトリを利用するクライアントの機能を提供するモジュールです。

rss_reader

RSSリーダーモジュールは、他のサイトのRSSやAtomのフィードを読んで表示する機能を提供するモジュールです。

tasks

タスクモジュールは、ユーザー機能のタスクセンターの機能を提供するモジュールです。

tpl_editor

テンプレートエディターモジュールは、テンプレートファイルの編集機能を提供するモジュールです。