问题标签 [smarty2]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - Smarty PHP 模板引擎 - 文件权限错误和缺少模板
我对 Smarty PHP 模板引擎 - 版本 2.6.0 (smarty.net) 感到很头疼
我在 error_log 中不断出现的错误是
PHP 致命错误:Smarty 错误:无法写入 $compile_dir '/var/www/vhosts/domain/library/templates/compiled'。确保 $compile_dir 对 Web 服务器用户是可写的。在 /var/www/vhosts/domain/library/Smarty-2.6.0/libs/Smarty.class.php 第 1088 行
我已将文件夹和文件设为可写,权限设置为 777,但此错误仍在发生。
它使更新模板文件成为一场噩梦,因为目前我正在两个地方更新代码 - >模板文件夹和编译文件夹。就像没有编译发生,所以编辑已经编译的文件是我可以对站点进行更改的唯一方法。
但是,我有一个模板文件被包含在另一个模板文件中,而这不在编译目录中。在此文件中进行简单的文本更改后,现在已完全删除了该站点的该部分,并且该页面刚刚中断了该部分应该出现的内容。
我完全被这个难住了,我希望你们中的一些有 Smarty 经验的人能够帮助我。
先感谢您。
php - Smarty 中的 PHP 函数和变量范围
我在Smarty 2.6.27中工作。有一些东西会阻止 PHP 函数访问全局变量:
但是变量$a
永远不会进入函数。我也这样做了:
但同样,$a
它没有进入 PHP 全局变量列表。这似乎是因为 Smarty 在一些奇怪的上下文中运行 PHP ——例如,文档中提到了这一点:
要访问 {php} 块中的 PHP 变量,您需要使用 PHP 全局关键字。
我真的不需要访问其他 PHP 全局变量,我也不特别希望这里创建的变量范围更广,我只需要弄清楚如何使用函数中函数之外定义的变量。这些变量会有很多,因此将它们作为参数传递是不切实际的。
php - 使用 Smarty 2 在一行上分配变量值
我正在使用 Smarty 2,想知道是否有更好/更整洁的方法来assign
设置evenRow
一行的值,而不是下面的 5 行。
考虑到 Smarty 在某些地方可以与 PHP 紧密结合,我很惊讶这在网上不容易找到,因为在 PHP 中做这样的事情会很简单。
php - 带有 php 变量的配置文件 smarty
在我的 php 文件中发送电子邮件我想使用 smarty 配置变量但是目前我必须削减它们
这是 PHP 文件的一部分:
PHP
目前我正在创建不同的 smarty 配置变量,如下所示:
我可以以某种方式一次完成所有事情吗(在 smarty 配置文件中包含 php vars)
所以: $messagecontent =$smarty->getConfigVariable('welcomemail');
{#welcomemail#} 将如何包含这些内容?例如welcomemail="??"
smarty - 如何使用 Smarty 删除数组上的重复值
我有一个包含重复值的数组,我只想打印一次该值,无论它在数组上存在多少次。
这是我拥有的代码:
这是正确打印的:
这就是我要打印的
有没有办法只使用 Smarty 模板来实现这一点?或者我可以在 .tpl 文件上使用的任何方式?
提前致谢
foreach - 如何在 smarty2 模板中停止 foreach div 类
这是我的代码,我需要永久停止最后一个 ul 和 tab-content 我使用 smarty 2 我已经尝试了一切,但我无法解决它。
我试过这个但不工作
string - 如何在通过 smarty 中的 foreach 循环打印每个字符串后添加逗号分隔符?
我遵循逻辑来打印字符串。现在字符串正在打印,但它们没有用逗号分隔。我想在打印每个字符串后插入逗号分隔符。逗号不应在最后一个字符串后打印。如何做到这一点?我几乎尝试了所有事情,但没有得到想要的结果。那么在这方面可以很好地控制smarty的人帮助我吗?提前致谢。
smarty - smarty 修饰符返回的引用数组值
有人可以告诉我如何从 smarty 修饰符返回的数组中引用值吗
我有一个返回数组的修饰符
当我尝试使用下面的代码访问模板中的返回值时,它只是说 Array
我已经尝试了很多不同的方法,如果我使用{$member|user_display:"name"|@print_r}
它会显示数组结构和值,所以那里的信息只需要得到它
php - Smarty 2.6.14 和 PHP 5.4.9 无法识别 {literal} 标签
我有一个带有 php smarty 标签的 html 页面。问题是{literal}
标签,需要转义 javascript 和 css 代码块。在许多其他 php 版本中,如 php 5.3 或 5.5 工作正常,但在 php 5.4.9 中不起作用
当我使用{literal}
转义 javascript 时,如下所示:
我得到一个"Fatal error: Smarty error: [in login.html line 70]: syntax error: unrecognized tag: php' . str_repeat(" ", substr_count('{literal (Smarty_Compiler.class.php, line 446) in /var/www/library/smarty/Smarty.class.php on line 1095"
,第 70 行是代码{literal}
。
但是,如果我删除{literal}
标签并使用它{ldelim}
,{rdelim}
这可以正常工作,例如:
当我有相同的项目在其他 php 版本中正常工作并且当我有很多页面转义 javascript 和 css 时,我不认为{literal}
将项目中的所有标签更改为{ldelim}
{rdelim}
{literal}
php - smarty 将字符串转换为数字
我需要做划分:
如何在 Smarty 中准确地将字符串转换为数字,因为我无法访问 CMS 的专有代码?谢谢!
UPD:Smarty 版本:2.6.18