IMUZA.com

Xserver<<WordPress(ConoHa)<<はてなブログ

ホーム / Joomla! / Joomla!(16)モジュールを自作する(1)

Joomla!(16)モジュールを自作する(1)

2015/12/22 Joomla!

「Joomla! でサイト構築」6回にわたって「Bootstrapテンプレートを移植する」方法を手探りでやって来ましたが、自分自身もああこういうことかと気づく点も多かったです。

デモサイトはこちらです。Hostinger で立ち上げたのですが、このサーバー、反応が悪いですね。

さて、次はこのテンプレートのスライダー、Bootstrap のカルーセルなんですが、これを Joomla! のモジュールにしてみようと思います。

  • モジュールのファイル構成
  • モジュールジェネレーター
    • Main タブ
    • Author タブ
    • Copyright タブ
    • Folders & Files タブ
  • mod_bootstrap_carousel.xml の修正
  • モジュールインストール

モジュールのファイル構成

ドキュメントは、こちらにあります。
J3.x:Creating a simple module/Developing a Basic Module – Joomla! Documentation

最低限必要となるファイルは、モジュール名を HelloWord とした場合、

  • mod_helloworld.php
    最初に呼ばれるファイルで、script や css ファイルを設定し、helper.php からデータを受け取り、tmpl/default.php に送って出力します
  • mod_helloworld.xml
    テンプレートの xml ファイルと同じで、モジュール情報、インストールファイル、モジュール管理用のフォーム設定情報を書きます
  • helper.php
    データベースなどからデータを取り出したりするヘルパークラスです
  • tmpl/default.php
    mod_helloworld.php からデータを受け取り、html を出力するテンプレートです

その他、必要なら css, js, image, language フォルダーを作成します。

モジュールジェネレーター

上のドキュメントにサンプルファイルがありますが、一から作るのも大変と探してみましたら、オンラインでモジュールの構成ファイルを作成してくれるジェネレーターが公開されていました。

Joomla Module Generator

早速使わせていただきましょう。

Main タブ

  • Module name
  • Module filename
    Module name に、たとえば「Bootstrap Carousel」と入れればファイル名が自動的にセットされます
  • Module descriotion
    自由に
  • Module version
    0.0.1 とでも
  • Module languages
    en-GB
  • Your language
    ja-JP を選びますが、なぜか ru-RU になってしまいます
    ja-JP を自分で作れば問題ありません
  • Module fields
    +Add new fieldset をクリックしフォームフィールドを指定していきます

    • 上から3つは media, text, text とし、スライドの画像とテキスト×2をひとまとまりとした多次元配列にしますが、このジェネレーターではうまく指定できませんでしたので、手作業で修正しましょう
    • indicator, auto_start はチェックボックスにします
    • interval は右矢印をクリックしてデフォルト値を設定しておきます

Author タブ

mod_bootstrap_carousel.xml に反映されます。

Copyright タブ

License を変更したい場合はドロップダウンから選択します。

Folders & Files タブ

script や css が必要な場合はチェックを入れておけば、フォルダが作られ、mod_bootstrap_carousel.php に読み込みスクリプトが生成されます。今回は全てチェックを外しておきます。

Generate Code をクリックしますとモジュール構成ファイル一式が作成され、zip archive
のリンクが現れますのでクリックしてダウンロードします。

mod_bootstrap_carousel.xml の修正

mod_bootstrap_carousel.xml の configタグの fieldset を複数枚のスライドを指定できるように修正します。

(修正前)

<field type="media" label="MOD_IMAGE" name="image" description="MOD_IMAGE_DESCRIPTION" directory="" />
<field type="text" label="MOD_SUBJECT" name="subject" description="MOD_SUBJECT_DESCRIPTION" default="" class="" size="52" maxlength="50" filter="" />
<field type="text" label="MOD_DESCRIPTION" name="description" description="MOD_DESCRIPTION_DESCRIPTION" default="" class="" size="102" maxlength="100" filter="" />
(以下略)

必要なスライド枚数分に修正します。

<fields name="slide1">
    <field type="media" label="MOD_IMAGE" name="image" description="MOD_IMAGE_DESCRIPTION" directory="" />
    <field type="text" label="MOD_SUBJECT" name="subject" description="MOD_SUBJECT_DESCRIPTION" default="" class="" size="52" maxlength="50" filter="" />
    <field type="text" label="MOD_DESCRIPTION" name="description" description="MOD_DESCRIPTION_DESCRIPTION" default="" class="" size="102" maxlength="100" filter="" />
</fields>
<fields name="slide2">
    <field type="media" label="MOD_IMAGE" name="image" description="MOD_IMAGE_DESCRIPTION" directory="" />
    <field type="text" label="MOD_SUBJECT" name="subject" description="MOD_SUBJECT_DESCRIPTION" default="" class="" size="52" maxlength="50" filter="" />
    <field type="text" label="MOD_DESCRIPTION" name="description" description="MOD_DESCRIPTION_DESCRIPTION" default="" class="" size="102" maxlength="100" filter="" />
</fields>
(以下略)

この修正は、ダウンロードファイルを修正後再度圧縮してもいいですし、インストール後にインストールされたファイルを修正してもいいです。

モジュールインストール

一度、完成したmod_bootstrap_carousel.zip をインストールしてみましょう。

うまくインストールされましたでしょうか? 続きは次回ということで。

Joomla!(15)テンプレートを自作する -Bootstrapテンプレートを移植する6(最終回)-
Joomla!(17)モジュールを自作する(2)
Twitter
Facebook
ブックマーク
LINEで送る

最初のサイドバー

最新記事

2023/03/21

WordPress:メール送信にGmailのSMTPを使う(プラグインなし)

2023/03/10

WordPress:サムネイル付き次の記事/前の記事

2023/02/28

Twitterシェアリンクはintent/tweetを使おう

2023/02/21

GoogleタグマネージャーとアナリティクスGA4

2023/02/8

WordPress:人気記事を直近の期間指定で表示する

最新記事を一覧で見る

よく読まれている記事

よく読まれている記事を一覧で見る

カテゴリー

  • はてなブログ214
  • WebTips109
  • javascript98
  • Joomla!88
  • Windows68
  • Wordpress65
  • CSS63
  • Joomla!更新53
  • Linux49
  • はてなテーマ45
  • Google34
  • Plamo33
  • はてなプラグイン25
  • php22
  • Node.js18
  • Ubuntu16
  • SASS16
  • laravel415
  • Chrome11
  • cms-style10
  • iPhone9
  • ConoHa WING6
  • Git入門6
  • genesis6
  • Python5
  • Android5
  • PC全般4
  • Facebook4
  • スマートフォン4
  • 静的サイトジェネレーター3
  • Firefox3
  • SSD3
  • Blankslate3
  • Docker3
  • Twitter2
  • GitHub2
  • Mactype2
  • はてなブクマ1
  • 映画1
  • youtube1
  • rails入門1
  • Xserver1

Footer

My Web Sites

  • @半径とことこ60分
  • そんなには褒めないよ。映画評
  • IMUZA.com
  • GitHub

Related Sites

  • WordPress公式
  • WordPress関数リファレンス
  • PHPマニュアル

Contact Us

  • お問い合わせフォーム
  • Twitter
  • Facebook
  • Feedly

Copyright © 2023 · IMUZA.com