• smarty 注册函数使用初体验


    最近有一个把系统通过语言包转换成越南语的需求,之前系统没做过任何多语言的支持,为了简化工作量,尝试把中文作为smarty的key
    来传递值,调用方式为{$测试},发现这样不行,查看了smarty的help,发现可以有个注册函数的方法,试验了一下,
    <?
    require_once SYSDIR."global.inc.php";
    //把php语言翻译函数translater注册为smarty函数lang
    $smarty-> register_function("lang",'translater');
    /**
    *语言转换
    */
    function translater($word){
        global $LANGUAGE_CONFIG;
        $cnt = "";
        extract($word);//处理参数,word从smarty过来会是一个数组,内容为lang的属性k-v结构
        $lang = $cnt;
        $result = $LANGUAGE_CONFIG[$lang];
        if(empty($result)){
            $result = $cnt;
        }
        echo $result;
    }
     
    =======================================
    TPL调用:
    <title>{lang cnt="这里是个测试标题"}</title>
     
    =======================================
    语言包结构:
    <?
    global $LANGUAGE_CONFIG;
    $LANGUAGE_CONFIG['这里是个测试标题']="this is the test title";




  • 相关阅读:
    Linux 学习 -- 修改文件的权限(chmod)
    Spring MVC
    Spring AOP与IOC
    Java学习
    SSH学习
    Android之Service
    Android之操作相册
    Android之ListView优化
    Android之Bitmap 高效加载
    Android数据储存之SQLiteDatabase SQLiteOpenHelper类的简单使用
  • 原文地址:https://www.cnblogs.com/firmy/p/2782021.html
Copyright © 2020-2023  润新知