问题标签 [smarty3]

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.

0 投票
2 回答
2453 浏览

include - Smarty3 块附加在包含的模板中

我有一些用 Smarty 3 编写的模板:

  1. 布局页面
  2. 索引页
  3. 包含页面

布局.tpl:

索引.tpl:

包括.tpl

但我得到了一个编译器异常:

致命错误:未捕获的异常 'SmartyCompilerException' 带有消息 'Syntax Error in template include.tpl {block "js" prepend} 太多速记属性

块追加是否在包含的模板中不可用,即使它包含在子模板中?

我认为如果我可以像这样使用块追加会非常有帮助,或者可能有其他方法可以做到这一点?谢谢!

0 投票
1 回答
392 浏览

smarty - smarty v3,从 smarty 中获取价值

如何从 smarty v3 获取变量?在 Smarty v2 中,我使用这个函数:get_template_vars,但在 v3 中这不起作用。

0 投票
2 回答
5261 浏览

php - Smarty 获取文件扩展名

Smarty 有没有办法获取字符串的文件扩展名。我一直在寻找爆炸等价物,但似乎找不到任何东西。

我想根据文件类型显示不同的图标,例如。文档,docx,pdf

0 投票
1 回答
3330 浏览

php - Smarty 是否有 i18n/翻译解决方案?

我正在开发一个需要国际化 (i18n) 支持的基于 PHP 的应用程序。

我使用 Smarty 3 作为模板解决方案(并使用 TinyMVC 作为框架),虽然我之前一直将它用于小型项目(早在 Smarty 2.x 时代),但我并不知道任何简单的- 使用 i18n 插件。Smarty 3.x 是否有这样的插件/扩展可以为我完成这项工作?我不介意后端是否有点难以设置,这很好,我只需要一种在模板中实现它的好方法。

我需要将这个应用程序翻译成多种语言,所以我需要找到一种方法让 Smarty 支持它。有吗?谢谢。

0 投票
1 回答
6912 浏览

php - Smarty allow_php_tag 报告“未定义的属性:Smarty::$allow_php_tag”

所以我有一个使用旧版本 smarty 的旧网站,因为今天我想升级到最新版本,它给我一个错误:

即使我把 Smarty 3.0.8 我得到同样的错误......因为如果网站充满{php}标签,删除不是一个选项。我能做些什么?

好的,按照@Pekka 的说明,我发现了 Smarty Security Next 问题:

喊道:

现在出了什么问题...$my_security_policy->php_functions = array();允许所有php函数..

0 投票
1 回答
1633 浏览

php - 将 smarty 模板返回到 html 文本框

我想使用 smarty 将一些 html 返回到我网站后端的文本框中。我已经在使用 smarty 来渲染后端本身。

最好的方法是什么?

我以通常的方式将单个数组分配给 smarty,但不确定如何返回模板。

0 投票
4 回答
19286 浏览

php - 如何在 Smarty 中合并两个字符串?

为什么这在 Smarty 中不起作用?

它显示以下错误:

0 投票
3 回答
1218 浏览

php - smarty/codeigniter 中的 eval

我正在尝试将 CodeIgniter 函数之一与 smarty 一起使用,其变量名为 Dynamic。

通常该函数是这样调用的:

但在我的代码中 aaa 被替换为动态值

第一部分很简单:

但我不知道如何在这种情况下在 smarty 中使用 eval 。

它应该使用循环调用函数(例如使用以下输入/变量)

编辑:我忘了说 PHP 的本机eval函数在 smarty 中不起作用 .. 它显示以下错误:

0 投票
1 回答
1086 浏览

arrays - codeigniter 2 和 smarty 3:返回的 stdClass 结果的多数组 - 我如何在 smarty 中显示这些

我的 Sql 函数 getLive_projects 有这个查询 -
$query = "SELECT p.* FROM projects p WHERE p.live = 1 ORDER BY client_name ASC";
$response = $this->db->query($query)->result();

My Controller :
// 获取实时项目
$data['live_projects'] = $this->projects->get_live_projects();
// 使用数据加载项目
$this->parser->parse("projects.tpl", $data);

当我使用 {$live_projects|print_r} 时,模板中的数据如下所示

)

我怎样才能在我的模板中输出这个?我尝试了 {foreach from=$live_projects item=$project} 然后尝试使用 {$project->client_name} 但这没有用。当我遍历数组时,该对象是否对我不可用?我错过了什么明显的东西吗?我是否以正确的方式解决这个问题?我只想遍历返回的结果并将每个结果显示为模板中的一行。

我已经搜索了论坛,但无法找到解决我问题的答案 - 任何帮助将不胜感激。有一些关于使用 $live_projects[0]->id 的示例,但是如何将其合并到 smarty 的输出中,结果集中返回了许多项目。

0 投票
2 回答
694 浏览

smarty - 需要技巧在 nocache 部分使用缓存值

我想遍历单个数组并仅对某些元素禁用缓存。所以我的想法是在 nocache 部分保留key和获取元素。key不幸的是,我没有发现任何可能性:

分配缓存$rec@key在 nocache 部分,

或将变量key定义保留在缓存部分中。

有什么办法(无需修改聪明的代码)吗?这是我的test.tpl:

和 test.php:

(当然我会将它用于比文本显示更复杂的事情:))我尝试了很多技巧,我自己认为这是不可能的,请告诉我我错了:)