Geeklog 自動タグ(Autotags)をPHPで実行する

Geeklog
投稿者: 表示回数9,799

自動タグを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);
?>