草庐IT

php - 如何使用 smarty 检查服务器上是否存在图像?

我想做这样的事情{ifimage_exists}{else}{/if}我该如何解决这个问题? 最佳答案 我认为与其让Smarty执行逻辑,不如让实际的PHP执行它更好。在PHP中你可以这样做:if(file_exists($filename)){$path=$filename;}else{$path='default.jpg';}然后在模板中您将不需要任何if语句。只需照常使用img标签即可。如果你真的想在模板文件中进行检查,只需使用Smarty的if语句正常使用PHP函数即可。{iffile_exists($path.$image

Php smarty strip_tag 允许特定标签

有没有办法像默认情况下一样在phpsmarty中使用strip_tags以允许特定的html标签通过?stip_tags($a.message,'');smarty中的等价物是什么?{$a.message|strip_tags} 最佳答案 我正在使用Smarty2.6.26和strip_tags使用指定要保留哪些标签的参数。试试这个:PHP:$string="notboldiframegoesawayparagrapheddivkept.";$smarty->assign('string',$string);在模板中:{$strin

php - 我如何在 smarty 中使用 array_merge?

我有两个数组$array1和$array2,我想将它们合并到smarty模板中以进行进一步处理。我不想在php中执行此操作,因为我也必须单独使用它们,如何在smartytpl中合并两个数组? 最佳答案 根据你的安全配置和smarty版本,你可以简单地做{assign'array_merged'$array1|array_merge:$array2}有关正确安全设置的更多信息,请查看此http://www.smarty.net/docs/en/advanced.features.tpl#advanced.features.securi

php - Smarty(和其他 tpl ngins): assign and assign_by_ref

这不仅仅是关于Smarty,我想大多数模板引擎都分配了变量。这更像是一个理论问题,而不是实际问题。我没有用例。当您将一个大数组$a分配给另一个变量$b时,PHP会发生什么?PHP复制数组?也许,只是也许,它在内部创建了一个指针。那么当你稍微改变$a时会发生什么?$b不应更改,因为没有使用&来创建$b。PHP只是将内存使用量加倍吗??更具体地说:当您将一个大数组从Controller($a)分配给您的模板引擎($tpl->vars['a'])并在View中使用(extract到$a)?PHP的内存只是增加了三倍吗??现在如果我通过引用分配所有变量会发生什么?我很高兴我的观点能够将数组改回

php - 让Smarty支持多种语言

首先,让我告诉你,我来自德国。所以我的英语不会很好。请原谅我。=P我准备用PHP5开发一个多语言网站。为了将表示层与业务逻辑分开,我使用了SmartyTemplateEngine(v3.0.8)。为了使其成为多语言,我必须编辑thisSmartyPlugin有时。但最终它对我有用。我是这样使用它的:{lang}language.string{/lang}.在我的语言文件中:language.string=(所以它说Helloworld!)工作正常。但我想进一步扩展脚本。我想将一个变量传递给语言字符串。像这样:{langs=$userName}language.string{/lang}

php - 在 smarty 模板文件中包含 PHP 文件

我完全不知道smarty模板系统。我想要做的是包含一个php文件以在.tpl文件中获取一些变量(这是一个WHMCS模板)。我试过这样的:{php}include('file.php');{/php}//doesn'twork{include_phpfile='file.php'}//doesn'twork我也关注了thisquestion的回答.仍然无法正常工作。如何在WHMCS的header.tpl中包含code.php?有什么帮助吗?仅供引用:tpl和php文件都在同一目录中,如果有帮助的话。 最佳答案 真的不推荐在Smarty

php - 如何在Smarty中关闭html转义

我正在使用html_checkboxes生成选择菜单。问题是在复选框名称中我有一些html代码,而Smarty将其转义。我有:{html_checkboxesname='select_menu'values=$user_data[1]output=$user_data[2]}我得到:Status:Normal我需要状态只是蓝色。 最佳答案 上面没有正确答案,尽管最后的答案很接近..查看此链接http://www.smarty.net/docs/en/variable.escape.html.tpl正确答案应该是{$varnofilt

php - Smarty 模板 PHP - 从字符串中删除特定文本

我有以下代码:{$product.name}这会输出我们所有的产品,不幸的是,它们在数据库中存储为“CompanyNameProductName”。我想从字符串$product.name中删除字符串'CompanyName'我如何在PHP中执行此操作? 最佳答案 替换{$product.name}通过{$product.name|replace:'CompanyName':''|capitalize}这样您就可以在您的Smarty模板中执行此操作,而无需修改您的PHP。 关于php-Sm

php - Smarty 异常 : "Please use parent::__construct() to call parent constructor"

我正在学习教程,在设置完所有内容后我得到:Fatalerror:Uncaughtexception'SmartyException'withmessage'Pleaseuseparent::__construct()tocallparentconstuctor'这是我的配置文件:我的目录结构是:mydomain.com/test/includemydomain.com/test/libsmydomain.com/test/presentation我该如何修复这个错误? 最佳答案 这意味着有一个扩展Smarty类的类正在使用__con

php - 包含内联大括号错误的 Smarty 模板

我有一些正在处理的代码具有内联值,例如用于某些JavaScript和客户端的{32,15}。但是,在这些情况下,它总是会导致fatalerror。有没有一种方法可以让花括号转义,这样它们就不会引发更多fatalerror,并且仍然不会影响JavaScript? 最佳答案 放在里面{literal}...{/literal},像这样:{literal}(function(){alert("Hoorayforcurlybraces!");})();{/literal} 关于php-包含内联大