LoginSignup
4

More than 5 years have passed since last update.

FuelPHP+Twigでカスタムタグ

Posted at

FuelPHPから渡された値をTwigで配列or文字列を判定する必要があったので、カスタムタグを追加してみました。

①お勧めできないやり方

1.「\fuel\parser\classes\view\twig.php」を「\classes\twig.php」にコピペする
2.「\Parser\View_Twig」を継承したクラスに変更する
3.parser()以外の関数を削除する
4.カスタムタグを追加する

twig.php
class View_Twig extends \Parser\View_Twig
{
    public static function parser(){
        // カスタムタグ
            static::$_parser->addFilter(new Twig_SimpleFilter('is_string_twig', function ($str){
                        return (is_string($str)) ? 1 : 0;
                }));
        // カスタムタグ
    }
}

5.bootstrap.phpでView_Twigの向き先を作成したクラスに設定する

bootstrap.php
Autoloader::add_classes(array(
    'View_Twig'       => APPPATH.'classes/twig.php',
));

6.twigで使用する

xxx.twig
{% if str|is_string_twig %}
    {{ str }}
{% endif %}

②お勧めのやり方

Twig Extensionを使う
http://koyhogetech.hatenablog.com/entry/20131205/fuel_twig

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4