问题标签 [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.
smarty - 使用默认修饰符
我试图超越 Smarty 的基本用法,并在使用默认的“capitalize”修饰符时遇到了一个小问题。我的操作假设不需要进行显式调用来使用此运算符,因此在我的模板中我有以下内容:
如果我要更换:
和
它可以正常工作,但添加修饰符会给我以下错误:
PHP 致命错误:未捕获异常 'SmartyCompilerException',第 7 行“模板 [FILE_PATH] 中的消息“语法错误”“<label class=”checkbox inline”><input type=”checkbox”cf-change=” toggle-field::#{$add_in}-add-in"> {$add_in|capitalize}</label>" 未知修饰符“大写”'
任何帮助将不胜感激。
php - 带有 sprintf 的 smarty 自定义修饰符,将多个参数传递给函数
我将如何扩展,$insert
以便我可以将多个参数传递给函数,例如
{"Sample text %s this more %s."|inject:$foo:$foo2}
.
目前它仅适用于 1 个参数。
smarty - 插件目录冲突
自从我开始开发自己的修改器函数以使我的 Smarty 环境以应有的方式工作以来,我一直在苦苦挣扎。具体来说,我似乎必须在能够使用“内置”功能或我自己的功能之间做出选择,但不能同时使用两者。我确定我缺少一些东西,希望有人能指出我需要做的事情。
我目前所做的是:
- 当使用内置函数时——诸如大写、@debug_print_var 等修饰符——它似乎可以正常工作,而无需专门指向这些内置脚本所在的目录
- 当我开发自己的脚本时——我现在有两个——我必须明确说明它们在哪里才能让它们被识别,所以我添加了下面的代码:
代码:
正如您从注释掉的行中看到的那样,我还尝试对默认 Smarty 库和我自己的库进行两次“setPluginsDir()”调用,但它显然只允许注册一个目录。
任何和所有的帮助将不胜感激。
php - 调用未知方法“_compile_source”。灵巧3
希望有人可以帮助我。我在 CMSMS 中使用 smarty,并且在我的页面中运行了一个称为用户定义标签的东西。这包含以下代码:
我已经升级了 CMSMS 安装,所以它现在运行 smarty 3,这破坏了我的页面。我收到以下错误:
/lib/smarty/sysplugins/smarty_internal_templatebase.php:调用未知方法“_compile_source”。
我猜 Compile Source 方法在 Smarty 3 中已经被贬值了。谁能指出我正确的替换方向或让它再次工作的方法?
非常感谢
php - Smarty 3 如何与 Zend Framework 2 一起使用?
我很久以前使用 PHP5,目前正在尝试更新我的知识并用 Zend Framework 2 和 Smarty 3 的知识来扩充它,以实现一个可能的项目。
我目前正在尝试弄清楚如何使用 Smarty 3 作为 Zend Framework 2 的替代/补充。
我可以通过谷歌找到关于这个主题的所有内容:
- 已过时(例如 Zend Framework 1)
- 假设我对 Zend 和 Smarty 的工作知识比我实际掌握的更深入。
有人可以向我解释一下,就好像我是9一样,使用 Zend Skeleton Application 作为我的起点:
在哪个目录/文件夹(使用完全限定的路径)中,我应该解压缩 Smarty-3.1.12 包?
我需要创建什么类,它们究竟需要包含什么,它们应该存储在哪里?
需要修改哪些文件,以及如何使 Smarty 可以在我的模块中查看?
参考上述创建的类,如何/应该如何从 AZ 使用它们(例如,包括在适当的类中、分配值、创建输出)?
smarty - 在子目录文档上使用扩展
目录设置如下:
在 main/foo.tpl 中,常规的{extends file="common/base.tpl"}
工作正常。在 special/foo.tpl 中,{extends file="main/foo.tpl"}
效果也很好。
我遇到的问题是扩展 main/extras/bar.tpl。我尝试过的任何方法都不会扩展此文档。如果我将它从 main/extras 中移出并移到 main/ 中,则一切都像 foo 示例一样。我什至尝试过 special/extras/bar.tpl,但这也不起作用。
那么如何在子目录中扩展文档呢?我设置了 $this->smarty->use_sub_dirs = true; 这没有效果。
php - Smarty 3 在 foreach 循环中输出当前位置。
代替:
有没有办法做这样的事情?
这可以输出:
item-first item-last
我想如果只有 1 行那么它需要输出以上两个?
php - Smarty动态变量问题
不幸的是,在我目前的工作场所,我必须在我入职前的一个项目中使用 Smarty。
无论如何,我正在尝试为应用程序中的每个类别调用一个动态 html 标题。
例如,标题曾经pageTitle="{$category}
在{$areaname}
“.
但是我现在希望它是:pageTitle="{html_title}"
. 在html_title
(来自 db)内,是一个字符串,例如:“ Monkeys in the {areaname}
” Where {areaname}
could be "jungle
“。
当我输出结果时,我得到:
"Monkeys in {areaname}"
.
所以长话短说,它没有认识到变量。它把它当作一个字符串。我用谷歌搜索了我的头,找不到答案。我讨厌聪明!
请帮忙!
php - 如何
使用 smarty 和 php 从 HTML 中解析和获取标签的 url?
我有一个 smarty 变量,它将 HTML 内容保存为值。在 HTML 内容中有一个图像。我必须提取该图像的 url 以调整大小。
我知道有一种方法可以在 php 中解析它并分配给 smarty 变量。但我需要知道 smarty 中是否有任何方法,如正则表达式,可以<img>
从 HTML 中获取标签的 url。
例子:
这是<img>
单独转义标签的代码。同样,我需要从$post_content
变量中获取图像的 url。
php - 无法在 pagodabox 上为 smarty 项目写入缓存文件夹
我已经在 smarty 中创建了项目,现在我正在尝试将它托管在pagodabox.com上。我在 pagodabox.com 上创建了应用程序并将所有代码上传到此应用程序,但问题是现在我无法在 pagodabox.com 中配置缓存和编译器目录,这就是它输出胎儿错误的原因,因为缓存和编译器目录是只读模式。我尝试使用 Boxfile 解决此问题,但未能解决。我不知道如何使这些目录可写。请帮我。这是项目的网址,http://moviestock.pagodabox.com/
以下是我的 Boxfile 配置
我收到以下错误: