DokuWiki

It's better when it's simple

ユーザ用ツール

サイト用ツール


ja:plugin:loadskin

Loadskin プラグイン

互換性のある DokuWiki バージョン

Ponder Stibbons, Weatherwax, Adora Belle, Angua, 2011-05-25 "Rincewind", 2010-11-07 "Anteater", 2009-12-25 "Lemming", 2009-02-14, 2008-05-05, Binky, "Ponder Stibbons", Hrun, Detritus

plugin スキン・テンプレート・テーマを変更します。管理者によるページ・名前空間毎のテンプレート選択、またはユーザーによる Wiki 全体のテンプレート選択が可能です。

最終更新日
2016-04-07
種類
Helper, Admin, Action
リポジトリ
ソース

この拡張は二年以上更新されていません。もはや維持管理や対応がされておらず、互換性に問題がある可能性があります。

This extension is not in the 'plugin' or 'template' namespace and is therefore ignored.

類似 template_switcher, templateconfhelper

タグ skin, template, theme

ダウンロードとインストール

プラグイン管理と上記 URL を使用してプラグインをダウンロード・インストールします。 手動でプラグインをインストールする方法はプラグインを参照してください。

:!: 重要 :!: DokuWiki が Angua 版より古い場合、利用しているテンプレートが古い場合1)、DokuWiki のソースコードに以下の小さな変更を行う必要があります。 そうしないと、部分的に(または完全に)空白のページを取得する可能性があります。

<dokuwiki>/inc/init.php 内の以下の行を削除(またはコメント化)する:

// DEPRECATED, use tpl_basedir() instead
if(!defined('DOKU_TPL')) define('DOKU_TPL',
        DOKU_BASE.'lib/tpl/'.$conf['template'].'/');
 
// DEPRECATED, use tpl_incdir() instead
if(!defined('DOKU_TPLINC')) define('DOKU_TPLINC',
        DOKU_INC.'lib/tpl/'.$conf['template'].'/');

テンプレートの修正は簡単です。 全ての DOKU_TPLINCtpl_incdir()DOKU_TPLtpl_basedir() に置き換えるだけです。 (非奨励を参照してください)。

使用方法

二種類の使用方法があります:

  • 管理者がWiki ページ・名前空間単位に個別のテンプレートを指定する
  • ユーザーが Wiki 全体に対するテンプレート切替を使用する

併用も可能ですが、どちらか片方だけを使用することをお勧めします。 併用する場合はどちらを優先するかを決める2)必要があります。

管理者:名前空間・ページ毎のテンプレートを指定する

管理者メニューに Loadskin テンプレート管理が追加されます。 この画面を使用してページ・名前空間毎に使用するテンプレートを指定します。 指定されなかったページは管理画面のテンプレート変数で指定されたテンプレートを使用します。

ユーザー:Wiki 全体に対するテンプレートを選択する

テンプレート切替を使用して、ユーザーが Wiki 全体のテンプレートを選択できます。 ユーザーは、この目的のためにクッキーを許可する必要があります(そうしないと、テンプレート切替内容が保存できません。)。

設定

automaticOutput 全ページにテンプレート切替を自動的に表示する(テンプレート切替を表示したくない、他のどこかに入れたい場合は、これをオフにします)
excludeTemplates テンプレート切替から除外するテンプレート(カンマ区切り一覧)
mobileSwitch モバイル用テンプレート切替(通常用テンプレートとモバイル用テンプレート)を表示する?
mobileTemplate モバイル用テンプレート(モバイル用テンプレート切替を表示する場合)
preferUserChoice 管理者指定テンプレートよりユーザー選択テンプレートを優先する(管理者指定を優先にする場合、これをオフにします)
inheritInTranslations 言語別名前空間内で名前空間毎のテンプレート選択を継承する(翻訳プラグインを使用する場合)
allowInAdmin 管理画面でもテンプレート選択を維持する 3)

テンプレート切替は自動的に Wiki コンテンツの前に配置されます。 別の場所(例えば、ログインボタンの近く、またはサイドバー)に配置したい場合、automaticOutput を切り替えて、好きな場所に表示するためにテンプレート内に以下のコードを配置する必要があります:

<?php
    $loadskinHelper = plugin_load('action', 'loadskin')->loadHelper('loadskin', true);
    echo $loadskinHelper->showTemplateSwitcher();
?>

自動的に Wiki コンテンツの前に配置した場合、プラグインに付属するスタイルが大体のテンプレートに合わせます。 しかし、テンプレートによっては、ユーザスタイルの助けが必要な場合があります。

クッキー

このプラグインは、DokuWiki のコアがすでに使用している DOKU_PREFS クッキーを使用し、新しいクッキーは使用しません。 ユーザーがテンプレート切替を使用した場合、選択したテンプレートを loadskinTpl に設定します。 何も選択しなかった場合に表示される元のテンプレートを loadskinOrig に設定します。

変更履歴

議論

問題の報告は issue tracker にして下さい。 議論は独立した議論ページで行って下さい。

1)
例:テンプレートのコードに DOKU_TPL DOKU_TPLINC 定数が含まれている場合
2)
preferUserChoice 設定を使用します
3)
デフォルトでは、管理画面は設定管理で選択したテンプレートを常に表示します。このオプションを有効にすると、別のテンプレートのページに行き(又はテンプレート切替から別のテンプレートを選択し)、管理画面に移動すると該当のテンプレートで表示します。つまり、該当のテンプレートの設定ができることになります。
ja/plugin/loadskin.txt · 最終更新: 2016-06-07 07:38 by sawachan

特に明示されていない限り、本Wikiの内容は次のライセンスに従います: CC Attribution-Share Alike 4.0 International
CC Attribution-Share Alike 4.0 International Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki