CINXE.COM
ja:devel:templates [DokuWiki]
<!DOCTYPE html> <html lang="ja" dir="ltr" class="no-js"> <head> <meta charset="utf-8" /> <title>ja:devel:templates [DokuWiki]</title> <meta name="generator" content="DokuWiki"/> <meta name="theme-color" content="#008800"/> <meta name="robots" content="index,follow"/> <meta name="keywords" content="ja,devel,templates"/> <link rel="search" type="application/opensearchdescription+xml" href="/lib/exe/opensearch.php" title="DokuWiki"/> <link rel="start" href="/"/> <link rel="contents" href="/ja:devel:templates?do=index" title="サイトマップ"/> <link rel="manifest" href="/lib/exe/manifest.php" crossorigin="use-credentials"/> <link rel="alternate" type="application/rss+xml" title="最近の変更" href="/feed.php"/> <link rel="alternate" type="application/rss+xml" title="現在の名前空間" href="/feed.php?mode=list&ns=ja:devel"/> <link rel="edit" title="文書の編集" href="/ja:devel:templates?do=edit"/> <link rel="alternate" type="text/html" title="プレーンHTML" href="/_export/xhtml/ja:devel:templates"/> <link rel="alternate" type="text/plain" title="Wikiマークアップ" href="/_export/raw/ja:devel:templates"/> <link rel="canonical" href="https://www.dokuwiki.org/ja:devel:templates"/> <link rel="stylesheet" href="/lib/exe/css.php?t=dokuwiki&tseed=f55410c4cbbba9fc3a9bfcd47b7d8ad8"/> <link rel="alternate" hreflang="en" href="https://www.dokuwiki.org/devel:templates"/> <link rel="alternate" hreflang="es" href="https://www.dokuwiki.org/es:devel:templates"/> <link rel="alternate" hreflang="fr" href="https://www.dokuwiki.org/fr:devel:templates"/> <link rel="alternate" hreflang="it" href="https://www.dokuwiki.org/it:devel:templates"/> <link rel="alternate" hreflang="ko" href="https://www.dokuwiki.org/ko:devel:templates"/> <link rel="alternate" hreflang="ru" href="https://www.dokuwiki.org/ru:devel:templates"/> <link rel="alternate" hreflang="uk" href="https://www.dokuwiki.org/uk:devel:templates"/> <link rel="alternate" hreflang="zh" href="https://www.dokuwiki.org/zh:devel:templates"/> <link rel="alternate" hreflang="x-default" href="https://www.dokuwiki.org/devel:templates"/> <script >var NS='ja:devel';var JSINFO = {"plugins":{"edittable":{"default columnwidth":""}},"id":"ja:devel:templates","namespace":"ja:devel","ACT":"show","useHeadingNavigation":0,"useHeadingContent":0};(function(H){H.className=H.className.replace(/\bno-js\b/,'js')})(document.documentElement);</script> <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.7.1/jquery.min.js" defer="defer"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.14.1/jquery-ui.min.js" defer="defer"></script> <script src="/lib/exe/js.php?t=dokuwiki&tseed=f55410c4cbbba9fc3a9bfcd47b7d8ad8&lang=ja" defer="defer"></script> <meta name="viewport" content="width=device-width,initial-scale=1" /> <link rel="shortcut icon" href="/lib/tpl/dokuwiki/images/favicon.ico" /> <link rel="apple-touch-icon" href="/lib/tpl/dokuwiki/images/apple-touch-icon.png" /> <meta name="verify-v1" content="OVxl3gsCv2MhZqh1cBQyl0JytWXSwXMjyvwc+4w3WtA=" /> <meta name="google-site-verification" content="YhTVK69hW94ZXUtc2zSLPxTkZKbZIn0zK67mz5WQB-E" /> <!-- Global site tag (gtag.js) - Google Analytics --> <script async src="https://www.googletagmanager.com/gtag/js?id=UA-83791-1"></script> <script> window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'UA-83791-1', { 'anonymize_ip': true }); </script> </head> <body> <div id="dokuwiki__site"><div id="dokuwiki__top" class="site dokuwiki mode_show tpl_dokuwiki showSidebar hasSidebar"> <!-- ********** HEADER ********** --> <header id="dokuwiki__header"><div class="pad group"> <div class="headings group"> <ul class="a11y skip"> <li><a href="#dokuwiki__content">内容へ移動</a></li> </ul> <h1 class="logo"><a href="/start" accesskey="h" title="Home [h]"><img src="/lib/tpl/dokuwiki/images/logo.png" width="64" height="64" alt="" /><span>DokuWiki</span></a></h1> <p class="claim">It's better when it's simple</p> </div> <div class="tools group"> <!-- USER TOOLS --> <div id="dokuwiki__usertools"> <h3 class="a11y">ユーザ用ツール</h3> <ul> <li class="action login"><a href="/ja:devel:templates?do=login&sectok=" title="ログイン" rel="nofollow"><span>ログイン</span><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M10 17.25V14H3v-4h7V6.75L15.25 12 10 17.25M8 2h9a2 2 0 0 1 2 2v16a2 2 0 0 1-2 2H8a2 2 0 0 1-2-2v-4h2v4h9V4H8v4H6V4a2 2 0 0 1 2-2z"/></svg></a></li> </ul> </div> <!-- SITE TOOLS --> <div id="dokuwiki__sitetools"> <h3 class="a11y">サイト用ツール</h3> <form action="/start" method="get" role="search" class="search doku_form" id="dw__search" accept-charset="utf-8"><input type="hidden" name="do" value="search" /><input type="hidden" name="id" value="ja:devel:templates" /><div class="no"><input name="q" type="text" class="edit" title="[F]" accesskey="f" placeholder="検索" autocomplete="on" id="qsearch__in" value="" /><button value="1" type="submit" title="検索">検索</button><div id="qsearch__out" class="ajax_qsearch JSpopup"></div></div></form> <div class="mobileTools"> <form action="/doku.php" method="get" accept-charset="utf-8"><div class="no"><input type="hidden" name="id" value="ja:devel:templates" /><select name="do" class="edit quickselect" title="ツール"><option value="">ツール</option><optgroup label="ページ用ツール"><option value="edit">文書の編集</option><option value="revisions">以前のリビジョン</option><option value="backlink">バックリンク</option></optgroup><optgroup label="サイト用ツール"><option value="recent">最近の変更</option><option value="media">メディアマネージャー</option><option value="index">サイトマップ</option></optgroup><optgroup label="ユーザ用ツール"><option value="login">ログイン</option></optgroup></select><button type="submit">></button></div></form> </div> <ul> <li class="action recent"><a href="/ja:devel:templates?do=recent" title="最近の変更 [r]" rel="nofollow" accesskey="r">最近の変更</a></li><li class="action media"><a href="/ja:devel:templates?do=media&ns=ja%3Adevel" title="メディアマネージャー" rel="nofollow">メディアマネージャー</a></li><li class="action index"><a href="/ja:devel:templates?do=index" title="サイトマップ [x]" rel="nofollow" accesskey="x">サイトマップ</a></li> </ul> </div> </div> <!-- BREADCRUMBS --> <div class="breadcrumbs"> <div class="trace"><span class="bchead">トレース:</span> <span class="bcsep">•</span> <span class="curid"><bdi><a href="/ja:devel:templates" class="breadcrumbs" title="ja:devel:templates">templates</a></bdi></span></div> </div> <hr class="a11y" /> </div></header><!-- /header --> <div class="wrapper group"> <!-- ********** ASIDE ********** --> <nav id="dokuwiki__aside" aria-label="サイドバー"><div class="pad aside include group"> <h3 class="toggle">サイドバー</h3> <div class="content"><div class="group"> <div class="notify">この翻訳は<a href="/devel:templates" class="wikilink1">元のページ</a>よりも更新日が古く、内容が古い可能性があります。 <a href="/devel:templates?do=diff&rev=1266795283" class="wikilink1">変更点</a>を参照して下さい。</div><div class="plugin_translation is-dropdown"><span class="title">このページの翻訳<sup><a href="/localization" class="wikilink1" title="localization" data-wiki-id="localization">?</a></sup>: </span><ul><li class="a"><a class="wikilink1" title="English" href="/devel:templates">English (en)</a></li><li class="a"><a class="wikilink2" title="|العربية" href="/ar:devel:templates">|العربية (ar)</a></li><li class="a"><a class="wikilink2" title="Català" href="/ca:devel:templates">Català (ca)</a></li><li class="a"><a class="wikilink2" title="Česky" href="/cs:devel:templates">Česky (cs)</a></li><li class="a"><a class="wikilink2" title="Dansk" href="/da:devel:templates">Dansk (da)</a></li><li class="a"><a class="wikilink2" title="Deutsch" href="/de:devel:templates">Deutsch (de)</a></li><li class="a"><a class="wikilink2" title="Ελληνικά" href="/el:devel:templates">Ελληνικά (el)</a></li><li class="a"><a class="wikilink2" title="Esperanto" href="/eo:devel:templates">Esperanto (eo)</a></li><li class="a"><a class="wikilink1" title="Español" href="/es:devel:templates">Español (es)</a></li><li class="a"><a class="wikilink2" title="فارسی" href="/fa:devel:templates">فارسی (fa)</a></li><li class="a"><a class="wikilink1" title="Français" href="/fr:devel:templates">Français (fr)</a></li><li class="a"><a class="wikilink2" title="עברית" href="/he:devel:templates">עברית (he)</a></li><li class="a"><a class="wikilink2" title="Magyar" href="/hu:devel:templates">Magyar (hu)</a></li><li class="a"><a class="wikilink1" title="Italiano" href="/it:devel:templates">Italiano (it)</a></li><li class="span"><span class="wikilink1" title="日本語">日本語 (ja)</span></li><li class="a"><a class="wikilink1" title="한국어" href="/ko:devel:templates">한국어 (ko)</a></li><li class="a"><a class="wikilink2" title="Lietuvių Kalba" href="/lt:devel:templates">Lietuvių Kalba (lt)</a></li><li class="a"><a class="wikilink2" title="Nederlands" href="/nl:devel:templates">Nederlands (nl)</a></li><li class="a"><a class="wikilink2" title="Norsk" href="/no:devel:templates">Norsk (no)</a></li><li class="a"><a class="wikilink2" title="Polski" href="/pl:devel:templates">Polski (pl)</a></li><li class="a"><a class="wikilink2" title="Português" href="/pt-br:devel:templates">Português (pt-br)</a></li><li class="a"><a class="wikilink2" title="Română" href="/ro:devel:templates">Română (ro)</a></li><li class="a"><a class="wikilink1" title="Русский" href="/ru:devel:templates">Русский (ru)</a></li><li class="a"><a class="wikilink2" title="Српски Језик" href="/sr:devel:templates">Српски Језик (sr)</a></li><li class="a"><a class="wikilink2" title="Svenska" href="/sv:devel:templates">Svenska (sv)</a></li><li class="a"><a class="wikilink2" title="ไทย" href="/th:devel:templates">ไทย (th)</a></li><li class="a"><a class="wikilink1" title="Українська" href="/uk:devel:templates">Українська (uk)</a></li><li class="a"><a class="wikilink1" title="中文" href="/zh:devel:templates">中文 (zh)</a></li><li class="a"><a class="wikilink2" title="繁體中文" href="/zh-tw:devel:templates">繁體中文 (zh-tw)</a></li></ul></div> <p> <strong>DokuWiki について知る</strong> </p> <ul> <li class="level1"><div class="li"> <a href="/ja:features" class="wikilink1" title="ja:features" data-wiki-id="ja:features">機能</a> & <a href="/ja:blogroll" class="wikilink1" title="ja:blogroll" data-wiki-id="ja:blogroll">紹介</a> </div> </li> <li class="level1"><div class="li"> <a href="/ja:install" class="wikilink1" title="ja:install" data-wiki-id="ja:install">インストール</a></div> </li> <li class="level1"><div class="li"> <a href="/ja:manual" class="wikilink1" title="ja:manual" data-wiki-id="ja:manual">利用者マニュアル</a> & <a href="/ja:syntax" class="wikilink1" title="ja:syntax" data-wiki-id="ja:syntax">整形記法</a></div> </li> <li class="level1"><div class="li"> <a href="/ja:changes" class="wikilink1" title="ja:changes" data-wiki-id="ja:changes">リリースノート</a></div> </li> <li class="level1"><div class="li"> <a href="/ja:faq" class="wikilink1" title="ja:faq" data-wiki-id="ja:faq">よくある質問</a></div> </li> </ul> <p> <strong>開発</strong> </p> <ul> <li class="level1"><div class="li"> <a href="/ja:extensions" class="wikilink1" title="ja:extensions" data-wiki-id="ja:extensions">機能拡張</a></div> </li> <li class="level1"><div class="li"> <a href="/ja:development" class="wikilink1" title="ja:development" data-wiki-id="ja:development">開発マニュアル</a></div> </li> </ul> <p> <strong>法人利用</strong> </p> <ul> <li class="level1"><div class="li"> <a href="/ja:faq:support" class="wikilink1" title="ja:faq:support" data-wiki-id="ja:faq:support">商用サポート</a></div> </li> <li class="level1"><div class="li"> <a href="/ja:donate" class="wikilink1" title="ja:donate" data-wiki-id="ja:donate">寄付</a></div> </li> </ul> <p> <strong>我々のコミュニティ</strong> </p> <ul> <li class="level1"><div class="li"> <a href="/ja:teams:getting_involved" class="wikilink1" title="ja:teams:getting_involved" data-wiki-id="ja:teams:getting_involved">参加する</a></div> </li> <li class="level1"><div class="li"> <a href="http://forum.dokuwiki.org" class="urlextern" title="http://forum.dokuwiki.org">ユーザフォーラム</a></div> </li> <li class="level1"><div class="li"> <a href="/ja:newsletter" class="wikilink1" title="ja:newsletter" data-wiki-id="ja:newsletter">ニュースレター</a></div> </li> <li class="level1"><div class="li"> <a href="/ja:mailinglist" class="wikilink1" title="ja:mailinglist" data-wiki-id="ja:mailinglist">開発向けメーリングリスト</a></div> </li> </ul> <hr /> <p> <a href="http://www.facebook.com/pages/DokuWiki/52877633616" class="urlextern" title="http://www.facebook.com/pages/DokuWiki/52877633616">Facebook</a>や<a href="http://twitter.com/dokuwiki" class="urlextern" title="http://twitter.com/dokuwiki">Twitter</a>や他の<a href="/ja:social" class="wikilink1" title="ja:social" data-wiki-id="ja:social">ソーシャル・ネットワーク</a>からフォローしてください。 </p> </div></div> </div></nav><!-- /aside --> <!-- ********** CONTENT ********** --> <main id="dokuwiki__content"><div class="pad group"> <div class="pageId"><span>ja:devel:templates</span></div> <div class="page group"> <!-- wikipage start --> <!-- TOC START --> <div id="dw__toc" class="dw__toc"> <h3 class="toggle">目次</h3> <div> <ul class="toc"> <li class="level1"><div class="li"><a href="#dokuwiki_テンプレート開発">DokuWiki テンプレート開発</a></div> <ul class="toc"> <li class="level2"><div class="li"><a href="#始めましょう">始めましょう</a></div></li> <li class="level2"><div class="li"><a href="#ディレクトリ配置">ディレクトリ配置</a></div></li> <li class="level2"><div class="li"><a href="#関数">関数</a></div> <ul class="toc"> <li class="level3"><div class="li"><a href="#tpl_content">tpl_content()</a></div></li> <li class="level3"><div class="li"><a href="#tpl_toc">tpl_toc()</a></div></li> <li class="level3"><div class="li"><a href="#tpl_getconf">tpl_getConf()</a></div></li> </ul> </li> <li class="level2"><div class="li"><a href="#グローバル変数と定数">グローバル変数と定数</a></div></li> <li class="level2"><div class="li"><a href="#自動管理">自動管理</a></div></li> <li class="level2"><div class="li"><a href="#挿入フック">挿入フック</a></div> <ul class="toc"> <li class="level3"><div class="li"><a href="#利用可能なフック">利用可能なフック</a></div></li> </ul></li> </ul></li> </ul> </div> </div> <!-- TOC END --> <h1 class="sectionedit1" id="dokuwiki_テンプレート開発">DokuWiki テンプレート開発</h1> <div class="level1"> <p> <a href="/ja:dokuwiki" class="wikilink1" title="ja:dokuwiki" data-wiki-id="ja:dokuwiki">DokuWiki</a> のデザインは、新しいテンプレートを作ることでカスタマイズすることができます。テンプレートは <code><dokuwiki>/lib/tpl</code> ディレクトリの直下のディレクトリに格納されている PHP ファイルと <abbr title="Cascading Style Sheets">CSS</abbr> ファイルからなっています。(実際には、テンプレートは <abbr title="HyperText Markup Language">HTML</abbr> でできていますが、ページのコンテンツを挿入するために PHP が使われています) </p> </div> <div class="secedit editbutton_section editbutton_1"><form class="button btn_secedit" method="post" action="/ja:devel:templates"><div class="no"><input type="hidden" name="do" value="edit" /><input type="hidden" name="rev" value="1268540733" /><input type="hidden" name="summary" value="[DokuWiki テンプレート開発] " /><input type="hidden" name="target" value="section" /><input type="hidden" name="hid" value="dokuwiki_テンプレート開発" /><input type="hidden" name="codeblockOffset" value="0" /><input type="hidden" name="range" value="1-517" /><button type="submit" title="DokuWiki テンプレート開発">編集</button></div></form></div> <h2 class="sectionedit2" id="始めましょう">始めましょう</h2> <div class="level2"> <p> テンプレートを新しく作成する最も簡単な方法は、既存のテンプレートを起点とすることです。デフォルトのテンプレートを使うのはよい考えです。きれいな上に DokuWiki テンプレートの標準に倣っているからです。テンプレート名(ディレクトリ)は小文字で、“.” や “_” は使えません。 </p> <ol> <li class="level1"><div class="li"> <code>lib/tpl/default</code> のディレクトリのデータを <code>lib/tpl/yourname</code> へコピーします</div> </li> <li class="level1"><div class="li"> 設定マネージャーで新しいテンプレートを選択します</div> </li> <li class="level1"><div class="li"> そしてテンプレートファイルの中身を見ます (<a href="#ディレクトリ配置" title="ja:devel:templates ↵" class="wikilink1">ディレクトリ配置</a> 参照)</div> </li> <li class="level1"><div class="li"> <a href="/ja:dokuwiki" class="wikilink1" title="ja:dokuwiki" data-wiki-id="ja:dokuwiki">DokuWiki</a> が <a href="/ja:devel:css" class="wikilink1" title="ja:devel:css" data-wiki-id="ja:devel:css">CSS dispatcher</a> を用いてどのように <a href="/ja:devel:css" class="wikilink1" title="ja:devel:css" data-wiki-id="ja:devel:css">CSS</a> を扱うかを見ます</div> </li> <li class="level1"><div class="li"> 構成設定の扱いは<a href="/ja:devel:common_plugin_functions" class="wikilink2" title="ja:devel:common_plugin_functions" rel="nofollow" data-wiki-id="ja:devel:common_plugin_functions">プラグイン</a>と似ています。カスタムテンプレート設定を取得するには <code>tpl_getConf(<setting>)</code> を用いてください。</div> </li> </ol> </div> <div class="secedit editbutton_section editbutton_2"><form class="button btn_secedit" method="post" action="/ja:devel:templates"><div class="no"><input type="hidden" name="do" value="edit" /><input type="hidden" name="rev" value="1268540733" /><input type="hidden" name="summary" value="[始めましょう] " /><input type="hidden" name="target" value="section" /><input type="hidden" name="hid" value="始めましょう" /><input type="hidden" name="codeblockOffset" value="0" /><input type="hidden" name="range" value="518-1549" /><button type="submit" title="始めましょう">編集</button></div></form></div> <h2 class="sectionedit3" id="ディレクトリ配置">ディレクトリ配置</h2> <div class="level2"> <p> テンプレートは以下のディレクトリ構造に倣うべきです(すべてのパスはテンプレートディレクトリから相対的です)。 <abbr title="Cascading Style Sheets">CSS</abbr> ファイルは <code><a href="/ja:devel:css#styleini" class="wikilink1" title="ja:devel:css" data-wiki-id="ja:devel:css">style.ini</a></code> で指定されますが、少なくともスクリーン用と印刷用に一つずつ用意するべきです。 </p> <ul> <li class="level1 node"><div class="li"> <code><dokuwiki>/lib/tpl/<template>/</code></div> <ul> <li class="level2"><div class="li"> <code><filename>.css</code></div> </li> <li class="level2"><div class="li"> <code><a href="/devel:templates:main.php" class="wikilink1" title="devel:templates:main.php" data-wiki-id="devel:templates:main.php">main.php</a></code> – DokuWiki の全体的なレイアウト</div> </li> <li class="level2"><div class="li"> <code><a href="/devel:templates:detail.php" class="wikilink1" title="devel:templates:detail.php" data-wiki-id="devel:templates:detail.php">detail.php</a></code> – 画像の詳細ページ</div> </li> <li class="level2"><div class="li"> <code><a href="/devel:templates:mediamanager.php" class="wikilink1" title="devel:templates:mediamanager.php" data-wiki-id="devel:templates:mediamanager.php">mediamanager.php</a></code> – メディア選択のポップアップ</div> </li> <li class="level2"><div class="li"> <code>images/</code> – テンプレートの中で使われるすべての画像</div> </li> <li class="level2 node"><div class="li"> <code>conf/</code></div> <ul> <li class="level3"><div class="li"> <code>default.php</code> – <a href="/ja:devel:configuration#デフォルトの設定" class="wikilink1" title="ja:devel:configuration" data-wiki-id="ja:devel:configuration">デフォルトの設定</a> (<code><a href="#tpl_getconf" title="ja:devel:templates ↵" class="wikilink1">tpl_getConf</a></code> 参照)</div> </li> <li class="level3"><div class="li"> <code>metadata.php</code> – <a href="/ja:devel:configuration#メタデータの設定" class="wikilink1" title="ja:devel:configuration" data-wiki-id="ja:devel:configuration">メタデータの設定</a> (<code><a href="#tpl_getconf" title="ja:devel:templates ↵" class="wikilink1">tpl_getConf()</a></code> 参照)</div> </li> </ul> </li> <li class="level2 node"><div class="li"> <code>lang/</code> – 言語ファイル</div> <ul> <li class="level3"><div class="li"> <code><lang code>/lang.php</code> – テンプレート内で使用されている言葉をローカライゼーションします</div> </li> <li class="level3"><div class="li"> <code><lang code>/settings.php</code> – 設定マネージャーで使用されている言葉をローカライゼーションします</div> </li> </ul> </li> <li class="level2"><div class="li"> <code>style.ini</code> – <a href="/ja:devel:css#styleini" class="wikilink1" title="ja:devel:css" data-wiki-id="ja:devel:css">Style.ini</a> 参照</div> </li> </ul> </li> </ul> </div> <div class="secedit editbutton_section editbutton_3"><form class="button btn_secedit" method="post" action="/ja:devel:templates"><div class="no"><input type="hidden" name="do" value="edit" /><input type="hidden" name="rev" value="1268540733" /><input type="hidden" name="summary" value="[ディレクトリ配置] " /><input type="hidden" name="target" value="section" /><input type="hidden" name="hid" value="ディレクトリ配置" /><input type="hidden" name="codeblockOffset" value="0" /><input type="hidden" name="range" value="1550-2872" /><button type="submit" title="ディレクトリ配置">編集</button></div></form></div> <h2 class="sectionedit4" id="関数">関数</h2> <div class="level2"> <p> 利用できる関数のリストは <a href="http://dev.splitbrain.org/reference/dokuwiki/nav.html?inc/template.php.html" class="urlextern" title="http://dev.splitbrain.org/reference/dokuwiki/nav.html?inc/template.php.html">API documentation</a> でわかります。ここでは特異なものをいくつか示します。 </p> </div> <div class="secedit editbutton_section editbutton_4"><form class="button btn_secedit" method="post" action="/ja:devel:templates"><div class="no"><input type="hidden" name="do" value="edit" /><input type="hidden" name="rev" value="1268540733" /><input type="hidden" name="summary" value="[関数] " /><input type="hidden" name="target" value="section" /><input type="hidden" name="hid" value="関数" /><input type="hidden" name="codeblockOffset" value="0" /><input type="hidden" name="range" value="2873-3107" /><button type="submit" title="関数">編集</button></div></form></div> <h3 class="sectionedit5" id="tpl_content">tpl_content()</h3> <div class="level3"> <p> この関数はページの本文、言い換えれば <a href="/ja:toc" class="wikilink1" title="ja:toc" data-wiki-id="ja:toc">TOC</a> を含むあなたの Wiki のページのコンテンツを出力します。 この関数を呼ぶ際に引数として <code>false</code> を渡せば、TOC を出力させないようにできます: </p> <pre class="code php">tpl_content<span class="br0">(</span><span class="kw4">false</span><span class="br0">)</span><span class="sy0">;</span></pre> <p> これは、TOC をコンテンツから分離して画面のどこか違うところに置きたいときに、使うことができます。 さらなる詳細は <code><a href="#tpl_toc" title="ja:devel:templates ↵" class="wikilink1">tpl_toc()</a></code> を参照してください。 </p> </div> <div class="secedit editbutton_section editbutton_5"><form class="button btn_secedit" method="post" action="/ja:devel:templates"><div class="no"><input type="hidden" name="do" value="edit" /><input type="hidden" name="rev" value="1268540733" /><input type="hidden" name="summary" value="[tpl_content()] " /><input type="hidden" name="target" value="section" /><input type="hidden" name="hid" value="tpl_content" /><input type="hidden" name="codeblockOffset" value="0" /><input type="hidden" name="range" value="3108-3651" /><button type="submit" title="tpl_content()">編集</button></div></form></div> <h3 class="sectionedit6" id="tpl_toc">tpl_toc()</h3> <div class="level3"> <p> デフォルトでは <code><a href="#tpl_content" title="ja:devel:templates ↵" class="wikilink1">tpl_content()</a></code> 関数は <a href="/ja:toc" class="wikilink1" title="ja:toc" data-wiki-id="ja:toc">Table of Contents</a> を実際のページコンテンツの直前に表示しますが、あなたのテンプレートがサイトバーや複雑なレイアウトを使っている場合は、TOC をページのコンテンツから独立させたいと思うかもしれません。これは <code>tpl_toc()</code> 関数が可能にします。 これを使用するときは、<code>tpl_content()</code> の引数を <code>false</code> とすることで <abbr title="Table of Contents">TOC</abbr> の自動配置を無効にしておくことが重要です。 </p> <p> <strong>例:</strong> </p> <pre class="code php"><div id="content"> <span class="kw2"><?php</span> tpl_content<span class="br0">(</span><span class="kw4">false</span><span class="br0">)</span><span class="sy1">?></span> </div> <div id="sidebar"> <span class="kw2"><?php</span> tpl_toc<span class="br0">(</span><span class="br0">)</span><span class="sy1">?></span> </div></pre> <p> <code>tpl_toc()</code> 関数は <abbr title="Table of Contents">TOC</abbr> を以下の3箇所から生成します。グローバル変数 <a href="/ja:devel:environment#toc" class="wikilink1" title="ja:devel:environment" data-wiki-id="ja:devel:environment">$TOC</a>、そのページの<a href="/ja:devel:metadata" class="wikilink1" title="ja:devel:metadata" data-wiki-id="ja:devel:metadata">メタデータ</a>、または <a href="/ja:devel:admin_plugins" class="wikilink1" title="ja:devel:admin_plugins" data-wiki-id="ja:devel:admin_plugins">admin plugins</a> の <code>getTOC()</code> メソッドです。 古いリビジョンやプレビューではメタデータが使えないので、これらの場合には <code>tpl_toc()</code> はグローバル変数 <a href="/ja:devel:environment#toc" class="wikilink1" title="ja:devel:environment" data-wiki-id="ja:devel:environment">$TOC</a> しか使うことはできません。 <a href="/ja:devel:environment#toc" class="wikilink1" title="ja:devel:environment" data-wiki-id="ja:devel:environment">$TOC</a> 変数はページレンダラによって設定されるので、<code>tpl_toc()</code> が <code>tpl_content()</code> の<strong>後で</strong>呼び出されたときにしか動作しません。 もしあなたのテンプレートのレイアウトでこの順序で呼び出せない場合は、この問題を回避するために出力バッファリングを使うとよいでしょう。 </p> <p> <strong>例:</strong> </p> <pre class="code php"><span class="kw2"><?php</span> <span class="co1">// あとで使うためにバッファー中にコンテンツを生成</span> <a href="http://www.php.net/ob_start"><span class="kw3">ob_start</span></a><span class="br0">(</span><span class="br0">)</span><span class="sy0">;</span> tpl_content<span class="br0">(</span><span class="kw4">false</span><span class="br0">)</span><span class="sy0">;</span> <span class="re0">$buffer</span> <span class="sy0">=</span> <a href="http://www.php.net/ob_get_clean"><span class="kw3">ob_get_clean</span></a><span class="br0">(</span><span class="br0">)</span><span class="sy0">;</span> <span class="sy1">?></span> <div id="sidebar"> <span class="kw2"><?php</span> tpl_toc<span class="br0">(</span><span class="br0">)</span><span class="sy1">?></span> </div> <div id="content"> <span class="kw2"><?php</span> <span class="kw1">echo</span> <span class="re0">$buffer</span><span class="sy1">?></span> </div></pre> </div> <div class="secedit editbutton_section editbutton_6"><form class="button btn_secedit" method="post" action="/ja:devel:templates"><div class="no"><input type="hidden" name="do" value="edit" /><input type="hidden" name="rev" value="1268540733" /><input type="hidden" name="summary" value="[tpl_toc()] " /><input type="hidden" name="target" value="section" /><input type="hidden" name="hid" value="tpl_toc" /><input type="hidden" name="codeblockOffset" value="1" /><input type="hidden" name="range" value="3652-5493" /><button type="submit" title="tpl_toc()">編集</button></div></form></div> <h3 class="sectionedit7" id="tpl_getconf">tpl_getConf()</h3> <div class="level3"> <p> この関数はテンプレートの中から<a href="/ja:devel:configuration" class="wikilink1" title="ja:devel:configuration" data-wiki-id="ja:devel:configuration">構成設定</a>にアクセスするために使用されます。 </p> </div> <div class="secedit editbutton_section editbutton_7"><form class="button btn_secedit" method="post" action="/ja:devel:templates"><div class="no"><input type="hidden" name="do" value="edit" /><input type="hidden" name="rev" value="1268540733" /><input type="hidden" name="summary" value="[tpl_getConf()] " /><input type="hidden" name="target" value="section" /><input type="hidden" name="hid" value="tpl_getconf" /><input type="hidden" name="codeblockOffset" value="3" /><input type="hidden" name="range" value="5494-5645" /><button type="submit" title="tpl_getConf()">編集</button></div></form></div> <h2 class="sectionedit8" id="グローバル変数と定数">グローバル変数と定数</h2> <div class="level2"> <p> 便利なグローバル変数と定数の完全なリストは<a href="/ja:devel:environment" class="wikilink1" title="ja:devel:environment" data-wiki-id="ja:devel:environment">環境</a>のページを参照してください。 </p> </div> <div class="secedit editbutton_section editbutton_8"><form class="button btn_secedit" method="post" action="/ja:devel:templates"><div class="no"><input type="hidden" name="do" value="edit" /><input type="hidden" name="rev" value="1268540733" /><input type="hidden" name="summary" value="[グローバル変数と定数] " /><input type="hidden" name="target" value="section" /><input type="hidden" name="hid" value="グローバル変数と定数" /><input type="hidden" name="codeblockOffset" value="3" /><input type="hidden" name="range" value="5646-5817" /><button type="submit" title="グローバル変数と定数">編集</button></div></form></div> <h2 class="sectionedit9" id="自動管理">自動管理</h2> <div class="level2"> <p> デフォルトテンプレートの <a href="/devel:templates:main.php" class="wikilink1" title="devel:templates:main.php" data-wiki-id="devel:templates:main.php">main.php</a> ファイルのほぼ最下部に <code>tpl_indexerWebBug()</code> への関数呼出しがあります。この関数は、<code><a href="/indexer" class="wikilink1" title="indexer" data-wiki-id="indexer">lib/exe/indexer.php</a></code> へのリクエストが行われるように、HTML の <code><img></code> タグを生成します。この<strong>不可欠な</strong> DokuWiki のパーツは wiki をスムーズに動作させるために重要な管理を提供します。すべてのテンプレートはこの関数を含むべきで、これがなければ wiki は正しく動作しないかもしれません(たとえば<a href="/ja:search" class="wikilink1" title="ja:search" data-wiki-id="ja:search">検索インデックス</a>が作られないなど)。 </p> </div> <div class="secedit editbutton_section editbutton_9"><form class="button btn_secedit" method="post" action="/ja:devel:templates"><div class="no"><input type="hidden" name="do" value="edit" /><input type="hidden" name="rev" value="1268540733" /><input type="hidden" name="summary" value="[自動管理] " /><input type="hidden" name="target" value="section" /><input type="hidden" name="hid" value="自動管理" /><input type="hidden" name="codeblockOffset" value="3" /><input type="hidden" name="range" value="5818-6518" /><button type="submit" title="自動管理">編集</button></div></form></div> <h2 class="sectionedit10" id="挿入フック">挿入フック</h2> <div class="level2"> <p> 挿入フックは、独自の<a href="/ja:template" class="wikilink1" title="ja:template" data-wiki-id="ja:template">テンプレート</a>を書かずに、あなたの <a href="/ja:dokuwiki" class="wikilink1" title="ja:dokuwiki" data-wiki-id="ja:dokuwiki">DokuWiki</a> に静的なコンテンツを加える簡易な方法です。これを用いると、各ページに共通のヘッダや企業ロゴを加えたり、各ページの末尾に免責文を加えたりできます。 </p> <p> DokuWiki のデフォルトのテンプレートは、ページを表示する際、<code>lib/tpl/default/</code> ディレクトリ内の特別な名前のファイルを探し、適切な場所に単純に挿入します。これらのファイルには好きな <abbr title="HyperText Markup Language">HTML</abbr> を追加できます。もちろんこれは<em>デフォルト</em>のテンプレートを使っている時のみ動作します。 </p> <p> <em class="u">PHP 開発者のためのヒント</em>: これらのファイルの中に PHP を含むことも可能です。 </p> </div> <div class="secedit editbutton_section editbutton_10"><form class="button btn_secedit" method="post" action="/ja:devel:templates"><div class="no"><input type="hidden" name="do" value="edit" /><input type="hidden" name="rev" value="1268540733" /><input type="hidden" name="summary" value="[挿入フック] " /><input type="hidden" name="target" value="section" /><input type="hidden" name="hid" value="挿入フック" /><input type="hidden" name="codeblockOffset" value="3" /><input type="hidden" name="range" value="6519-7384" /><button type="submit" title="挿入フック">編集</button></div></form></div> <h3 class="sectionedit11" id="利用可能なフック">利用可能なフック</h3> <div class="level3"> <p> これらのファイルはすべて <code>lib/tpl/default/</code> ディレクトリ内から検索されます。 </p> <div class="table sectionedit12"><table class="inline"> <thead> <tr class="row0"> <th class="col0 leftalign"> ファイル名 </th><th class="col1 leftalign"> 挿入される <abbr title="HyperText Markup Language">HTML</abbr> の場所 </th> </tr> </thead> <tr class="row1"> <td class="col0 leftalign"> <code>meta.html</code> </td><td class="col1"> <abbr title="HyperText Markup Language">HTML</abbr> の <head> 内。追加のスタイルやメタヘッダーを追加するために使用 </td> </tr> <tr class="row2"> <td class="col0 leftalign"> <code>topheader.html</code> </td><td class="col1"> <body> タグ直後のページの先頭 </td> </tr> <tr class="row3"> <td class="col0 leftalign"> <code>header.html</code> </td><td class="col1"> 上部の青いバーよりも上で、ページ名と Wiki タイトルの下 </td> </tr> <tr class="row4"> <td class="col0"> <code>pageheader.html</code> </td><td class="col1"> パンくずリストの下で、実際のコンテンツの上 </td> </tr> <tr class="row5"> <td class="col0"> <code>pagefooter.html</code> </td><td class="col1"> 下部の青いバーの上で、最終更新日の下 </td> </tr> <tr class="row6"> <td class="col0 leftalign"> <code>footer.html</code> </td><td class="col1"> </body> タグ直前のページの末尾 </td> </tr> </table></div> <div class="secedit editbutton_table editbutton_12"><form class="button btn_secedit" method="post" action="/ja:devel:templates"><div class="no"><input type="hidden" name="do" value="edit" /><input type="hidden" name="rev" value="1268540733" /><input type="hidden" name="summary" value="[テーブル] " /><input type="hidden" name="target" value="table" /><input type="hidden" name="hid" value="table" /><input type="hidden" name="range" value="7529-8166" /><button type="submit" title="テーブル">編集</button></div></form></div> <p> DokuWiki には、いくつかのボタンと、CC ライセンスの RDF 記述を含んだ <code>footer.html</code> の例が付属しています。 </p> </div> <div class="secedit editbutton_section editbutton_11"><form class="button btn_secedit" method="post" action="/ja:devel:templates"><div class="no"><input type="hidden" name="do" value="edit" /><input type="hidden" name="rev" value="1268540733" /><input type="hidden" name="summary" value="[利用可能なフック] " /><input type="hidden" name="target" value="section" /><input type="hidden" name="hid" value="利用可能なフック" /><input type="hidden" name="codeblockOffset" value="3" /><input type="hidden" name="range" value="7385-" /><button type="submit" title="利用可能なフック">編集</button></div></form></div> <!-- wikipage stop --> </div> <div class="docInfo"><bdi>ja/devel/templates.txt</bdi> · 最終更新: <time datetime="2010-03-14T05:25:33+0100">2010-03-14 05:25</time> by <bdi>222.11.220.47</bdi></div> <hr class="a11y" /> </div></main><!-- /content --> <!-- PAGE ACTIONS --> <nav id="dokuwiki__pagetools" aria-labelledby="dokuwiki__pagetools__heading"> <h3 class="a11y" id="dokuwiki__pagetools__heading">ページ用ツール</h3> <div class="tools"> <ul> <li class="edit"><a href="/ja:devel:templates?do=edit" title="文書の編集 [e]" rel="nofollow" accesskey="e"><span>文書の編集</span><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M20.71 7.04c.39-.39.39-1.04 0-1.41l-2.34-2.34c-.37-.39-1.02-.39-1.41 0l-1.84 1.83 3.75 3.75M3 17.25V21h3.75L17.81 9.93l-3.75-3.75L3 17.25z"/></svg></a></li><li class="revs"><a href="/ja:devel:templates?do=revisions" title="以前のリビジョン [o]" rel="nofollow" accesskey="o"><span>以前のリビジョン</span><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M11 7v5.11l4.71 2.79.79-1.28-4-2.37V7m0-5C8.97 2 5.91 3.92 4.27 6.77L2 4.5V11h6.5L5.75 8.25C6.96 5.73 9.5 4 12.5 4a7.5 7.5 0 0 1 7.5 7.5 7.5 7.5 0 0 1-7.5 7.5c-3.27 0-6.03-2.09-7.06-5h-2.1c1.1 4.03 4.77 7 9.16 7 5.24 0 9.5-4.25 9.5-9.5A9.5 9.5 0 0 0 12.5 2z"/></svg></a></li><li class="backlink"><a href="/ja:devel:templates?do=backlink" title="バックリンク" rel="nofollow"><span>バックリンク</span><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M10.59 13.41c.41.39.41 1.03 0 1.42-.39.39-1.03.39-1.42 0a5.003 5.003 0 0 1 0-7.07l3.54-3.54a5.003 5.003 0 0 1 7.07 0 5.003 5.003 0 0 1 0 7.07l-1.49 1.49c.01-.82-.12-1.64-.4-2.42l.47-.48a2.982 2.982 0 0 0 0-4.24 2.982 2.982 0 0 0-4.24 0l-3.53 3.53a2.982 2.982 0 0 0 0 4.24m2.82-4.24c.39-.39 1.03-.39 1.42 0a5.003 5.003 0 0 1 0 7.07l-3.54 3.54a5.003 5.003 0 0 1-7.07 0 5.003 5.003 0 0 1 0-7.07l1.49-1.49c-.01.82.12 1.64.4 2.43l-.47.47a2.982 2.982 0 0 0 0 4.24 2.982 2.982 0 0 0 4.24 0l3.53-3.53a2.982 2.982 0 0 0 0-4.24.973.973 0 0 1 0-1.42z"/></svg></a></li><li class="top"><a href="#dokuwiki__top" title="文書の先頭へ [t]" rel="nofollow" accesskey="t"><span>文書の先頭へ</span><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8v12z"/></svg></a></li> </ul> </div> </nav> </div><!-- /wrapper --> <!-- ********** FOOTER ********** --> <footer id="dokuwiki__footer"><div class="pad"> <div class="license">特に明示されていない限り、本Wikiの内容は次のライセンスに従います: <bdi><a href="https://creativecommons.org/licenses/by-sa/4.0/deed.en" rel="license" class="urlextern">CC Attribution-Share Alike 4.0 International</a></bdi></div> <div class="buttons"> <a href="https://creativecommons.org/licenses/by-sa/4.0/deed.en" rel="license"><img src="/lib/images/license/button/cc-by-sa.png" alt="CC Attribution-Share Alike 4.0 International" /></a> <a href="https://www.dokuwiki.org/donate" title="Donate" ><img src="/lib/tpl/dokuwiki/images/button-donate.gif" width="80" height="15" alt="Donate" /></a> <a href="https://php.net" title="Powered by PHP" ><img src="/lib/tpl/dokuwiki/images/button-php.gif" width="80" height="15" alt="Powered by PHP" /></a> <a href="//validator.w3.org/check/referer" title="Valid HTML5" ><img src="/lib/tpl/dokuwiki/images/button-html5.png" width="80" height="15" alt="Valid HTML5" /></a> <a href="//jigsaw.w3.org/css-validator/check/referer?profile=css3" title="Valid CSS" ><img src="/lib/tpl/dokuwiki/images/button-css.png" width="80" height="15" alt="Valid CSS" /></a> <a href="https://dokuwiki.org/" title="Driven by DokuWiki" ><img src="/lib/tpl/dokuwiki/images/button-dw.png" width="80" height="15" alt="Driven by DokuWiki" /></a> </div> <div style="margin-top: 2em; font-size:90%" class="dokuwiki"><div style="float:right"><a href="http://www.splitbrain.org/personal#imprint" style="float:right; text-decoration: none; color:#333">Imprint</a></div></div><!-- Include for DokuWiki site wide top bar --> <style type="text/css"> @media screen { body { padding-top: 30px; } #global__header { position: absolute; top: 0; left: 0; text-align: left; vertical-align: middle; line-height: 1.5; background-color: #333; box-shadow: 0 0 8px rgba(0,0,0,0.5); width: 100%; margin: 0; padding: 5px 20px; -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; white-space: nowrap; overflow: hidden; } #global__header h2 { position: absolute; left: -99999em; top: 0; overflow: hidden; display: inline; } #global__header ul, #global__header li { margin: 0; padding: 0; list-style: none; display: inline; line-height: 1.5; } #global__header a { color: #bbb; text-decoration: none; margin-right: 20px; font-size: 14px; font-weight: normal; } #global__header a:hover, #global__header a:active, #global__header a:focus { color: #fff; text-decoration: underline; } #global__header form { float: right; margin: 0 0 0 20px; } #global__header input { background-color: #333; background-image: none; border: 1px solid #bbb; color: #fff; box-shadow: none; border-radius: 2px; margin: 0; line-height: normal; padding: 1px 0 1px 0; height: auto; } #global__header input.button { border: none; color: #bbb; } #global__header input.button:hover, #global__header input.button:active, #global__header input.button:focus { color: #fff; text-decoration: underline; } } /* /@media */ @media only screen and (min-width: 601px) { /* changes specific for www.dokuwiki.org */ #dokuwiki__header { padding-top: 3em; } #dokuwiki__usertools { top: 3em; } /* changes specific for bugs.dokuwiki.org */ div#container div#showtask { top: 40px; } } /* /@media */ @media only screen and (max-width: 600px) { body { padding-top: 0; } #global__header { position: static; white-space: normal; overflow: auto; } #global__header form { float: none; display: block; margin: 0 0 .4em; } } /* /@media */ @media print { #global__header { display: none; } } /* /@media */ </style> <div id="global__header"> <h2>Global DokuWiki Links</h2> <form method="get" action="https://search.dokuwiki.org/" target="_top"> <input type="text" name="q" title="Search all DokuWiki sites at once" class="input" /> <input type="submit" title="Search all DokuWiki sites at once" value="Search" class="button" /> </form> <ul> <li><a href="https://download.dokuwiki.org" title="Download the latest release" target="_top">Download</a></li> <li><a href="https://www.dokuwiki.org" title="Read the DokuWiki documentation" target="_top">Wiki</a></li> <li><a href="https://forum.dokuwiki.org" title="Ask questions in the DokuWiki forum" target="_top">Forum</a></li> <li><a href="https://irc.dokuwiki.org" title="Check IRC chat logs or join the chat" target="_top">IRC</a></li> <li><a href="https://github.com/splitbrain/dokuwiki/issues" title="Report and track bugs" target="_top">Bugs</a></li> <li><a href="https://translate.dokuwiki.org/" title="Help translating the DokuWiki interface" target="_top">Translate</a></li> <li><a href="https://github.com/splitbrain/dokuwiki" title="Access the most recent git commits" target="_top">Git</a></li> <li><a href="https://xref.dokuwiki.org/reference/dokuwiki/" title="Cross-Reference of the DokuWiki source code" target="_top">XRef</a></li> <li><a href="https://codesearch.dokuwiki.org/" title="Search through the sources of DokuWiki, plugins and templates" target="_top">Code Search</a></li> </ul> </div> <!-- end of DokuWiki top bar include --> </div></footer><!-- /footer --> </div></div><!-- /site --> <div class="no"><img src="/lib/exe/taskrunner.php?id=ja%3Adevel%3Atemplates&1753588927" width="2" height="1" alt="" /></div> <div id="screen__mode" class="no"></div></body> </html>