前言

Smarty是一个使用PHP写出来的模板引擎,是目前业界最著名的PHP模板引擎之一。它分离了逻辑代码和外在的内容,提供了一种易于管理和使用的方法,用来将原本与HTML代码混杂在一起PHP代码逻辑分离。简单的讲,目的就是要使PHP程序员同前端人员分离,使程序员改变程序的逻辑内容不会影响到前端人员的页面设计,前端人员重新修改页面不会影响到程序的程序逻辑,这在多人合作的项目中显的尤为重要。作为一个前端工程师了解Smarty也很有必要,本文是从官方文档上归纳出来的简明教程,以备快速查阅。

1.基本语法

所有的smarty模板标签都被加上了定界符。默认情况下是 { 和},但它们是可被改变的,可以进行自定义设置。

Comments[注释]

示例:

{* Smarty *}

Functions[函数]

每一个smarty标签输出一个变量或者调用某种函数。在定界符内 函数(用'{'包住)和其属性(用界符包住)将被处理和输出。

示例:

{config_load file="colors.conf"}{include file="header.tpl"}{if $highlight_name}Welcome, <font color="{#fontColor#}">{$name}!</font>    
{else}Welcome, {$name}!
{/if}{include file="footer.tpl"}

Attributes[属性]

大多数函数都带有自己的属性以便于明确说明或者修改他们的行为。smarty函数的属性很像HTML中的属性。静态数值不需要加引号,但是字符串建议使用引号。 如果用变量作属性,它们也不能加引号。

示例:

{include file="header.tpl"}{include file=$includeFile}{include file=#includeFile#}

{html_select_date display_days=yes}<SELECT name=company>
{html_options values=$vals selected=$selected output=$output}
</SELECT>

Embedding Vars in Double Quotes[双引号里值的嵌入]

Smarty可以识别嵌入在双引号中的变量,只要此变量只包含数字、字母、下划线和中括号[]。对于其他的符号(句号、对象相关的,等等)此变量必须用两个'`'(此符号和‘ ~ '在同一个键上,一般在ESC键下面一个键上)包住。

SYNTAX EXAMPLES:
{func var="test $foo test"} <-- sees $foo
{func var="test $foo_bar test"} <-- sees $foo_bar
{func var="test `$foo.bar` test"} <-- sees $foo.barPRACTICAL EXAMPLES:
{include file="subdir/$tpl_name.tpl"} <-- will replace $tpl_name with value
{cycle values="one,two,`$smarty.config.myval`"} <-- must have backticks

Math[数学运算]

数学运算可以直接应用到变量。

{$foo+1}{$foo*$bar}{$foo->bar-$bar[1]*$baz->foo->bar()-3*7}{$foo|truncate:"`$fooTruncCount/$barTruncFactor-1`"}{assign var="foo" value="`$foo+$bar`"}

Escaping Smarty Parsing[忽略Smarty解析]

在Smarty模版,如果‘{’和‘}’大括号里包含有空格那么整个{}内容会被忽略,你可以设置Smarty类变量$auto_literal=false来取消这种规则。

{literal}...{/literal}块被用来忽略模版语法的解析,你也可以用{ldelim}、{rdelim}标签或{$smarty.ldelim}、{$smarty.rdelim}变量来忽略个别大括号(译注:后面两种方法主要用来在模版中输出左右大括号)。
Smarty默认定界符‘{’和‘}’简洁地描述具体的内容,然而如果你有更好的定界符设置,也可以用Smarty的$left_delimiter和$right_delimiter设置相应的值。

2.Variables [变量]

从PHP分配的变量

调用从PHP分配的变量需在前加"$"符号,调用模板内的assign函数分配的变量也是这样。

Associative arrays[关联数组]

要想引用关联数组变量,可以用'.'取得对应key的value。

{$Smarty.example}

Array indexes[数组下标]

可以通过变量的下标取得对应的位置的元素。

{$Smarty[index]}

Objects[对象]

对象的属性可以通过“->”符号引用。

{$Smarty->key}

Variable scopes [变量范围]

你可以选择为主要的Smarty对象作用域分配变量,createData()用来建立数据对象,createTemplate()用来建立模板对象。这些对象支持链式,在模板中可以查看所有模板本身的对象变量和所有分配给父对象链的变量。默认情况下,模板在执行$smarty->displaty(...)、$smarty->fetch(...)方法时已自动链接至Smarty对象变量范围。对于分配到单个数据或模板对象的变量,您可以完全控制哪些变量在模板中可见。

// 为Smarty对象域分配变量
$smarty->assign('foo','smarty');// 为数据对象域分配变量
$data = $smarty->createData();
$data->assign('foo','data');
$data->assign('bar','bar-data');// 为其它数据对象域分配变量
$data2 = $smarty->createData($data);
$data2->assign('bar','bar-data2');// 为模版对象域分配变量
$tpl = $smarty->createTemplate('index.tpl');
$tpl->assign('bar','bar-template');

从配置文件读取的变量

配置文件中的变量需要通过用两个"#"或者是smarty的保留变量"$smarty.config."来调用。配置文件的变量只有在它们被加载以后才能使用。

示例:

foo.conf:pageTitle = "This is mine"
bodyBgColor = "#eeeeee"
tableBorderSize = "3"
tableBgColor = "#bbbbbb"
rowBgColor = "#cccccc"index.tpl:{config_load file="foo.conf"}
<html><title>{#pageTitle#}</title><body bgcolor="{#bodyBgColor#}"><table border="{#tableBorderSize#}" bgcolor="{#tableBgColor#}"><tr bgcolor="{#rowBgColor#}"><td>First</td><td>Last</td><td>Address</td></tr></table></body>
</html>

{$smarty}保留变量

  • Request variables[页面请求变量,如get,post,server,session等]
  • {$smarty.now}[当前timestamp]
  • {$smarty.const}[直接访问PHP常量值]
  • {$smarty.capture}[capture函数的作用是捕获模板输出的数据并将其存储到一个变量里,而不是把它们输出到页面。]
  • {$smarty.config}[访问config文件的变量]
  • {$smarty.section}
  • {$smarty.foreach}
  • {$smarty.template}[包含正在处理的模板的名称]
  • {$smarty.current_dir}
  • {$smarty.version}
  • {$smarty.block.child}
  • {$smarty.block.parent}
  • {$smarty.ldelim}, {$smarty.rdelim}

3.Variable Modifiers [变量调节器]

变量调节器用于变量,自定义函数和字符串。 请使用‘|’符号和调节器名称应用调节器。 变量调节器由赋予的参数值决定其行为。 参数由‘:’符号分开。

示例:

{* Uppercase the title *}<h2>{$title|upper}</h2>{* Truncate the topic to 40 characters use ... at the end *}
Topic: {$topic|truncate:40:"..."}{* format a literal string *}
{"now"|date_format:"%Y/%m/%d"}{* apply modifier to a custom function *}
{mailto|upper address="me@domain.dom"}

调节器列表

  • capitalize[首字母大写]
  • count_characters[计算变量里的字符数,默认false,不计算空格,true计算空格]
  • cat[将cat里的值(string)连接到给定的变量后面]
  • count_paragraphs[计算变量里的段落数量]
  • count_sentences[计算变量里句子的数量]
  • count_words[计算变量里的词数]
  • date_format[格式化从函数strftime()获得的时间和日期]
  • default[为空变量设置一个默认值,变量为空或者未分配的时,将由给定的默认值替代输出]
  • escape[将变量按照指定转码方式编码,默认html,可选参数:html,htmlall,url,quotes,hex,hexentity,javascript]
  • indent[设置缩进字符,默认是4个字符。第二个可选参数,可指定缩进用什么字符代替。]
  • lower[将变量字符串小写]
  • nl2br[换行符替换成<br />]
  • regex_replace[寻找和替换正则表达式 ]
  • replace[简单的搜索和替换字符串,第一个参数是被替换字符,第二个是替换字符]
  • spacify[插空是一种在字符串的每个字符之间插入空格或者其他的字符(串)]
  • string_format[一种格式化字符串的方法,使用sprintf语法格式化]
  • strip[用一个空格或一个给定字符替换所有重复空格,换行和制表符]
  • strip_tags[去除<和>标签,包括在<和>之间的任何内容]
  • truncate[从字符串开始处截取某长度的字符,默认是80个。参数:截取个数:追加字符:是否精确]
  • upper[将变量改为大写]
  • wordwrap[指定段落的宽度,默认为80。参数:字符个数:约束点字符:是否精确]

4.Combining Modifiers[组合修改器]

对于同一个变量,你可以使用多个修改器。它们将从左到右按照设定好的顺序被依次组合使用。使用时必须要用"|"字符作为它们之间的分隔符。

示例:

{$Smarty|lower|spacify|truncate:30:". . ."}

5.Built-in Functions[内建函数]

{$var=}

这是{assign}函数的简写版,你可以直接赋值给模版,也可以为数组元素赋值。

{append}

{append}用于在模板执行期间建立或追加模板变量数组。

属性:

选项标签:

示例:

{append var='name' value='Bob' index='first'}
{append var='name' value='Meyer' index='last'}
// or 或者
{append 'name' 'Bob' index='first'} {* short-hand *} {* 简写 *}
{append 'name' 'Meyer' index='last'} {* short-hand *}

{assign}

{assign}用来在模板运行时为模板变量赋值。

属性:

选项标签:

{assign var="name" value="Bob" nocache}
{assign "name" "Bob" nocache} {* short-hand *}

{block}

{block}用来定义一个命名的模板继承源区域。{block}的一个子模板源区将取代父模板中的相应区域。任意的子、父模板{block}区域可以彼此结合。可以利用子{block}定义中的append、prepend选项标记追加或预置父{block}内容。使用{$smarty.block.parent}可将父模板的{block}内容插入至子{block}内容中的任何位置。使用{$smarty.block.child}可将子模板{block}内容插入至父{block}内容中的任何位置。{block}可以嵌套。

属性:

选项标签:

示例:

parent.tpl
<html><head><title>{block name="title"}Title - {/block}</title></head>
</html>child.tpl
{extends file="parent.tpl"} 
{block name="title" prepend}
Page Title
{/block}The result would look like
<html><head><title>Title - Page Title</title></head>
</html>

{call}

{call}用来调用{function}标签定义的模板函数,类似于插件函数。

另外你可以在模板中直接使用{funcname...}函数。

  • {call}标签的属性名须包含模板函数的名称;
  • 变量值可以通过模板函数作为属性传递。

属性:

选项标签:

示例:

{* define the function *} {* 定义函数 *} 
{function name=menu level=0}
<ul class="level{$level}">
{foreach $data as $entry}
{if is_array($entry)}
<li>{$entry@key}</li>
{call name=menu data=$entry level=$level+1}
{else}
<li>{$entry}</li>
{/if}
{/foreach}
</ul>
{/function}{* create an array to demonstrate *}{*创建一个演示数组*}
{$menu = ['item1','item2','item3' => ['item3-1','item3-2','item3-3' =>['item3-3-1','item3-3-2']],'item4']}
{* run the array through the function *}
{call name=menu data=$menu}
{call menu data=$menu} {* short-hand *}

{capture}

{capture}用来捕获模板输出的数据并将其存储到一个变量里,而不是将它们输出到页面。任何在{capture name="foo"}和{/capture}之间的数据将被存储到变量$foo中,该变量由name属性指定。

属性:

选项标签:

注:当捕获{insert}输出时要非常小心!如果你开启了$caching缓存,希望在缓存内容里运行{insert}命令。那么,请不要捕获{insert}里面的内容!因为{insert}内容总是不被缓存。

示例:

{* 我们不想输出一个div标签,除非包含的内容是无法显示的 *}
{capture name="banner"}
{capture "banner"} {* short-hand *}{include file="get_banner.tpl"}
{/capture}
{if $smarty.capture.banner ne ""}
<div id="banner">{$smarty.capture.banner}</div>
{/if}

{config_load}

属性:

{debug}

{debug}跳转到调试控制页面。不管php脚本中如何设置debug,它都会工作,因为它在运行时就执行,它只能够显示分配的变量值;而不是(显示)正在使用的模版。然而,你可以看到变量作用域内的所有变量值。
如果cacheing设置为true,页面从缓存{debug}中加载,那么你只能看到缓存过的变量。

{extends}

{extends}标签用在模板继承中子模版对父模板的继承。

  • {extends}标签用在模版中的第一行;
  • 如果子模板用{extends}标签继承父模板,那么它只能包含{block}标签(内容),其它任何模板内容都将忽略;
  • 使用此语法为模板资源继承$template_dir目录外的文件。

示例:

{extends file='parent.tpl'}
{extends 'parent.tpl'}  {* short-hand *}

{for}

{for}、{forelse}标签用来创建一个简单循环,支持以下不同的格式:

  • {for $var=$start to $end}步长为1的简单循环;
  • {for $var=$start to $end step $step}其它步长循环。

当循环无迭代时执行{forelse}。

示例:

<?php
$smarty->assign('to',10);
?><ul>
{for $foo=3 to $to max=3}<li>{$foo}</li>
{/for}
</ul>The above example will output:
<ul><li>3</li><li>4</li><li>5</li>
</ul>

{foreach},{foreachelse}

{foreach}用来遍历数据数组,{foreach}与{section}循环相比更简单、语法更干净,也可以用来遍历关联数组。
{foreach $arrayvar as $itemvar}
{foreach $arrayvar as $keyvar=>$itemvar}

  • {foreach}循环可以嵌套;
  • 数组变量通常是(另)一个数组的值,用来指导循环的次数,你可以为循环传递一个整数;
  • 当数组变量无值时执行{foreachelse};
  • {foreach}的属性是@index(包含当前数组的下标,开始时为0)、@iteration(包含当前循环的迭代,总是以1开始,这点与index不同。每迭代一次值自动加1。"is div by"操作符可能用来侦察特殊迭代,"is even by"和"is odd by"操作符可以用来在每多少迭代时交替什么什么...。)、@first(当{foreach}循环第一个时first为真)、@last(当{foreach}迭代到最后时last为真)、@show(用在检测{foreach}循环是否无数据显示,show是个布尔值(true or false))、@total(total包含{foreach}循环的总数(整数),可以用在{forach}里面或后面);
  • 可以用循环项目中的当前键({$item@key})代替键值变量。

示例:

<?php
$people = array('fname' => 'John', 'lname' => 'Doe', 'email' => 'j.doe@example.com');
$smarty->assign('myPeople', $people);
?>Template to output $myArray as key/value pairs. //键值对 
<ul>
{foreach $myPeople as $value}
<li>{$value@key}: {$value}</li>
{/foreach}
</ul>

示例:

{foreach $myNames as $name}
{if $name@iteration is div by 4}
<b>{$name}</b>
{/if}
{$name}
{/foreach}

{function}

{function}用来在模板中创建函数,可以像调用插件函数一样调用它们。取代在插件中写表象内容的函数,让模板保持一致性通常是个更好的选择。它也简化了对数据的遍历,例如深度的嵌套菜单。另外你可以在模板中直接使用{funcname...}函数。

  • {function}标签必须包含模板函数名的name属性,该name标签名必须能够调用模板函数;
  • 默认变量值应能作为属性传递到模板函数,当模板函数被调用的时候,默认值应能被复写;
  • 在模板函数内部应能使用被调用模板的所有变量值,在模板函数中更改或新建变量的值必须具局部作用域,而且在执行模板函数后这些变量值在被调用模板内部应不可见。 

示例:

{* define the function *}
{function name=menu level=0}
{function menu level=0} {* short-hand *}
<ul class="level{$level}">
{foreach $data as $entry}
{if is_array($entry)}
<li>{$entry@key}</li>
{menu data=$entry level=$level+1}
{else}
<li>{$entry}</li>
{/if}
{/foreach}
</ul>
{/function}

{if},{elseif},{else}

随着一些特性加入到模版引擎,Smarty的{if}语句与php的if语句一样富有弹性。每一个{if}必须与一个{/if}成对出现,允许使用{else}和{elseif},所有php条件和函数在这里同样适用,诸如||、or、&&、and、is_array()等等。如果开启安全,只支持符合$php_functions的安全策略属性的php函数。

下面是一串有效的限定符,它们的左右必须用空格分隔开,注意列出的清单中方括号是可选的,在适用情况下使用相应的等号(全等或不全等)。

示例:

{if isset($name) && $name == 'Blog'}{* do something *}
{elseif $name == $foo}{* do something *}
{/if}
{if is_array($foo) && count($foo) > 0}{* do a foreach loop *}
{/if}

{include}

{include}标签用于在当前模板中包含其它模板。当前模板中的任何有效变量在被包含模板中同样可用。

  • 必须指定file属性,该属性指明模板资源的位置。
  • 设置assign属性选项可以指定{include}的输出贮存分配给哪个模板变量,而不显示内容,类似于{assign}。
  • 变量可以作为属性参数传递给被包含模板,任何明确传递给被包含模板的变量只在被包含文件的作用域中有效。如果传递的属性变量在当前模板中有同名变量,那么传递的属性变量将覆盖当前模板变量。
  • 被包含模板内部可以使用主模板的所有变量,但在被包含模板里面改变或新建的变量只有本地作用域,使用{include}语句后这些变量在主模板内部将不可见;有两种方法可以改变这种默认行为(变量作用域):在{include}语句中使用scope属性对被包含模板的所有赋值变量有效,或在{assign}语句中使用scope属性改变个别变量作用域。后一特性在从被包含模板返回值给主模板时非常有用。
  • 包含$template_dir文件夹之外的模板请使用模板资源语法。

属性:

选项标签:

{include 'links.tpl' title='Newest links' links=$link_array}
{* body of template goes here *}
{include 'footer.tpl' foo='bar'}The template above includes the example links.tpl below
<div id="box">
<h3>{$title}{/h3>
<ul>
{foreach from=$links item=l}
.. do stuff填充  ...
</foreach}
</ul>
</div>

{include_php}

{include_php}在Smarty新版本中已被废弃,可使用插件恰当地解决从(php)代码分离html的问题。

{insert}

{insert}标签类似于{include}标签,不同之处是即使打开caching,{insert}所包含的内容也不会被缓存,每次调用模板都会执行{insert}。 

示例:

banner.conf:
alt = come from baidu!
src = xxx.com/2351.gif
href = www.xxx.com
main.tpl:
{config_load file='banner.conf'}
{insert name="getBanner" lid=#title#}
test.php:
include_once('../libs/Smarty.class.php');
$smarty = new Smarty;
function insert_getBanner($arr,$smarty){
echo '<div><a href="'.$arr['href'].'"><img src='.$arr['src'].' alt='.$arr['alt'].'</div>';
}
$smarty->display('main.tpl');

{ldelim},{rdelim}

{ldelim}和{rdelim}用来转义模版定界符,默认值为“{”和“}”。你也可以用{literal}{/literal}转义文本块,例如javascript或css。

{ldelim}、{rdelim}用来输出左右delim的原义,即输出$smarty.ldelim和$smarty.rdelim的字面值。当使用{literal}{/literal}成对使用时,Smarty将忽略解释里面的代码,而按原字符输出。

示例:

<script language="JavaScript" type="text/javascript">
function myJsFunction(){ldelim}
alert("The server name\n{$smarty.server.SERVER_NAME}\n{$smarty.server.SERV
{rdelim}
</script>
<a href="javascript:myJsFunction()">Click here for Server Info</a>

{literal}

{literal}标签区域内的数据将按字面意思处理,代表性地是用在javascript/css语块周围,不然这些语言使用的花括号‘{’、‘}’会干扰模版定界符语法。{literal}{/literal}标签里面的所有符号不会被解释,全部按原样输出。如果有需要在{literal}块里使用模版标签,可以考虑使用{ldelim}{rdelim}转义单独的分隔符。

{nocache}

{nocache}用来禁止模版块缓存,每个{nocache}应与{/nocache}成对出现。当从缓存中加载页面时应确定无缓存块使用的变量为php变量(而非模板中定义的变量)。

示例:

Today's date is
{nocache}
{$smarty.now|date_format}
{/nocache}

{php}

{php}已被Smarty弃用,不应再使用。还是用你自己编写的php脚本或插件函数来代替它吧!

{section},{sectionelse}

不同于{foreach}遍历单层关联数组,{section}支持循序索引遍历数组中的数据(支持一次性读取多维数组)。每个{section}标签必须与闭合标签{/section}成对出现。

注:{foreach}可以做{section}能做的所有事,而且语法更简单、更容易。它通常是循环数组的首选。{section}循环不能遍历关联数组,(被循环的)数组必须是数字索引,像这样(0,1,2,...)。对于关联数组,请用{foreach}循环。

属性:

选项标签:

  • 必须设置nameloop属性;
  • {section}的名称可以是你喜欢的任何字母、下划线、数字组合,与php变量(命名)相同;
  • {section}可以嵌套,但必须确保嵌套的{section}名称唯一;
  • loop属性通常是一个数组值,它决定{section}循环的次数。你也可以为loop提供一个具体的整数值;
  • 当需要在{section}内输出一个变量时,{section}的变量名必须用方括号括起并挨在该输出变量名的右边(译注:如$abc[mysection]);
  • 当循环变量无值时执行{sectionelse};
  • {section}同样有自己的变量处理{section}属性,可以通过调用{$smarty.section.name.property}访问这些属性,这里‘name’是个变量名;
  • {section}的属性有index(向前1步,如果给出了step变量则以该步长向前)、index_prev(为前一循环的索引值。 循环开始时,此值为-1)、index_next(index_next为下个循环的索引值。循环到最尾,此值仍然比当前索引值大1,如果设定了step,取决于该值)、iteration(iteration包含当前的迭代循环,开始值为1)、first(如果当前循环第一次执行,first被设置为true)、last(如果当前section迭代执行到最尾,last 被设置为true)、rownum(rownum包含当前循环迭代。从1开始。该属性是iteration的别名,两者是一样的)、loop(loop包含{section}上次循环时的最后索引值, 该值可以用于循环内部或循环结束后)、show(show是section的参数,为布尔值,如果设置为 false,该循环将不显示。如果存在{sectionelse}子句,该字句将交替显示)、total(total包含{section}循环执行总的次数,可以在{section}执行中/后调用此属性)。

{while}

随着一些特性加入到模版引擎,Smarty的{while}循环与php的while语句一样富有弹性。每一个{while}必须与一个{/while}成对出现,所有php条件和函数在它身上同样适用,诸如||、or、&&、and、is_array()等等。
下面是一串有效的限定符,它们的左右必须用空格分隔开,注意列出的清单中方括号是可选的,在适用情况下使用相应的等号(全等或不全等)。

示例:

{while $foo > 0}{$foo--}
{/while}

8.Custom Functions[自定义函数]

{counter}

用于输出一个记数过程。{counter}保存了每次记数时的当前记数值。用户可以通过调节间隔(skip)和方向(direction)计算该值。也可以决定是否输出该值。如果需要同时运行多个计数器,必须为它们指定不同的名称。如果没有指定名称,模板引擎使用 "default" 作为缺省值。
如果指定了 "assign" 这个属性,该计数器的输出值将被赋给由assign指定的模板变量,而不是直接输出。

属性:

示例:

{* initialize the count *}
{counter start=0 skip=2}<br />
{counter}<br />
{counter}<br />
{counter}<br />

{cycle}

Cycle用于交替使用一组值。该特性使得在表格中交替输出多种颜色或循环使用数组中的值变得更容易。

属性:

  • {cycle}可以交替多个值,但每个{cycle}的name属性必须唯一。
  • 用户可以设置print属性为false强制不输出当前值,该特性可以很方便地略过某个值。
  • advance 属性用于重复使用某个值,当该属性设置为false时,下次调用{cycle}时将输出同样的值。
  • 如果指定了assign属性,{cycle}函数的输出内容将被赋给由assign指定的模板变量,而不是直接输出。

示例:

{section name=rows loop=$data}
<tr class="{cycle values="odd,even"}"><td>{$data[rows]}</td>
</tr>
{/section}The above template would output:
<tr class="odd"><td>1</td>
</tr>
<tr class="even"><td>2</td>
</tr>
<tr class="odd"><td>3</td>
</tr>

{eval}

将变量作为一个模板求值。该特性用于诸如将模板标签/变量嵌入至另一变量,或将标签/变量嵌入至配置文件中的变量的情形。如果指定了assign这个属性,{eval}函数的输出内容将被赋给由assign指定的模板变量,而不是直接输出。

  • 待求值的变量被当作模板来处理。它们遵循模板的转义方式和安全特性。
  • 待求值的变量每次调用时被重编译,不保存编译版本! 但当开启缓存时,该输出会将与余下的模板一起缓存。

属性:

示例:

The contents of the config file, setup.conf. 配置文件
emphstart = <strong>
emphend = </strong>
title = Welcome to {$company}'s home page!
ErrorCity = You must supply a {#emphstart#}city{#emphend#}.
ErrorState = You must supply a {#emphstart#}state{#emphend#}.Where the template is: 模板 
{config_load file='setup.conf'}
{eval var=$foo}
{eval var=#title#}
{eval var=#ErrorCity#}
{eval var=#ErrorState# assign='state_error'}
{$state_error}

{fetch}

用于从本地文件系统、HTTP或FTP上检索文件并显示其内容。

  • 如果文件名称以"http://"开头,将抓取该网站页面并显示到浏览器。
  • 如果文件名称以"ftp://"开头,将从ftp服务器取得该文件并显示。
  • 对于本地文件,可以提供完整路径,也可以提供一个相对于php执行脚本的相对路径。
  • 如果指定了assign属性,该函数的输出值将被赋给由assign指定的模板变量,而不是直接输出。

注:{fetch}不支持重定向,使用前请确定希望抓取的网页地址以'/'结尾!如果开启了安全设置,当取本地文件时{fetch}只能取位于$decure_dir路径定义的安全文件夹下的资料。

属性:

示例:

{* include some javascript in your template *}
{fetch file='/export/httpd/www.example.com/docs/navbar.js'}
{* embed some weather text in your template from another web site *}
{fetch file='http://www.myweather.com/68502/'}
{* fetch a news headline file via ftp *}
{fetch file='ftp://user:password@ftp.example.com/path/to/currentheadlines.txt'}
{* as above but with variables *}
{fetch file="ftp://`$user`:`$password`@`$server`/`$path`"}
{* assign the fetched contents to a template variable *}
{fetch file='http://www.myweather.com/68502/' assign='weather'}
{if $weather ne ''}<div id="weather">{$weather}</div>
{/if}

{html_checkboxes}

自定义函数{html_checkboxes}根据给定的数据创建复选按钮组。该函数可以指定哪些元素被选定。

属性:

示例:

<?php
$smarty->assign('cust_ids', array(1000,1001,1002,1003));
$smarty->assign('cust_names', array(
'Joe Schmoe',
'Jack Smith',
'Jane Johnson',
'Charlie Brown')
);
$smarty->assign('customer_id', 1001);
?>where template is
{html_checkboxes name='id' values=$cust_ids output=$cust_names
selected=$customer_id separator='<br />'}

{html_image}

自定义函数{html_image}产生一个图象的HTML标签。如果没有提供高度和宽度值,将根据图象的实际大小自动取得。

属性:

  • basedir是相对图象路径的基路径。如果没有给出该属性,将根据WEB服务器的根路径$ENV_DOCUMENT_ROOT为准。如果开启了模板的安全设置,图象的位置必须位于为安全文件夹下。
  • href是图象链接指向的位置。如果提供了链接,图象将被加至<a href="LINKVALUE"><a>标签里面,形成一个图象链接(最终形式为<a href...><img src=...></a>)。
  • 你可以给输出路径设置一个path_prefix可选字符前缀,如果你需要给图像提供一个不同的服务器名,这种做法将非常有用。
  • 上述列表未提供的参数将以名/值的键值对形式提供在创建的<img>标签里。

{html_options}

自定义函数{html_options}根据给定的数据创建<select><option>选项组。它会留意哪个选项在默认情况下被选中。

属性:

  • 要么必须指定values和ouput属性,要么指定options属性,两者二选一。
  • 如果指定了属性name,将会创建<select></select>标签,否则只产生选项列表<option>。
  • 如果给定values为数组,将作为html的<optgroup>处理,并显示该群组。<optgroup>支持递归。
  • 上表未提到的其它参数在 <select> 标签中以"名称/属性"对的方式显示。如果没有指定可选属性name这些参数将被忽略。
  • 所有输出兼容XHTML。

{html_radios}

自定义函数{html_radios}根据给定的数据创建html单选按钮组,该函数可以指定哪个元素被选定。

属性:

  • 要么指定values和ouput属性,要么指定options属性,两者二选一。
  • 所有的输出与XHTML兼容。
  • 上表未提到的其它参数在<input>标签中以"名称/属性"对的方式显示。

{html_select_date}

自定义函数{html_select_date}用于创建日期下拉列表,它可以显示任意年月日。下述列表中没有说明的参数会在相应的年、月、日<select>标签中以名/值的键值对形式显示出来。

属性:

{html_select_time}

自定义函数{html_select_time}用于创建时间下拉菜单,它可以显示任意时、分、秒和正午界。此时间属性可以有不同的形式,可以是一个独特的时间戳,也可以是YYYYMMDDHHMMSS(年月日时分秒毫秒)形式,或者php的strtotime()解析的字符串形式。

属性:

{html_table}

自定义函数{html_table}将数组中的数据填充到HTML表格中。

属性:

  • cols属性决定表格有多少列。
  • table_attr, tr_attr和 td_attr属性确定表格中的<table>、<tr>和<td>标签。
  • 如果tr_attr或td_attr属性值为数组,将循环使用其中的值。
  • 如果指定了trailpad属性,将在表尾最后一行附加一些元素。

{mailto}

{mailto}自动生成电子邮件链接,并根据选项决定是否对地址信息进行编码。经编码后的email将使网络蜘蛛破解邮件地址变得更困难。

属性:

示例:

{mailto address="me@example.com"}
<a href="mailto:me@example.com" >me@example.com</a>
{mailto address="me@example.com" text="send me some mail"}
<a href="mailto:me@example.com" >send me some mail</a>
{mailto address="me@example.com" encode="javascript"}
<script type="text/javascript" language="javascript">
eval(unescape('%64%6f% ... snipped ...%61%3e%27%29%3b'))
</script>
{mailto address="me@example.com" encode="hex"}
<a href="mailto:%6d%65.. snipped..3%6f%6d">&#x6d;&..snipped...#x6f;&#x6d;</a>
{mailto address="me@example.com" subject="Hello to you!"}
<a href="mailto:me@example.com?subject=Hello%20to%20you%21" >me@example.com</a>
{mailto address="me@example.com" cc="you@example.com,they@example.com"}
<a href="mailto:me@example.com?cc=you@example.com%2Cthey@example.com" >me@example.
{mailto address="me@example.com" extra='class="email"'}
<a href="mailto:me@example.com" class="email">me@example.com</a>
{mailto address="me@example.com" encode="javascript_charcode"}
<script type="text/javascript" language="javascript">
<!--
{document.write(String.fromCharCode(60,97, ... snipped ....60,47,97,62))}
//-->
</script>

{math}

{math}允许模板设计者在模板中进行数学表达式运算。

  • 表达式中可以使用任何数值类型的变量,结果在{math}标签的所在位置输出。
  • 表达式中使用的变量被当做参数传递给函数,可以是模板变量或静态值。
  • 目前可以使用的运算符有:+, -, /, *, abs, ceil, cos, exp, floor, log, log10, max, min, pi, pow, rand, round, sin, sqrt, srans 和tan。关于数学函数的详细信息,请查看PHP文档。
  • 如果设定assign属性,{math}函数的输出将分配给模版变量,而不是在模版中直接输出。

注:由于使用了php的eval()函数,{math}函数的代价昂贵(性能较低),在PHP中做数学运算效率会更高一些,因此要尽可能在PHP中做数学运算,将结果赋给模板变量。在类似{section}这样的循环中,应尽量避免反复调用{math}函数。

属性:

示例:

{* $row_height = 10, $row_width = 20, #col_div# = 2, assigned in template *}
{math equation="height * width / division"
height=$row_height
width=$row_width
division=#col_div#}

The above example will output:
100

{textformat}

{textformat}用于格式化文本。该函数主要清理空格和特殊字符,对段落按单词边界换行和行缩进等段落格式化处理。用户可以明确设置参数,或使用预处理风格。目前只有唯一可用风格"email"。

属性:

转载于:https://www.cnblogs.com/syfwhu/p/5258808.html

查看全文
如若内容造成侵权/违法违规/事实不符,请联系编程学习网邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

相关文章

  1. lombox里面的注解总结

    lombox 原来一直只使用@data @Get @Set,最近能闲点,就抽时间把其他的学习下。 @ToString:作用于类,覆盖默认的toString()方法,可以通过of属性限定显示某些字段,通过exclude属性排除某些字段。 @EqualsAndHashCode:作用于类,覆盖默认的equals和hashCode @NonNull:主要作…...

    2024/5/9 16:07:24
  2. 小甲鱼Python第十讲课后题

    整理了小甲鱼视频的课后题,希望可以帮助有需要的小甲鱼Python第十讲课后题 测试题: 0. 列表都可以存放一些什么东西? 答案:我们说 Python 的列表是一个打了激素的数组,如果把数组比喻成集装箱,那么Python 的列表就是一个大仓库,Ta 可以存放我们已经学习过的任何数据类型…...

    2024/5/8 11:24:40
  3. strcat函数用法的一点看法

    最近在刷题时碰到了strcat这个函数,一开始没怎么理解它的用法,出了错,现在写点自己的理解吧。首先来看两个小程序代码一: #include<iostream> using namespace std; int main() { char *s="abcd"; char *c="efgh"; strcat(s,c); cout<<s; …...

    2024/5/8 10:57:53
  4. 学习html的心得总结

    经过这几天的学习,已经基本掌握制作静态网站的方法。第一节,老师让我们明白什么是html,为什么要学,该如何学习的三个问题给予我们回答。首先,什么是HTML,html是一种超文本语言,html属于前端技术,学好前端技术也有利于我们就业,但是前端技术,是垂直居中设置入门容易,…...

    2024/5/8 9:16:02
  5. AjaxPro.2 与 Jquery 的 Ajax 的混合使用

    AjaxPro.2 与 Jquery 的 Ajax 的混合使用 效果相当好,可以随心所欲//前台 代码 <%@ Page Language="C#" AutoEventWireup="true" CodeFile="AjaxPro.aspx.cs" Inherits="AjaxPro_Test" %><!DOCTYPE html PUBLIC "-//W…...

    2024/5/8 9:04:54
  6. Smarty简明教程

    一. 安装 下载最新版本的Smarty。解压下载的文件(目录结构还蛮复杂的)。接下来演示给大家一个安装实例,看过应该会举一反三的。(1) 在根目录下建立了新的目录learn/,再在learn/里建立一个目录smarty/。将刚才解压缩出来的目录的libs/拷贝到smarty/里,再在smarty/里新建tem…...

    2024/4/12 13:40:18
  7. 小甲鱼python045魔法方法:属性访问

    小甲鱼python045魔法方法:属性访问0 总结0.0 属性访问方法0.1 property函数0.2 几种魔法方法访问属性 0 总结 0.0 属性访问方法object.attr getattr()getattr(object, attr[, return this string if attr is not in object])[ ] 内为可选项,如果不添加该项,且如果attr不存在…...

    2024/5/8 5:48:15
  8. STM32 HAL库固件库安装与 用户手册

    ST公司推出了HAL库,在使用的时候有帮助文档是最好不过的。首先安装需要的固件库1.首先设置让Cube可以自动联网下载相关固件库选择updater Settings设置如下2.根据芯片选择所需固件版本是向下兼容的,可以直接选择最新版。但如果觉得最新版太大,可以阅读下面的Main Changes.能够…...

    2024/5/7 13:02:16
  9. C++ sort排序函数用法

    最近在刷ACM经常用到排序,以前老是写冒泡,可把冒泡带到OJ里后发现经常超时,所以本想用快排,可是很多学长推荐用sort函数,因为自己写的快排写不好真的没有sort快,所以毅然决然选择sort函数用法1、sort函数可以三个参数也可以两个参数,必须的头文件#include < algorith…...

    2024/5/8 7:38:17
  10. 鱼C论坛小甲鱼Python课后题

    本人是从小甲鱼的python视频一步步过来的 所以刚看到小甲鱼的课后题库就转载过来和大家分享 如有侵权,请联系删除之前python时就是学习的小甲鱼的课程 现在看了那么多的教学视频,感觉还是小甲鱼的视频有点意思 正定不失风趣,正经不失一丝**(看过小甲鱼视频的应该都懂,哈哈…...

    2024/5/7 17:11:57
  11. struts返回( return)的问题

    整理了网上的一些资料附上一些链接: 1)struts.xml的常用配置解析http://www.java3z.com/cwbwebhome/article/article2/TestS3.html 2)struts返回数据http://www.360doc.com/content/08/1128/11/61497_2010494.shtml1.最基本的,如果执行完struts2的函数后想跳转到另一个页面…...

    2024/5/8 10:45:41
  12. CI继承smarty方法

    因为CI自带的模板功能不是很方便,所以大家普遍采用集成Smarty的方式来弥补CI这方面的不足。 本人在网上看了不少CI集成Smarty的教程,包括咱们CI论坛里面的一个精华帖子 http://codeigniter.org.cn/forums/forum.php?mod=viewthread&tid=10345。 自己对比了一下这些…...

    2024/5/7 18:27:55
  13. 关于UITableViewCell的重用

    整理印象笔记之UITableViewCell的重用第一种:- (UITableViewCell *)tableView:(nonnull UITableView *)tableView cellForRowAtIndexPath:(nonnull NSIndexPath *)indexPath {//注册重用标识static NSString *cellID = @"cell";//缓存池查找可循环的cellUITableView…...

    2024/5/8 0:29:59
  14. AjaxPro.AjaxNamespace

    首先下载ajaxpro.dll,你可以从http://www.ajaxpro.info/获得。最新版本是7.7.31.1,下载解压后的文件夹中有个AjaxPro.dll,就是它了。使用VS2008新建web项目,并添加对AjaxPro.dll的引用,然后在Web配置文件中添加: Code <httpHandlers> <add ve…...

    2024/5/8 6:23:55
  15. 小甲鱼Python第十二讲课后题

    整理了小甲鱼视频的课后题,希望可以帮助有需要的小甲鱼Python第十二讲课后题 0. 注意,这道题跟上节课的那道题有点儿不同,回答完请上机实验或参考答案。 old = [1, 2, 3, 4, 5] new = old old = [6] print(new) 如果不上机操作,你觉得会打印什么内容? 答案:会打印:[1, 2…...

    2024/5/7 20:03:52
  16. class_addMethod 简介

    BOOL class_addMethod(Class _Nullable cls, SEL _Nonnull name, IMP _Nonnull imp, const char * _Nullable types)在runtime.h中定义, 其作用是给一个类添加新的方法及该方法的具体实现.其 返回值为 BOOL 类型, yes表示添加方法成功, no表示添加方法失败.参数介绍/** * Adds …...

    2024/5/7 21:22:34
  17. export用法介绍

    在vue项目开发中必不可少的export用法按名称导出,使用时,导入的变量名必须和导出的名称一致定义:export function nameExport (x, y) {return x * y }引用:import { nameExport } from ./fetch/learnExport使用nameExport()列表导出,使用时,需要特殊处理定义:const use …...

    2024/5/7 23:34:38
  18. 博图SCL编程手册

    1、简单绍在可参考《程序块/编程语言》中《S7-SCL编程语言简介》 http://www.ad.siemens.com.cn/productportal/prods/1500published/1500list/prog_list1.html 2、更多的内容可参考: STEP7 (TIA 博途) SCL SIMATIC STEP 7 Professional V14.0 系统手册 SCL: 3567 编程基本知…...

    2024/5/8 8:03:53
  19. ecshop模板smarty foreach详解

    Smarty目录:/libs Smarty的功能类目录/tempalates 模板文件目录/templates_c 模板缓存文件目录/configs 配置文件目录/cache 缓存文件目录载入Smarty功能类:require(’路径/Smarty.class.php’);$smarty = new Smarty;自定义Smarty工作目录:$smarty->template_dir = ‘路径…...

    2024/5/7 13:11:29
  20. 小甲鱼python学习

    小甲鱼python学习 输出 print (“I love python”) print (“I love python”); print (“well water”+" river") print (“I love python”*8)//打印8遍 print (“I love python\n”*8)...

    2024/5/8 5:50:10

最新文章

  1. SQL优化详解

    目录 插入数据 insert的优化&#xff08;少量数据&#xff09; 批量插入 手动事务提交 主键顺序插入 插入大量数据 主键优化 数据组织方式&#xff1a; 页分裂&#xff1a; 主键顺序插入的方式&#xff1a; 主键乱序插入&#xff1a; 页合并&#xff1a; 主键设计…...

    2024/5/9 21:23:53
  2. 梯度消失和梯度爆炸的一些处理方法

    在这里是记录一下梯度消失或梯度爆炸的一些处理技巧。全当学习总结了如有错误还请留言&#xff0c;在此感激不尽。 权重和梯度的更新公式如下&#xff1a; w w − η ⋅ ∇ w w w - \eta \cdot \nabla w ww−η⋅∇w 个人通俗的理解梯度消失就是网络模型在反向求导的时候出…...

    2024/5/9 21:23:04
  3. String类(1)

    ❤️❤️前言~&#x1f973;&#x1f389;&#x1f389;&#x1f389; hellohello~&#xff0c;大家好&#x1f495;&#x1f495;&#xff0c;这里是E绵绵呀✋✋ &#xff0c;如果觉得这篇文章还不错的话还请点赞❤️❤️收藏&#x1f49e; &#x1f49e; 关注&#x1f4a5;&a…...

    2024/4/30 4:56:57
  4. 多态--下

    文章目录 概念多态如何实现的指向谁调谁&#xff1f;例子分析 含有虚函数类的大小是多少&#xff1f;虚函数地址虚表地址多继承的子类的大小怎么计算&#xff1f;练习题虚函数和虚继承 概念 优先使用组合、而不是继承; 继承会破坏父类的封装、因为子类也可以调用到父类的函数;…...

    2024/5/7 8:32:32
  5. 启扬RK3568核心板助力智慧步道轻装健身,打造全民健康生活新方式

    随着物联网、AI智能等新技术的快速发展&#xff0c;智慧步道成为全国各地公园建设和全民健身公共服务设施改造的新主题。智慧步道基于物联网、人脸识别、大数据分析等技术&#xff0c;对人们的运动进行监测和数据采集&#xff0c;显示运动数据&#xff0c;包括里程统计、热量消…...

    2024/5/8 21:00:37
  6. 【外汇早评】美通胀数据走低,美元调整

    原标题:【外汇早评】美通胀数据走低,美元调整昨日美国方面公布了新一期的核心PCE物价指数数据,同比增长1.6%,低于前值和预期值的1.7%,距离美联储的通胀目标2%继续走低,通胀压力较低,且此前美国一季度GDP初值中的消费部分下滑明显,因此市场对美联储后续更可能降息的政策…...

    2024/5/8 6:01:22
  7. 【原油贵金属周评】原油多头拥挤,价格调整

    原标题:【原油贵金属周评】原油多头拥挤,价格调整本周国际劳动节,我们喜迎四天假期,但是整个金融市场确实流动性充沛,大事频发,各个商品波动剧烈。美国方面,在本周四凌晨公布5月份的利率决议和新闻发布会,维持联邦基金利率在2.25%-2.50%不变,符合市场预期。同时美联储…...

    2024/5/9 15:10:32
  8. 【外汇周评】靓丽非农不及疲软通胀影响

    原标题:【外汇周评】靓丽非农不及疲软通胀影响在刚结束的周五,美国方面公布了新一期的非农就业数据,大幅好于前值和预期,新增就业重新回到20万以上。具体数据: 美国4月非农就业人口变动 26.3万人,预期 19万人,前值 19.6万人。 美国4月失业率 3.6%,预期 3.8%,前值 3…...

    2024/5/4 23:54:56
  9. 【原油贵金属早评】库存继续增加,油价收跌

    原标题:【原油贵金属早评】库存继续增加,油价收跌周三清晨公布美国当周API原油库存数据,上周原油库存增加281万桶至4.692亿桶,增幅超过预期的74.4万桶。且有消息人士称,沙特阿美据悉将于6月向亚洲炼油厂额外出售更多原油,印度炼油商预计将每日获得至多20万桶的额外原油供…...

    2024/5/9 4:20:59
  10. 【外汇早评】日本央行会议纪要不改日元强势

    原标题:【外汇早评】日本央行会议纪要不改日元强势近两日日元大幅走强与近期市场风险情绪上升,避险资金回流日元有关,也与前一段时间的美日贸易谈判给日本缓冲期,日本方面对汇率问题也避免继续贬值有关。虽然今日早间日本央行公布的利率会议纪要仍然是支持宽松政策,但这符…...

    2024/5/4 23:54:56
  11. 【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响

    原标题:【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响近日伊朗局势升温,导致市场担忧影响原油供给,油价试图反弹。此时OPEC表态稳定市场。据消息人士透露,沙特6月石油出口料将低于700万桶/日,沙特已经收到石油消费国提出的6月份扩大出口的“适度要求”,沙特将满…...

    2024/5/4 23:55:05
  12. 【外汇早评】美欲与伊朗重谈协议

    原标题:【外汇早评】美欲与伊朗重谈协议美国对伊朗的制裁遭到伊朗的抗议,昨日伊朗方面提出将部分退出伊核协议。而此行为又遭到欧洲方面对伊朗的谴责和警告,伊朗外长昨日回应称,欧洲国家履行它们的义务,伊核协议就能保证存续。据传闻伊朗的导弹已经对准了以色列和美国的航…...

    2024/5/4 23:54:56
  13. 【原油贵金属早评】波动率飙升,市场情绪动荡

    原标题:【原油贵金属早评】波动率飙升,市场情绪动荡因中美贸易谈判不安情绪影响,金融市场各资产品种出现明显的波动。随着美国与中方开启第十一轮谈判之际,美国按照既定计划向中国2000亿商品征收25%的关税,市场情绪有所平复,已经开始接受这一事实。虽然波动率-恐慌指数VI…...

    2024/5/7 11:36:39
  14. 【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试

    原标题:【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试美国和伊朗的局势继续升温,市场风险情绪上升,避险黄金有向上突破阻力的迹象。原油方面稍显平稳,近期美国和OPEC加大供给及市场需求回落的影响,伊朗局势并未推升油价走强。近期中美贸易谈判摩擦再度升级,美国对中…...

    2024/5/4 23:54:56
  15. 【原油贵金属早评】市场情绪继续恶化,黄金上破

    原标题:【原油贵金属早评】市场情绪继续恶化,黄金上破周初中国针对于美国加征关税的进行的反制措施引发市场情绪的大幅波动,人民币汇率出现大幅的贬值动能,金融市场受到非常明显的冲击。尤其是波动率起来之后,对于股市的表现尤其不安。隔夜美国股市出现明显的下行走势,这…...

    2024/5/6 1:40:42
  16. 【外汇早评】美伊僵持,风险情绪继续升温

    原标题:【外汇早评】美伊僵持,风险情绪继续升温昨日沙特两艘油轮再次发生爆炸事件,导致波斯湾局势进一步恶化,市场担忧美伊可能会出现摩擦生火,避险品种获得支撑,黄金和日元大幅走强。美指受中美贸易问题影响而在低位震荡。继5月12日,四艘商船在阿联酋领海附近的阿曼湾、…...

    2024/5/4 23:54:56
  17. 【原油贵金属早评】贸易冲突导致需求低迷,油价弱势

    原标题:【原油贵金属早评】贸易冲突导致需求低迷,油价弱势近日虽然伊朗局势升温,中东地区几起油船被袭击事件影响,但油价并未走高,而是出于调整结构中。由于市场预期局势失控的可能性较低,而中美贸易问题导致的全球经济衰退风险更大,需求会持续低迷,因此油价调整压力较…...

    2024/5/8 20:48:49
  18. 氧生福地 玩美北湖(上)——为时光守候两千年

    原标题:氧生福地 玩美北湖(上)——为时光守候两千年一次说走就走的旅行,只有一张高铁票的距离~ 所以,湖南郴州,我来了~ 从广州南站出发,一个半小时就到达郴州西站了。在动车上,同时改票的南风兄和我居然被分到了一个车厢,所以一路非常愉快地聊了过来。 挺好,最起…...

    2024/5/7 9:26:26
  19. 氧生福地 玩美北湖(中)——永春梯田里的美与鲜

    原标题:氧生福地 玩美北湖(中)——永春梯田里的美与鲜一觉醒来,因为大家太爱“美”照,在柳毅山庄去寻找龙女而错过了早餐时间。近十点,向导坏坏还是带着饥肠辘辘的我们去吃郴州最富有盛名的“鱼头粉”。说这是“十二分推荐”,到郴州必吃的美食之一。 哇塞!那个味美香甜…...

    2024/5/4 23:54:56
  20. 氧生福地 玩美北湖(下)——奔跑吧骚年!

    原标题:氧生福地 玩美北湖(下)——奔跑吧骚年!让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 啊……啊……啊 两…...

    2024/5/8 19:33:07
  21. 扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!

    原标题:扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!扒开伪装医用面膜,翻六倍价格宰客!当行业里的某一品项火爆了,就会有很多商家蹭热度,装逼忽悠,最近火爆朋友圈的医用面膜,被沾上了污点,到底怎么回事呢? “比普通面膜安全、效果好!痘痘、痘印、敏感肌都能用…...

    2024/5/5 8:13:33
  22. 「发现」铁皮石斛仙草之神奇功效用于医用面膜

    原标题:「发现」铁皮石斛仙草之神奇功效用于医用面膜丽彦妆铁皮石斛医用面膜|石斛多糖无菌修护补水贴19大优势: 1、铁皮石斛:自唐宋以来,一直被列为皇室贡品,铁皮石斛生于海拔1600米的悬崖峭壁之上,繁殖力差,产量极低,所以古代仅供皇室、贵族享用 2、铁皮石斛自古民间…...

    2024/5/8 20:38:49
  23. 丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者

    原标题:丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者【公司简介】 广州华彬企业隶属香港华彬集团有限公司,专注美业21年,其旗下品牌: 「圣茵美」私密荷尔蒙抗衰,产后修复 「圣仪轩」私密荷尔蒙抗衰,产后修复 「花茵莳」私密荷尔蒙抗衰,产后修复 「丽彦妆」专注医学护…...

    2024/5/4 23:54:58
  24. 广州械字号面膜生产厂家OEM/ODM4项须知!

    原标题:广州械字号面膜生产厂家OEM/ODM4项须知!广州械字号面膜生产厂家OEM/ODM流程及注意事项解读: 械字号医用面膜,其实在我国并没有严格的定义,通常我们说的医美面膜指的应该是一种「医用敷料」,也就是说,医用面膜其实算作「医疗器械」的一种,又称「医用冷敷贴」。 …...

    2024/5/9 7:32:17
  25. 械字号医用眼膜缓解用眼过度到底有无作用?

    原标题:械字号医用眼膜缓解用眼过度到底有无作用?医用眼膜/械字号眼膜/医用冷敷眼贴 凝胶层为亲水高分子材料,含70%以上的水分。体表皮肤温度传导到本产品的凝胶层,热量被凝胶内水分子吸收,通过水分的蒸发带走大量的热量,可迅速地降低体表皮肤局部温度,减轻局部皮肤的灼…...

    2024/5/9 17:11:10
  26. 配置失败还原请勿关闭计算机,电脑开机屏幕上面显示,配置失败还原更改 请勿关闭计算机 开不了机 这个问题怎么办...

    解析如下&#xff1a;1、长按电脑电源键直至关机&#xff0c;然后再按一次电源健重启电脑&#xff0c;按F8健进入安全模式2、安全模式下进入Windows系统桌面后&#xff0c;按住“winR”打开运行窗口&#xff0c;输入“services.msc”打开服务设置3、在服务界面&#xff0c;选中…...

    2022/11/19 21:17:18
  27. 错误使用 reshape要执行 RESHAPE,请勿更改元素数目。

    %读入6幅图像&#xff08;每一幅图像的大小是564*564&#xff09; f1 imread(WashingtonDC_Band1_564.tif); subplot(3,2,1),imshow(f1); f2 imread(WashingtonDC_Band2_564.tif); subplot(3,2,2),imshow(f2); f3 imread(WashingtonDC_Band3_564.tif); subplot(3,2,3),imsho…...

    2022/11/19 21:17:16
  28. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机...

    win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”问题的解决方法在win7系统关机时如果有升级系统的或者其他需要会直接进入一个 等待界面&#xff0c;在等待界面中我们需要等待操作结束才能关机&#xff0c;虽然这比较麻烦&#xff0c;但是对系统进行配置和升级…...

    2022/11/19 21:17:15
  29. 台式电脑显示配置100%请勿关闭计算机,“准备配置windows 请勿关闭计算机”的解决方法...

    有不少用户在重装Win7系统或更新系统后会遇到“准备配置windows&#xff0c;请勿关闭计算机”的提示&#xff0c;要过很久才能进入系统&#xff0c;有的用户甚至几个小时也无法进入&#xff0c;下面就教大家这个问题的解决方法。第一种方法&#xff1a;我们首先在左下角的“开始…...

    2022/11/19 21:17:14
  30. win7 正在配置 请勿关闭计算机,怎么办Win7开机显示正在配置Windows Update请勿关机...

    置信有很多用户都跟小编一样遇到过这样的问题&#xff0c;电脑时发现开机屏幕显现“正在配置Windows Update&#xff0c;请勿关机”(如下图所示)&#xff0c;而且还需求等大约5分钟才干进入系统。这是怎样回事呢&#xff1f;一切都是正常操作的&#xff0c;为什么开时机呈现“正…...

    2022/11/19 21:17:13
  31. 准备配置windows 请勿关闭计算机 蓝屏,Win7开机总是出现提示“配置Windows请勿关机”...

    Win7系统开机启动时总是出现“配置Windows请勿关机”的提示&#xff0c;没过几秒后电脑自动重启&#xff0c;每次开机都这样无法进入系统&#xff0c;此时碰到这种现象的用户就可以使用以下5种方法解决问题。方法一&#xff1a;开机按下F8&#xff0c;在出现的Windows高级启动选…...

    2022/11/19 21:17:12
  32. 准备windows请勿关闭计算机要多久,windows10系统提示正在准备windows请勿关闭计算机怎么办...

    有不少windows10系统用户反映说碰到这样一个情况&#xff0c;就是电脑提示正在准备windows请勿关闭计算机&#xff0c;碰到这样的问题该怎么解决呢&#xff0c;现在小编就给大家分享一下windows10系统提示正在准备windows请勿关闭计算机的具体第一种方法&#xff1a;1、2、依次…...

    2022/11/19 21:17:11
  33. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”的解决方法...

    今天和大家分享一下win7系统重装了Win7旗舰版系统后&#xff0c;每次关机的时候桌面上都会显示一个“配置Windows Update的界面&#xff0c;提示请勿关闭计算机”&#xff0c;每次停留好几分钟才能正常关机&#xff0c;导致什么情况引起的呢&#xff1f;出现配置Windows Update…...

    2022/11/19 21:17:10
  34. 电脑桌面一直是清理请关闭计算机,windows7一直卡在清理 请勿关闭计算机-win7清理请勿关机,win7配置更新35%不动...

    只能是等着&#xff0c;别无他法。说是卡着如果你看硬盘灯应该在读写。如果从 Win 10 无法正常回滚&#xff0c;只能是考虑备份数据后重装系统了。解决来方案一&#xff1a;管理员运行cmd&#xff1a;net stop WuAuServcd %windir%ren SoftwareDistribution SDoldnet start WuA…...

    2022/11/19 21:17:09
  35. 计算机配置更新不起,电脑提示“配置Windows Update请勿关闭计算机”怎么办?

    原标题&#xff1a;电脑提示“配置Windows Update请勿关闭计算机”怎么办&#xff1f;win7系统中在开机与关闭的时候总是显示“配置windows update请勿关闭计算机”相信有不少朋友都曾遇到过一次两次还能忍但经常遇到就叫人感到心烦了遇到这种问题怎么办呢&#xff1f;一般的方…...

    2022/11/19 21:17:08
  36. 计算机正在配置无法关机,关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机...

    关机提示 windows7 正在配置windows 请勿关闭计算机 &#xff0c;然后等了一晚上也没有关掉。现在电脑无法正常关机以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;关机提示 windows7 正在配…...

    2022/11/19 21:17:05
  37. 钉钉提示请勿通过开发者调试模式_钉钉请勿通过开发者调试模式是真的吗好不好用...

    钉钉请勿通过开发者调试模式是真的吗好不好用 更新时间:2020-04-20 22:24:19 浏览次数:729次 区域: 南阳 > 卧龙 列举网提醒您:为保障您的权益,请不要提前支付任何费用! 虚拟位置外设器!!轨迹模拟&虚拟位置外设神器 专业用于:钉钉,外勤365,红圈通,企业微信和…...

    2022/11/19 21:17:05
  38. 配置失败还原请勿关闭计算机怎么办,win7系统出现“配置windows update失败 还原更改 请勿关闭计算机”,长时间没反应,无法进入系统的解决方案...

    前几天班里有位学生电脑(windows 7系统)出问题了&#xff0c;具体表现是开机时一直停留在“配置windows update失败 还原更改 请勿关闭计算机”这个界面&#xff0c;长时间没反应&#xff0c;无法进入系统。这个问题原来帮其他同学也解决过&#xff0c;网上搜了不少资料&#x…...

    2022/11/19 21:17:04
  39. 一个电脑无法关闭计算机你应该怎么办,电脑显示“清理请勿关闭计算机”怎么办?...

    本文为你提供了3个有效解决电脑显示“清理请勿关闭计算机”问题的方法&#xff0c;并在最后教给你1种保护系统安全的好方法&#xff0c;一起来看看&#xff01;电脑出现“清理请勿关闭计算机”在Windows 7(SP1)和Windows Server 2008 R2 SP1中&#xff0c;添加了1个新功能在“磁…...

    2022/11/19 21:17:03
  40. 请勿关闭计算机还原更改要多久,电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机怎么办...

    许多用户在长期不使用电脑的时候&#xff0c;开启电脑发现电脑显示&#xff1a;配置windows更新失败&#xff0c;正在还原更改&#xff0c;请勿关闭计算机。。.这要怎么办呢&#xff1f;下面小编就带着大家一起看看吧&#xff01;如果能够正常进入系统&#xff0c;建议您暂时移…...

    2022/11/19 21:17:02
  41. 还原更改请勿关闭计算机 要多久,配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以...

    配置windows update失败 还原更改 请勿关闭计算机&#xff0c;电脑开机后一直显示以以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;配置windows update失败 还原更改 请勿关闭计算机&#x…...

    2022/11/19 21:17:01
  42. 电脑配置中请勿关闭计算机怎么办,准备配置windows请勿关闭计算机一直显示怎么办【图解】...

    不知道大家有没有遇到过这样的一个问题&#xff0c;就是我们的win7系统在关机的时候&#xff0c;总是喜欢显示“准备配置windows&#xff0c;请勿关机”这样的一个页面&#xff0c;没有什么大碍&#xff0c;但是如果一直等着的话就要两个小时甚至更久都关不了机&#xff0c;非常…...

    2022/11/19 21:17:00
  43. 正在准备配置请勿关闭计算机,正在准备配置windows请勿关闭计算机时间长了解决教程...

    当电脑出现正在准备配置windows请勿关闭计算机时&#xff0c;一般是您正对windows进行升级&#xff0c;但是这个要是长时间没有反应&#xff0c;我们不能再傻等下去了。可能是电脑出了别的问题了&#xff0c;来看看教程的说法。正在准备配置windows请勿关闭计算机时间长了方法一…...

    2022/11/19 21:16:59
  44. 配置失败还原请勿关闭计算机,配置Windows Update失败,还原更改请勿关闭计算机...

    我们使用电脑的过程中有时会遇到这种情况&#xff0c;当我们打开电脑之后&#xff0c;发现一直停留在一个界面&#xff1a;“配置Windows Update失败&#xff0c;还原更改请勿关闭计算机”&#xff0c;等了许久还是无法进入系统。如果我们遇到此类问题应该如何解决呢&#xff0…...

    2022/11/19 21:16:58
  45. 如何在iPhone上关闭“请勿打扰”

    Apple’s “Do Not Disturb While Driving” is a potentially lifesaving iPhone feature, but it doesn’t always turn on automatically at the appropriate time. For example, you might be a passenger in a moving car, but your iPhone may think you’re the one dri…...

    2022/11/19 21:16:57