- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
我们有一个带有 Smarty 模板引擎的 PHP 脚本插件,
它可以在带有 {plugin_name} 的模板文件中使用,但这需要确保它在每个模板文件中,问题是:
is there a way to auto-load this plugin whenever the scripts loads?
脚本不是开源的,但是Smarty和它的文件(比如Smarty.class.php等)没有加密。
我需要做的就是在加载模板文件之前自动加载一个 Smarty 插件(它与数据库的交互很少),这是否可能/只能通过 Smarty 文件实现? (脚本本身是加密的,但Smarty_Compiler.class.php、Smarty.class.php、Config_File.class.php等smarty核心函数是开源的)
最佳答案
这取决于您使用的 Smarty 版本。
使用 Smarty 3,您可以:
$smarty = new Smarty();
$smarty->setTemplatesDir(....);
$smarty->addPluginsDir('/path/to/your/plugins');
... stuff.
$smarty->display('template.tpl');
另请参阅:https://www.smarty.net/docs/en/api.add.plugins.dir.tpl
对于 Smarty2,我认为您需要做更多类似的事情 -
https://www.smarty.net/docsv2/en/api.register.function.tpl
或者,您将函数放入 libs/plugins 目录中,并使用正确的文件名和函数名...
关于php - 如何自动加载 smarty 插件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39137267/
我有一个多维关联数组,我将其传递给 smarty 模板。我在我的 smarty 模板中使用下面的代码在我的浏览器中生成显示的两个表。 聪明的代码: {foreach from=$allarr key
如何打印聪明的变量的前n个字符,例如{$ var}的前30个字符? 最佳答案 您应该使用truncate修饰符: {$var|truncate:30} 更多信息here。 关于smarty - Sma
我有这个聪明的代码: {iterate from=fruits item=fruit} .... {/iterate} 我想在这个循环内有一个计数器,它接受一个起始值并增加一直到循环继续。 我应该用
我想自动转义所有模板变量,也就是我想转义它们而不必写|escape每时每刻。因此我启用了 $escape_html选项。 然而,显然 Smarty 处理使用 {capture} 创建的变量。以同样的方
我想在不使用循环的情况下获取 smarty 模板中数组的最后一个元素 assign("arr",$arr); 最佳答案 有一种简单的方法可以使用 variable modifier 在您的 Smart
我正在尝试向我的模板添加一些 smarty 到我想要提供的第一个元素 以及下一个元素 我尝试做这样的事情: {foreach $imageCollection as $image key=s
现在,我的日期显示如下: 19\06\2013 我想要的是这个: 19\6\2013 我目前的 smarty 代码是: {$variable|date_format:"%e\%m\%Y"} 我尝试使
我已经为 smarty 模板创建了一个文件夹结构 f .f1 ..template1.tpl ..test.tpl template1.tpl the template_dir path is poi
我正在尝试向我的模板添加一些 smarty 到我想要提供的第一个元素 以及下一个元素 我尝试做这样的事情: {foreach $imageCollection as $image key=s
我有一个“links.tpl”文件,其中包含具有许多变量的行,如下所示 {assign var=link_main value="index.php"} {assign var=link_log
如何使用Smarty获取URL,类似于JavaScript中的window.location? 我做到了 {$smarty.server.PHP_SELF} 但它不起作用。 最佳答案 你也可以使用这个
我将 Smarty 用于服务器端模板,我想将 Handlebars.js 用于客户端模板,但 Smarty 原因是错误,因为 Handlebars 使用与 Smarty 相同的大括号。 我可以在 Sm
我是 Smarty 的新手。我想对 smarty 中的数组元素进行 mod 操作。以下是我试图实现的代码片段: {if {$que_seq_no}.{$sub_ques_no+1} % 10 == 1
我正在尝试在表单中添加新的谷歌分析事件。所以我有这样的事情: Button 1 到目前为止,一切都很好。但我得到了这个奇怪的聪明错误: Fatal error: Uncaught e
我想用 smarty 编码一个 url。 $var 包含我的数据网址 最佳答案 与 escape modifier您可以设置可选的escape_type 'url' 以返回rawurlencode
哪种将我网站的模板化部分组合在一起的方法是最佳做法?我更喜欢第一种解决方案,但我不确定使用多次调用 display() 是一种好的做法。我正在寻找易于维护和速度。 display('header.tp
我们在所有前端模板中大量使用 Smarty。我观察到以下情况: 当我的Smarty模板类似如下: {if $a == 'A'} {$var1} {else}
在某些项目中,我必须使用 Perl 和 Template Toolkit在其他使用 PHP 和 Smarty模板。您能否以某种方式将两者配置为具有每种语言的公共(public)子集,以便您可以在 sm
如果它为空需要另一个结果,我有聪明的值(value) {get_video_meta video_id=$video_data.id key='test'} 这个值打印“测试”如果这个值是空的否则我该
PHP Smarty 的修改器插件可以访问 Smarty 对象吗? block 和 function 插件类型都将当前的 Smarty 对象作为参数。即 function smarty_functio
我是一名优秀的程序员,十分优秀!