• 贴心猫(imcat) 英文版模版 --- [Top]
    • ● 目标-添加英文版整套模版:
        -> 假设:假如已经架构模型(enabt:英文版介绍; enews:英文版新闻)
        -> 参考:二次开发 >> 完整示例
        -> 增加一套英文版模板,展示以上模型
    • ● 增加模板目录:
        -> 增加ven目录:/views/ven
        -> 增加子目录:_config(放当前模板配置),_ctrls(放当前模板:控制器/扩展函数)
        -> 其他子目录参考现有模板,自行规划
        -> 增加img/js/css资源目录:
        -> 增加子目录:b_img(放图片图标),assets(放js/css资源)
    • ● 增加入口文件:
        -> 目录:\root\run\
        -> 复制:eng.php 为 english.php,或直接用eng.php文件
        -> 修改:$_cbase['tpl']['vdir'] = 'ven';
        -> 修改:$_cbase['sys']['lang'] = 'en'; // 切换语言
        -> ven即为模板目录
    • ● 添加配置:
        -> 文件:/root/cfgs/sycfg/sy_vopcfg.php
        -> $_sy_vopcfg['tpl']中 添加一项 'ven' => array('英文版','/english.php'),
        -> 访问地址:/english.php,Enjoy!
    • ● 参考提示:
        -> 选现有的复制一份去修改:如home(中文版)
        -> 参考目录:/views/下:dev, home, adm
  • 贴心猫(imcat) 模型配置 --- [Top]
    • ● 复制首页配置:
        -> va_home.php,从/views/home/_config 到/views/ven/_config目录
    • ● 复制英文版介绍配置:
        -> vc_about.php,从/views/home/_config 到/views/ven/_config目录
        -> 并改名为:vc_enabt.php,(enabt为模型标识)
    • ● 复制英文版新闻配置:
        -> vc_news.php,从/views/home/_config 到/views/ven/_config目录
        -> 并改名为:vc_enews.php,(enews为模型标识)
    • ● 模版/资源等:
        -> 复制相关模版/静态资源:从/views/home/ 到/views/ven/目录
        -> 根据需要,修改配置,模版,资源……
  • 贴心猫(imcat) 模型配置规范 --- [Top]
    • va_home:首页配置
        -> c:基本配置
        -> m:模块首页模板
        -> u:(自定义)配置用户登录注册链接
      见/views/umc/_config/va_home.php

    • ● vc_model:系统模型
        -> model为模型ID,一个模型一个文件
    • ● ve_extra:扩展模型
        -> extra为模型ID,一个扩展模型一个文件
  • 贴心猫(imcat) 模板套件工具 --- [Top]
    • ● 目的:diy做一套前台显示的样例模板
    • ● 说明:
        -> diy地址:{proj}/root/tools/exdiy/mktpl.php,为安全,只能本地ip或机器名打开;
        -> 默认,只创建显示一个系统 [文档/资讯]模型 和 一个hello扩展模型;
        -> 丰富模板,添加显示更多模型,请手动了!
    • ● 想法来源:
        -> Symfony 使用“app/console generate:bundle”命令创建Bundle;
        -> 它为什么用命令弄得那么高深,而不直接做个php网页界面来实现?
        -> 本系统,仿照Symfony创建Bundle,实现diy做一套前台显示的样例模板;
        -> 本系统,并命名为“模板套件工具”,感觉不是很合适,后续改名吧……
  • 贴心猫(imcat) 注意事项(bug) --- [Top]
    • 这是模板解析中存在的bug;

        -> 以下1,2问题,不想从解析中解决(替换来替换去),
        -> 请根据情况避开(其实很好避开)使用;

    • ● 【1】 tpl的html注释中用花括号({})输出变量:
    // 如:<!--{=$this->tplname}-->
    // -=>解析成:<?php echo @$this->tplname; ?>
    // -=>应当为:<!--<?php echo @$this->tplname; ?>-->
    //  解决:在前后加个如空格等特殊符号如:<!--/{=$this->tplname}/-->  
    // 或 评论(<i id="jsid_count_{=$pmod}:{=$did}">0<!--`{=$this->mod},cnt_{=$pmod}`--></i>条) (变量需要`符号分开)
    • ● 【2】 tpl的php块中输出变量,不能在双引号("")里面用花括号({})把变量包起来:
    // !!! 本问题在v3.9已经解决, old is:{$vname} -=> new is:{=$vname}
    如:{php echo "userip={$_cbase['run']['userip']};"; }
    -=>解析成:<?php echo "userip=<?php echo @$_cbase['run']['userip']; ?>;"; ?>
    -=>应当为:<?php echo "userip=".@$_cbase['run']['userip'].";"; ?>
    解决1:用原始的点(.)连接字符串:{php echo "userip=".@$_cbase['run']['userip'].";"; }
    解决2:对大块PHP代码,不需要模板解析,可用如下类似语法包含文件:
    {php include_once vopTpls::tinc('m_tppart/tpfile',0); } 
    或:{code:"dev:tools/a-cfgs"}
    -=> 相当于inc文件(此方式不会使用模板解析):
    {当前模板}/m_tppart/tpfile.php 
  • 贴心猫(imcat) 多语言部署 --- [Top]
    • ● 多语言包配置:
        -> 配置语言包位置:/imcat/lang/,
        -> 按类别分目录存放;一个目录下,一个语言包一个文件
        -> 入口文件:增加申明语言包:$_cbase['sys']['lang'] = 'en'; // 切换语言
    • ● 多语言模版调用
        * php 
         - basLang::show('core.page_First')
         - lang('admin.adm_center') 
         - <?php lang('tools.start_setup',0) ?>
        * tpl
         - {lang(core.view_times,$click)} 
         - {lang(core.sys_name)}
        * js
         - lang('jcore.sub_key')

提示:`/dev.php`入口为贴心猫中文文档;欢迎进入`问答`交流使用经验!

QQ群:607070548; Copyright © 2011-2018 txjia.com All rights reserved.

Run:0.000/24.503(ms); 0(sql)/1.967(MB); dev:c_demo/tpltag_main; Upd:2024-11-15 17:22:30