Geeklog 自動タグ(Autotags)をPHPで実行する
- Tuesday, January 13 2015 @ 02:16 AM JST
- 投稿者: Admin
- 表示回数 22,830
自動タグをPHPで実行する場合は、次のように記述します。
[tagname:item]
これをPHPで実行するなら
<?php echo PLG_replaceTags('[tagname:item]'); ?>
テーマ変数を引数にしたければ通常はPHPで記述の必要はありません。
[tagname:{var}]
これを
{!!autotag tagname:'.{var}.' !!}
と表示。
これをPHPで実行するなら
<?php echo PLG_replaceTags('[tagname:'.$this->get_var('var').']'); ?>
自動タグをテンプレート内に記述するとき、引数をテーマ変数ではなく、自由な変数を使ってセットしたければ、以下のようにPHPで記述します。
<?php echo PLG_replaceTags('[tagname:'.$var.']'); ?>
なお、テーマ変数は、PHPでは以下のようにすればテンプレート内でも参照できます。
テーマ変数titleを取得したければ以下。
$this->get_var('title');
PHPで、ログインしているかどうかの判定は以下。COM_isAnonUser()を使います。
if (COM_isAnonUser()){
echo CUSTOM_getStaticpage('_login' );
} else {
echo CUSTOM_getStaticpage('_logout' );
}
くわしくはWiki
テーマ変数をトリミングする場合は、テンプレートに以下のように記述します。
<?php
$var = $this->get_var('data_description');
$length = 140; $encoding = 'utf-8'; echo mb_strimwidth( stripslashes( $var ), 0, $length, '...', $encoding);
?>
なお、多言語サイトの場合、言語IDは
COM_getLanguageId()
で取得します。
例
echo PLG_replaceTags('[staticpage_content:_header_navigation_'.COM_getLanguageId().']');