xpWikiの'Backlinks for: 'を日本語化する

xpwikiのタイトルに付いているリンク

*ListFreakをXOOPS Xに載せ替えるにあたり、久しぶりに『リストのチカラ』を書いたxpwikiモジュールに触りました。当時の原稿は「『リストのチカラ』オンライン版」として公開していまして、これも引っ越し対象です。

ちょっと気になるのが、ページのタイトルに必ず関連ページ(そのページを参照しているページ情報)へのリンクが張られること。目次ページであれば、タイトルの「目次」をクリックするとこんなページが現れます:

ページタイトルがリンクになっていれば、クリックしたくなるのが人情というもの。かどうかは措くとしても、できるだけシンプルに見せたい場合にはちょっと隠したくなります。

xpwikiには膨大な設定項目があるのですが、どうもタイトルのリンクを消すことはできなさそうです。ソースコードも覗いてみましたが、やはりリンクの付与がデフォルトになっている模様。もちろんソースコードに手を入れればよいのですが、それはできるだけしないポリシーなので、次善の方法を考えました。

relatedプラグインをいじってみる

リンクが削除できないとしたら、リンク先を次ページにしてしまえばよいのでは?と考えて、リンク先を調べてみました。xpwikiでは多くの機能が「プラグイン」という単機能のカタマリを差し込んでいくことによって実現されています。上記の関連ページを表示させているのは related というプラグインでした。プラグインの設定はいじれるのかなと思って開発者様のページに行ってみると:

xpWiki のプラグインは、クラスオブジェクトになっています。XOOPS_ROOT_PATH/modules/xpwiki/private/plugin に派生クラスを置くことで、各プラグインを上書きすることができます。

( xpWiki のXOOPSへのインストール [インストール] - xpWiki::Dev - XOOPSマニア )

とのこと。なんと思慮深いのでしょうか。しかも管理画面が派生クラスのテンプレートを作成してくれるそうです。さっそくありがたく活用させていただきました。

管理画面の「プラグイン変換ツール」で、html側に派生クラスを作りたいプラグインを選べます。今回は"related"を選ぶと、related.inc.phpという名前のファイルがダウンロードされました。それが下記です。赤字の部分がこちらで修正・追加した箇所です。

<?php
class xpwiki_lfbook_plugin_related extends xpwiki_plugin_related {
  function plugin_related_init () {

    $this->config['showContextAction'] = FALSE; // [Arch-it] was TRUE
    $this->config['showMaxAction'] = 100;
    $this->config['showMaxConvert'] = 100;

  }

  function plugin_related_action () {

    $ret =& parent::plugin_related_action();

    // メッセージを日本語に入れ替える
    $ret['msg'] = sprintf( $this->root->_title_backlink, substr( $ret['msg'], strlen('Backlinks for: ') ) );

    return $ret;
  }
}
 

'showContextAction'という設定をFALSEにしてみると、文書の一覧のみが表示されるようになりました。これだけでだいぶシンプルに見えます。

あと気になるのが、'Backlinks for: 'という字。日本語にしたいのですが、これはハードコードされていて、なんともなりません……。

待てよ、派生クラスで書き換えることはできないか?と考えて追加したのが下のplugin_related_action () 関数です。

まず親クラスに仕事をしてもらい、結果を$retで受け取ります。タイトルは $ret['msg']に入っているので、'Backlinks for: 'を取り除き、使えそうな日本語リソースを引っ張り出してきて取り付けてみました。なんだか強引な感じです。

ともあれ、これをhtml側に置いてみると:

スッキリ!タイトルもそれらしい感じになりました。

 

 


友達に伝える
タグ: XOOPS xpwiki
作成: 2013/10/20 by:koji
更新: 2013/10/20 by:koji


bootstrap 3 on XOOPS X(スタイルシート編)

Tech

preg_replaceでハング(?)

新規ユーザー登録(無料)

  • メールニュース[週刊起-動線]の購読
  • コメントなどの投稿
  • ココロミの利用
  • 一部コンテンツの購読

ログイン

コメント

タグ(キーワード)