视图基本标签

标签常量

YY框架的标签中有8个标签常量:

/**JS文件调用路径*/
$JS = Page::asset('js/');
/**CSS文件调用路径*/
$CSS = Page::asset('css/');
/**图片文件调用路径*/
$IMG = Page::asset('media/images/');
/**动画文件调用路径*/
$ANI = Page::asset('media/animations/');
/**视频文件调用路径*/
$VID = Page::asset('media/videos/');
/**声音文件调用路径*/
$SOU = Page::asset('media/sounds/');
//国际化页面文字
/**通用页面国际化信息*/
$COM = YYUC::i18n();
/**具体页面国际化*/
$TXT = YYUC::i18n_page_init(Page::$my_view);

资源定位

其中前6个是资源文件的引用,通常在视图文件中你可以这样写:

<script src="{$JS}bootstrap.min.js"></script>
<link rel="shortcut icon"  type="image.png" href="{$IMG}favicon.png">

很显然这6个标签是对资源文件的绝对引用,有了他们你就没有必要为烦人的资源定位而苦恼了。

注意: css文件中同样存在图片资源定位的问题,因为css文件不是视图文件无法实现预编译,所以css文件中我们采取一种特殊的图片定位符img@来定位图片文件。

css中图片的定位示例:

.well {
  min-height: 20px;
  padding: 19px;
  margin-bottom: 20px;
  background-color: #f5f5f5;
  background: #f5f5f5 url(img@bg-secondary.png) repeat-x top left;
  border: 1px solid #eee;
  border: 1px solid rgba(0, 0, 0, 0.05);
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);
  -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);
}

国际化文本引入

$COM和$TXT是针对国际化网站的文本引入常量,两个常量中分别保存了全局的和针对当前页面的文本信息,他们通过如下的方式调用:

#此处{$TXT['un']}的值为"用户名",而如果是英文浏览器访问的话这个值会变成"username"
<label for="username">{$TXT['un']}:</label>

#此处的$COM和$TXT实现的效果相同,只是$COM在任何视图中所访问的值都是相同的,而$TXT是针对每个视图单独定义的
<span>版权所有{$COM['copyright']}</span>

更过关于国际化的知识请参阅国际化一节

逻辑标签

输出

控制器中定义的变量视图中可以直接进行输出

变量输出:

{$var}

函数执行并输出:

{date()}

特殊字符转义输出:

#这是防止跨站脚本攻击的有效输出方式
{h $var}

转义后的特殊字符原格式输出

#与{h $var}的作用正好相反
{c $var}

回车转换为html换行并输出:

{n $var}

回车转换为html换行并进行html字符安全转义输出:

{nh $var}

逻辑

php脚本执行:

{_ $var =1}

判断脚本:

{if $var==1}
...
{elseif  $var==2}
...
{else}
...
{/if}

循环脚本:

#普通循环   
{loop $arr as $key=>$value}
{/loop}

{for $i=0;$i<10;$i++}
{/for}

{while $i<10}
{/while}

#只循环前20次:
{20 loop $arr as $value}
{/loop}

#设置循环计数器,其中$i从1开始递增
{loop@i $arr as $value}
<span>{$i}</span>
{/loop}

提示:如果想在模板文件中直接输出{,请在{之后加上空格或者之前加上! 形如:{空格 或者 !{