IMUZA.com

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

ホーム / Joomla! / Joomla! の Plugin を自作する(1)

Joomla! の Plugin を自作する(1)

2017/07/12 Joomla!

Joomla! 用に Open Graph protocol のメタタグを自動挿入するプラグインを作ってみようと思います。

テンプレートやモジュールの自作は当サイトでも記事にしていますので、さほど苦労することなくいけそうな予感です(笑)。

  • Joomla! Documentation
  • インストール XML ファイル
  • Plugin ファイル
  • zip ファイルに固めてインストール
  • ソースを確認

www.imuza.com

www.imuza.com

Joomla! Documentation

何をおいてもまずは、Joomla! Documentation を読んでみましょう。

J3.x:Creating a Plugin for Joomla – Joomla! Documentation


最もシンプルなプラグインは、ひとつの php ファイルとインストール XML ファイルで構成されるとあります。サンプルコードもありますので、まずはテスト用に <meta property="og:title" content="" /> をヘッダ内に挿入するコードを試してみます。

インストール XML ファイル

<?xml version="1.0" encoding="utf-8"?>
<extension version="3.1" type="plugin" group="content">
    <name>IMUZA Open Graph</name>
    <author>IMUZA.com</author>
    <creationDate>July 2017</creationDate>
    <copyright>Copyright (C)2017 IMUZA.com. All rights reserved.</copyright>
    <license>GNU General Public License version 2 or later; see LICENSE.txt</license>
    <authorEmail></authorEmail>
    <authorUrl>www.imuza.com</authorUrl>
    <version>0.0.1</version>
    <description></description>
    <files>
        <filename plugin="imzopengraph">imzopengraph.php</filename>
        <filename>index.html</filename>
    </files>
</extension>

  • <extension> タグの group="" には、保存する plubins 以下のフォルダを指定します。どうやって決めるかは、使うイベントによります。イベントは、Plugin/Events – Joomla! Documentation で確認できます。今回は、メタタグをヘッダに挿入したいということですので、onContentBeforeDisplay が使える content ということになります。
  • <files> タグにはインストールするファイルを書きます。<folder> タグでフォルダごとインストールでき(ると思い)ます。

まずは、これだけあれば大丈夫ですが、他に次のタグが使えます。

  • <language> タグは言語ファイル。
  • <config> タグは、プラグインの設定ページのフォームデータを指定できます。

Plugin ファイル

<?php
// No direct access
defined( '_JEXEC' ) or die;


class plgContentImzOpenGraph extends JPlugin {


    function onContentBeforeDisplay() {
        $document = JFactory::getDocument();
        $document->addCustomTag('<meta property="og:title" content="IMUZA.com"/>');
        return true;
    }
}

クラス名は決まりがあるようで、plg<PluginGroup><PluginName> としなければいけないとのことです。今回の場合は、plgContentImzOpenGraph となります。大文字小文字は区別されません。

後は、セキュリティ用の index.html を入れておきます。

<html><body bgcolor="#FFFFFF"></body></html>

zip ファイルに固めてインストール

作成した3つのファイルをフォルダに入れ、zipファイルに固め、エクステンション管理からインストールし有効にします。あえて違う名前にすることはありませんがフォルダ名は何でもいいようです。

ソースを確認

確かにヘッダに、

 <meta property="og:title" content="IMUZA.com"/>

と入っています。

後は、それぞれの記事からタイトルやイメージを取ってきてメタタグを構成して表示すればいけます。

ただ、個別にイメージなどを指定したい場合にどうするかですね。次回です。

Joomla! 3.7.3 セキュリティフィックスがリリースされています
Joomla! の Plugin を自作する(2)初期設定ページ
Twitter
Facebook
ブックマーク
LINEで送る

最初のサイドバー

最新記事

2023/09/26

IntersectionObserverで要素の位置を知る

2023/09/14

GDPRを設定する

2023/08/30

scroll-behavior:smoothは履歴に残る

2023/08/22

要素がトップにきたことを感知する-IntersectionObserver

2023/08/8

ホームページとは別に投稿一覧ページをつくる方法-WordPress

最新記事を一覧で見る

よく読まれている記事

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

カテゴリー

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

Footer

My Web Sites

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

Related Sites

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

Contact Us

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

Copyright © 2023 · IMUZA.com