ウェブデザインとプログラムのナインマイルズ

s9yドキュメント

CSSクラス・Smartyの変数

  1. このセクションのオリジナルドキュメント
  2. ..(テクニカルドキュメント)
  3. CSSクラス
  4. Smarty変数
  5. プラグインフック

CSSクラス

.serendipity_entry

エントリを囲むクラス。

.serendipity_title

各エントリのタイトルに使われるクラス。

.serendipity_date

各エントリの日付に使われるクラス。

.serendipity_commentsTitle

エントリ拡張表示の際、トラックバックコメントコメント追加のタイトル部に使われるクラス。

.serendipitySideBarTitle

サイドバープラグインのタイトルに使われるクラス。

Smarty変数

$raw_data [多様型]

かつての方法である layout.php を利用したテーマの際、ここに layout.php からの出力が格納されます。

参照範囲:*.tpl

$plugin_calendar_weeks [配列], $plugin_calendar_dow [配列], plugin_calendar_head [配列]

サイドバーのカレンダーに表示するアイテムが格納されます (連想配列)。

参照範囲:plugin_calendar.tpl

$is_form [論理型], $category_image [文字列], $form_url [文字列], $categories [配列]

サイドバーのカテゴリ一覧を表示させるための個別の変数。
$is_form は複数カテゴリ表示が選ばれた時に<form>タグが存在するかどうかを示します。

$form_url はフォームのサブミット先のURLを格納しています。

$category_image にはXMLボタンの画像ファイル名が格納されています。

$categories は (入れ子になった) カテゴリ一覧の連想配列です。

参照範囲:plugin_categories.tpl

$plugindata [配列], $pluginside [文字列]

$plugindata はサイドバープラグインの出力のための連想配列です。
キーは、side (left/right)、class (CSS)、title (text)、content (HTML)、id (plugin ID) となります。

参照範囲:sidebar.tpl

$leftSidebarElements [整数型], $rightSidebarElements [整数型]

左右それぞれのサイドバープラグインの数を格納しています。

参照範囲:*.tpl

$content_message [文字列]

Serendipityが出す特定のエラーと警告 (例えば、検索で見つかった数や、エントリが見つからなかった旨の表示など) に関するいくつかの出力が保存されています。

$searchresult_tooShort [論理型], $searchresult_error [論理型], $searchresult_noEntries [論理型], $searchresult_results [論理型]

クイックサーチがエラーを返したのか、結果を返したのか、該当エントリが無かったのかを示します。

参照範囲:index.tpl, content.tpl

$startpage [論理型]

TRUEの場合、Serendipityは今のところ、フロントエンドでスタートページを表示します。

参照範囲:*.tpl

$uriargs [配列]

現在のページまでに辿ったURIの引数一覧を格納しています。

参照範囲:*.tpl

$is_preview [論理型]

TRUEの場合、テンプレートは今のところ、バックエンドからプレビューモードで呼び出されます。

参照範囲:*.tpl

$preview [文字列]

(entries.tpl でパースされた) エントリのプレビューを格納しています。

参照範囲:preview_iframe.tpl

$commentform_action [文字列], $commentform_id [文字列], $commentform_name [文字列], $commentform_email [文字列], $commentform_url [文字列], $commentform_remember [文字列], $commentform_replyTo [配列], $commentform_subscribe [文字列], $commentform_data [文字列], $is_commentform_showToolbar [論理型], $is_allowSubscriptions [論理型], $is_moderate_comments [論理型], $commentform_entry [配列]

コメントフォームを表示するための多様な変数群です。

$commentform_action にはデータをサブミットするためのフォームのURLが格納されています。

$commentform_id にはフォームを表示するべきエントリのIDを格納されています。

$commentform_name や _email など:ユーザーが入力した個別のデータです。
POSTまたはCOOKIEから取得されます。

$commentform_replyTo:これまでにスレッド化されたコメントのドロップダウンの値を格納しています。

$is_commentform_showToolbar:拡張コメントオプションを表示するかどうかを示します (管理者用)。

$is_allowSubscriptions:メールの告知オプションを有効にするかどうか。

$is_moderate_comments:現行のエントリにモデレーションを必要とするかどうか。

$commentform_entry:コメントが付いたエントリの連想配列データです。

参照範囲:commentform.tpl

$comments [配列]

(スレッド化された) コメントの一覧です。

参照範囲:comments.tpl

$metadata [配列], $entries [配列], $is_comments [論理型], $last_modified [文字列], $self_url [文字列], $namespace_display_dat [文字列], $once_display_dat [文字列]

RSSとATOMフィードを表示するための多様な変数群です。

$metadata は現行フィードのメタデータを含んでいる連想配列です。
配列のキーは以下の通りです。
title (フィードのタイトル)
description (フィードの概要)
language (フィードの言語)
additional_fields (配信プラグインによる特定のフィールド)
link (フィードのリンク)
email (管理者のEメール)
fullFeed (もし含まれていた場合フィードの全文)
showMail (Eメールが公開されているかどうか)
version (フィードのバージョン)

$entries はエントリデータの連想配列です。

$is_comments はコメントのみのフィードかどうかを示します。

$last_modified にはエントリの最終変更日のタイムスタンプが格納されています。

$self_url には現行フィードのURLが格納されています。

$namespace_display_dat にはプラグインによって構成された、付加的なXMLネームスペースが格納されています。

参照範囲:feed*.tpl

$entry_id [整数型], $is_comment_added [論理型], $comment_url [文字列], $comment_string [文字列], $is_showtrackbacks [論理型], $comment_entryurl [文字列], $is_showcomments [論理型], $is_comment_allowed [論理型], $is_comment_notadded [論理型], $is_comment_empty [論理型]

ポップアップウィンドウに表示されるコメントのための多様な変数群です。

$entry_id はコメントを表示すべくエントリのIDです。

$is_comment_added はコメントが加えられた時にそれを示すかどうかを決めます。

$comment_url にはコメントをサブミットする先のURLが格納されています。

$comment_string はコメントが投稿された後に返すメッセージです。

$is_show_trackbacks はトラックバックを表示するかどうかを示します。

$comment_entryurl にはコメントが表示されるべくエントリのURLが格納されています。

$is_showcomments はコメントを表示するかどうかを示します。

$is_comment_allowed はコメントが許可されているかどうかを示します。

$is_comment_notadded はコメントが追加できなかった時にセットされます。

$is_comment_empty は空のコメントがサブミットされた時にセットされます。

参照範囲:commentpopup.tpl

$view [文字列 - s9yバージョン1.0-beta3以降で有効]

フロントエンドにおいて、現在の表示モードを示します。
モードは以下のいずれかとなります。
archives, entry, feed, admin, archive, plugin, categories, authors, search, css, start, 404

参照範囲:*.tpl

ページネーション用フッタを表示するための多様な変数群です。

$footer_prev_page、$footer_next_page、そして $footer_pageLink には、前のページ、次のページ、そして現在のページへのリンクが格納されています。

$footer_totalEntries は現在の表示範囲で表示可能なエントリの総数を保持しています。

$footer_totalPages は現在の表示範囲で表示可能なページの総数を保持しています。

$footer_currentPage はこれまでに表示されたページの数を保持しています。

$footer_info には現在見ているページのテキストによる表現が格納されています (表示例:ページ 1/61, 合計 303エントリ)。

参照範囲:entries.tpl

$plugin_clean_page [論理型], $comments_messagestack [配列], $is_comment_added [論理型], $is_comment_moderate [論理型], $entries [配列]

エントリを表示したりパースするための様々な変数群です。

$plugin_clean_page はプラグインが entries.tpl のパースを引き継いだか、そして通常のエントリ一覧が表示されていないかどうかを示します。

$comments_messagestack はユーザーがコメントをサブミットした際の (「コメントが追加されました」「コメントは承認待ちです」などの) 出力用メッセージを保持しています。

$is_comment_added はコメントがサブミットされた時にそれを示します。

$is_comment_moderate は現在表示されているエントリが承認制かどうかを示します。

$entries は一つの大きな変数で、現在のページに表示されている全てのエントリについて保持している多次元配列です。 重要なキーのインデックスは以下の通りです:

title:エントリのタイトル
html_title:生のエントリタイトル (ここでは htmlspecialchars は適用されていません
body:エントリの本文
extended:拡張エントリ
is_cached:現在のエントリがキャッシュ済みかどうか
author:エントリの著者
authorid:エントリの著者ID
email:エントリ著者のEメールアドレス
link:現在のエントリのURL
commURL:エントリへのコメントへのリンク
rdf_ident:RDFメタデータのユニークID
link_rdf:RDFメタデータのURL
allow_comments:該当する特定のエントリにコメントが許可されているかどうか
moderate_comments:当該エントリでコメントが承認制かどうか
viewmode:当該エントリのコメントがリニア表示モードなのかスレッド表示モードなのか
link_viewmode_threaded:スレッドモードによるコメント表示へのリンク
link_viewmode_linear:リニアモードによるコメント表示へのリンク
link_author:現在のエントリ著者の全エントリを表示するためのリンク
link_allow_comments:コメント許可用の管理用リンク
link_deny_comments:コメント拒否用の管理用リンク
link_popup_comments:当該エントリに対するコメント用のポップアップウィンドウのURL
link_popup_trackbacks:当該エントリに対するとトラックバック用のポップアップウィンドウのURL
link_edit:エントリ編集用のバックエンドへのURL
link_trackback:当該エントリへのトラックバック用URL
categories:当該エントリに関連のある全カテゴリの配列
has_extended:エントリに拡張エントリ部があるかどうか
is_extended:拡張エントリ部まで全て表示されているかどうか
has_comments:エントリにコメントがあるかどうか
label_comments:コメント用のテキストラベル (singular/plural)
has_trackbacks:エントリにトラックバックがあるかどうか
label_trackbacks:トラックバック用のテキストラベル (singular/plural)
is_entry_owner:該当エントリの著者が登録済みのユーザーかどうか
plugin_display_dat:該当エントリ用のプラグインによる出力データ

参照範囲:entries.tpl

$trackbacks [配列]

表示されているトラックバックを保持している配列です。

参照範囲:trackbacks.tpl

$head_charset [文字列], $head_version [文字列], $head_title [文字列], $head_subtitle [文字列], $head_link_stylesheet [文字列], $is_xhtml [論理型], $serendipityVersion [文字列], $lang [文字列]

Serendipityのバージョンと言語、ブログタイトル、スタイルシートへのリンクを定義する変数群です。 $head_title と $head_subtitle はその時フロントエンドで動いている状態 (カテゴリ表示、アーカイブ表示など) に応じて決められます。

参照範囲:*.tpl

$use_popups [論理型], $is_embedded [論理型], $is_raw_mode [論理型]

ポップアップウィンドウが有効かどうか、ブログが埋め込みモードかどうか、廃止予定である layout.php によるスタイル付けが使われているかどうかを示します。

参照範囲:*.tpl

$entry_id [整数型], $is_single_entry [論理型]

フロントエンドが現在一つの記事を表示している場合、これらの変数には論理値の状態 (TRUEかFALSE) とエントリIDが格納されます。

参照範囲:*.tpl

$blogTitle [文字列], $blogSubTitle [文字列], $blogDescription [文字列]

管理者が登録した設定済みのブログのタイトルと、サブタイトル、そしてブログの概要説明を保持しています。 これらの変数は、$head_subtitle 変数と $head_title 変数とは違って変更できないことに注意してください!

参照範囲:*.tpl

$serendipityHTTPPath [文字列], $serendipityBaseURL [文字列], $serendipityRewritePrefix [文字列], $serendipityIndexFile [文字列]

ブログに必要ないくつかのURLを保持しています。

参照範囲:*.tpl

$category [整数型], $category_info [配列]

$category はカテゴリ表示がされている場合に、現在のカテゴリIDを保持します。 $category_info にはカテゴリに関する全てのデータ ('category_name', 'parentid', 'category_description' など) を持つ連想配列が格納されています。

参照範囲:*.tpl

$template [文字列]

現在選択されているテンプレート名です。

参照範囲:*.tpl

$dateRange [配列]

表示するエントリの日付範囲が限定されている場合、二つのタイムスタンプの配列を保持しています。

参照範囲:*.tpl

$template_option [配列 - s9yバージョン1.1以降で有効]

テンプレートがサポートしているオプション (例えば、配色設定やナビゲーション用リンクなど) 用にバックエンドで設定されている、設定済み項目を保持しています。

参照範囲:*.tpl

プラグインフック

ほとんどのプラグインフックについてはプラグインのAPIの "イベントプラグイン" セクションに書かれています。

frontend_header

プラグインはヘッダに入れられるHTMLを発行することができます。

プラグインはフッタに入れられるHTMLを発行することができます。


以下は、標準のテーマで使われているクラスとIDの早見表です。
いくつかのプラグインや、あなたのニーズに合わせて調整した .tplファイルによって、さらに多くのクラスとIDが生成されますが、これらが初めに取り組むべき一例となります。

インデントは、これらクラスとIDを使用するHTML要素の入れ子状態を表します。 あなた独自のテンプレートを設計する際、スタイルの継承を使うのに役立つはずです。

Serendipity