Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Smarty 是否可以将变量放入配置文件中?_Smarty_Config - Fatal编程技术网

Smarty 是否可以将变量放入配置文件中?

Smarty 是否可以将变量放入配置文件中?,smarty,config,Smarty,Config,我使用smarty允许在我的网站上使用不同的语言,到目前为止效果还不错。我将文本存储在不同部分的配置文件中 但也有这样的句子: “你有6封新邮件!”,这将是德语“Sie haben 6封新邮件!” 现在,数字前面和后面都有文本,这是从数据库中加载的。我想把它放到配置文件中,然后自己加载这个数字 所以我在我的“text.conf”中有这个 在我的“show_text.php”中 这样的事情可能吗?也许用Smarty 3.0 提前感谢,, BH我现在没有Smarty来测试这一点,但是如果您在配置条目

我使用smarty允许在我的网站上使用不同的语言,到目前为止效果还不错。我将文本存储在不同部分的配置文件中

但也有这样的句子:

“你有6封新邮件!”,这将是德语“Sie haben 6封新邮件!”

现在,数字前面和后面都有文本,这是从数据库中加载的。我想把它放到配置文件中,然后自己加载这个数字

所以我在我的“text.conf”中有这个

在我的“show_text.php”中

这样的事情可能吗?也许用Smarty 3.0

提前感谢,,
BH

我现在没有Smarty来测试这一点,但是如果您在配置条目中正确声明变量,它应该可以工作,例如:

ail_count = "You have {$NUMBER} new mails!"

您可以使用sprintf sintax。这个例子来自一个类似寻呼机的东西:

results = "Results %s to %s of %s total"

{#results#|sprintf:$start:$end:$total}

我刚试过这个,效果很好,但是很难看

  • 创建一个文件“number.tpl”,其中包含
{$NUMBER}

  • 在conf文件中,如下所示
mail_count=“您有{include file='number.tpl'}新邮件


我猜这是因为smarty变量只在tpl文件中工作。

读取配置文件时,需要使用

$cfg = $smarty->fetch('path/to/file');

在这之后,$cfg变量中的所有文件内容都被替换了{$NUMBER}。

没有,遗憾的是没有。我已经试过了,输出是“youhave{$NUMBER}new mails!”这有点有效,但仍然没有达到预期效果:您仍然需要添加这个sprintf内容,并且不能直接将变量提供给smarty。我已经找到了一个与此类似的解决方案,但将使用“replace”而不是“sprintf”。无论如何谢谢你!这对我来说根本不起作用,内部include没有执行,我得到的是文本“youhave{include file='number.tpl'}new mails!”我正在firefox浏览器中运行show_text.php文件。你在这么做吗?
results = "Results %s to %s of %s total"

{#results#|sprintf:$start:$end:$total}
$cfg = $smarty->fetch('path/to/file');