まず手始めに、Joomla!へプラグインを入れてみることにしました。
たぶん各ページのタイトルに特定の文字を入れる必要があるだろうということで
SEF Title Prefix and Suffix – Joomla! Extensions Directory.
というものを試します。
ダウンロードとインストール
公式プラグインレポジトリであるJoomla! Extenstion Directory から検索します。
今回commercialライセンスがNGなので 😡 Advanced検索でNon-commercialのみを探します。
そこからダウンロードするには一回開発者のサイトに移動してダウンロードします。
(↑これが結構わかりづらかったりする。直接ダウンロードできるところもあるのかも?)
zipのままアップロードするか、tmpディレクトリに転送してインストールできます。zipのURLがわかれば「エクステンション」→「インストール/アンインストール」でURLからインストールすることもできます。
が、まずはzipを解凍してみます。
解析
seftitleprefixsuffix.php seftitleprefixsuffix.xml
だけの想像以上のシンプルなファイル構成。この規模ならREADMEやCopyrightもいらない!ってことでしょうか。
XMLの方にはバージョンとこれがプラグインであることが書かれてています(このほかにもモジュールだったり、テンプレートだったり、言語ファイルだったりすることがある)。インストールするファイルとオプションのパラメータもここで指定しているようです。
オリジナルでは
<param name=”titleprefix” type=”text” default=”” label=”Title prefix” size=”50″ description=”Enter title prefix”/> <param name=”titlesuffix” type=”text” default=”” label=”Title suffix” size=”50″ description=”Enter title suffix”/>
となっていました。タイトルの前につける文字と後につける文字の指定ですね。
ソースを検索してもなさそうだったMETAタグのgeneratorを変更するパラメータを
<param name=”generator” type=”text” default=”” label=”Generator” size=”50″ description=”Enter generator string”/>
としてここで変更できるようにしてみます。
あとこのprefixやsuffix、間に半角スペースを入れたいと思ってもトリミングされてしまうのでそこを応急的に直しつつ、generatorをセットする部分を加えてonAfterDispatch関数を次のようにします。
function onAfterDispatch() { $db = JFactory::getDBO(); $query = “select id,params from #__plugins where element=’seftitleprefixsuffix'”; $db->setQuery($query); $plugin = $db->loadObject(); $params = new JParameter($plugin->params); $suffix = $params->get(‘titlesuffix’); $prefix = $params->get(‘titleprefix’); $generator = $params->get(‘generator’); $document =& JFactory::getDocument(); $title = $document->getTitle(); if ($prefix) { $title = $prefix.” – “.$title; } if ($suffix) { $title.= ” – ” .$suffix; } $document->setTitle($title); if ($generator) { $document->setGenerator($generator); } }
作りこむなら日本語化とか区切り文字もパラメータにするところですが、どうせ客先に行ってしまうものなので 😛 この辺で。