テーマ制作時によく使うメソッド

テーマの制作にあたり、よく使う関数を挙げました。参考にしてください。
これ以外の関数については、APIリファレンス も参照してみてください。

テキスト処理

HTMLエンティティ変換

t::h() は、PHPの htmlspecialchars() のエイリアスです。

<?php
	print t::h('<strong>ここはHTMLエンティティが変換されます。</strong>');
?>

テストプリント

test::var_dump() は、値の構造を可視化する関数です。PHPの var_dump() と同じですが、着色された読みやすいHTMLとして表示します。

<?php
	test::var_dump( $vars );
?>

コンテンツソースの出力

メインコンテンツエリア出力

<div class="contents" id="content">
<?php
	print $px->theme()->pull_content();
?>
</div>

headセクションへの出力

<?php
	print $px->theme()->pull_content('head');
?>

サイト情報出力

サイトタイトル出力

<?php print t::h($px->get_conf('project.name')); ?>

カレントページ情報出力

ページタイトル

<?php
	$page_info = $this->px->site()->get_current_page_info();
	print t::h($page_info['title']);
?>

メタタグ(keywords, description)

<?php
	$page_info = $this->px->site()->get_current_page_info();
?>
<meta name="keywords" content="<?php print t::h($page_info['keywords']); ?>" />
<meta name="description" content="<?php print t::h($page_info['description']); ?>" />

その他のカレントページの情報

$site->get_current_page_info() が返す連想配列には、ページに関するすべての情報が含まれています。取り出したいカラムの名前をキーにしてアクセスします。

<?php
	$page_info = $this->px->site()->get_current_page_info();
	$key = 'title_h1';//←例:H1見出しラベルの場合
	print $page_info[$key];
?>

任意のページの情報出力

カレントページ以外のページの情報は、 $px->site()->get_page_info({$page_id}) を使用して取得できます。
{$page_id} には、ページIDの代わりにパスを与えることもできます。ページ情報へのアクセスの仕方は、カレントページの場合と同じです。

<?php
	$page_info = $px->site()->get_page_info('page_id');
	print t::h($page_info['title']);
?>

サイトマップ操作

親ページのページID取得

<?php
	$page_id = $px->site()->get_parent();
?>

兄弟ページ一覧の取得

<?php
	$bros = $px->site()->get_bros();
?>

指定ページの兄弟を取得する場合は、引数に、対象ページのパス(またはページID)を指定します。

<?php
	$bros = $px->site()->get_bros( '/_docs/modules/' );
?>

子ページ一覧の取得

<?php
	$children = $px->site()->get_children();
?>

指定ページの兄弟を取得する場合は、引数に、対象ページのパス(またはページID)を指定します。

<?php
	$children = $px->site()->get_children( '/_docs/modules/' );
?>

リンク

リンクパス先を取得する

$px->theme()->href() は、第1引数に受け取ったパス(またはページID)のページへのパスを返します。ドキュメントルート直下にインストールされていない場合でも成立するように整形されたパスとして取得することができます。
次の例では、HTMLに出力するために t::h() でHTMLエンティティ変換をかけて出力しています。

<?php
	print '<a href="'.t::h($px->theme()->href('/_docs/modules/')).'">モジュール集</a>';
?>

リンクタグを生成する

$px->theme()->href() をさらにラップする関数に、$px->theme()->mk_link() があります。
この関数は、パス(またはページID)に対するリンクタグを生成して返します。リンクラベルはサイトマップ情報から自動的に取得して設定され、カレントページへのリンクには自動的にCSSクラス .current を付加します。

<?php
	print $px->theme()->mk_link('/_docs/modules/');
?>

インクルードファイルを埋め込む

<?php
	print $px->ssi('/common/inc/sample.inc');
?>

<前へ | 次へ>

次期バージョン Pickles 2 を公開しました。もっと詳しく