我在模板中有一些变量,我不知道我在哪里分配它们.我需要知道特定变量中的内容; 例如,假设我在smarty中有一个变量叫member.我试过{debug}但它没有用,也没有显示弹出窗口.
如何使用var_dump()模板内部的东西输出/调试智能变量?
一个男人想让我重新设计一个用PHP运行的网站(VideoCMS).但当我让他给我发送源时,他给了我*.tpl文件而不是*.php.里面有一些代码:
{include file='header.tpl' p="article"}
<br />
<table width="886" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="150" valign="top">
<div id="reg_box">
<h3 class="captions">{$lang.articles}</h3>
<div id="list_cats">
<ul>
{$article_categories}
</ul>
</div>
</div>
<br />
<div id="reg_box">
<h3 class="captions">{$lang.members}</h3>
{if $logged_in == '1'}
{include file='loggedin_body.tpl'}
{else}
{include file='login_body.tpl'}
{/if}
Run Code Online (Sandbox Code Playgroud)
要么
{include file='header.tpl' p="index"}
{php} $_SESSION['isFair'] = "Yes"; {/php}
Run Code Online (Sandbox Code Playgroud)
问题:代码的解释器是什么?如何重新设计这个网站?
我为什么要在PHP中使用模板系统?
我的问题背后的原因是:PHP本身是功能丰富的模板系统,我为什么要安装另一个模板引擎?
到目前为止我找到的唯一两个职业选手是:
......与利弊相比,两者都可以忽略不计.
小例子:
PHP
<h1><?=$title?></h1>
<ul>
<? foreach ($items as $item) {?>
<li><?=$item?></li>
<? } ?>
</ul>
Run Code Online (Sandbox Code Playgroud)
Smarty的
<h1>{$title}</h1>
<ul>
{foreach item=item from=$items}
<li>{$item}</li>
{/foreach}
</ul>
Run Code Online (Sandbox Code Playgroud)
我真的没有看到任何差异.
所以我在smarty中有一个指定的变量:
{assign var=number value=0}
Run Code Online (Sandbox Code Playgroud)
现在我可以使用它来增加它
{$number++}
Run Code Online (Sandbox Code Playgroud)
要么
{++$number}
Run Code Online (Sandbox Code Playgroud)
这正是我需要的,唯一的问题是,它在页面上显示$ number的值.有没有办法可以增加值但不显示它?
这不是在循环内部使用,否则我会使用迭代或索引之类的东西.
我想知道是否可以将数组分配给Smarty模板文件中的变量?我试过这个
{assign var='file' value = array('dir','doc','exe')}
Run Code Online (Sandbox Code Playgroud)
但是当我打印出数组时,它产生了这个:
array(\'dir\',\'doc\',\'exe\')
Run Code Online (Sandbox Code Playgroud)
如何阻止Smarty转义数组值?
提前致谢
如何使用smarty获取URL(类似于URLJavaScript)?
我这样做了
{$smarty.server.PHP_SELF}
Run Code Online (Sandbox Code Playgroud)
但它不起作用.
如何在Smarty模板的上下文中打印所有可用变量?类似于Django调试跟踪,列出了传递的所有内容.
谢谢
如何使用串联的字符串分配本地模板变量,如下所示:
{$yes_src=const1.'yes'.const2}
Run Code Online (Sandbox Code Playgroud)
以下方式在代码中使用{$yes_src}.
我正在使用Smarty模板引擎.
我正在做一个简单的登录页面.如果有一些问题我设置了一个带有消息的变量命名错误,但如果不是我得到:
Notice: Undefined index: error
Run Code Online (Sandbox Code Playgroud)
我怎么能检查这个变量是否存在?
我只做:
{if $error}<h1>{$error}</h1>{/if}
Run Code Online (Sandbox Code Playgroud)
谢谢