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

时间:2010-10-05 11:45:53

标签: smarty config

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

但是有这样的句子:

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

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

所以我在“text.conf”

中有这个
[en]
mail_count = "You have $NUMBER new mails!"
[de]
mail_count = "Sie haben $NUMBER neue Mails!"

这是我的“show_text.php”

$smarty->assign('NUMBER', 6);

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

提前致谢, BH

4 个答案:

答案 0 :(得分:1)

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

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

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

答案 1 :(得分:1)

我只是尝试了这个并且它有效,但它相当难看......

  • 创建一个包含
  • 的文件“number.tpl”
  

{$ NUMBER}

    你的conf文件中的
  • 就像这样
  

mail_count =“你有{include   file ='number.tpl'}新邮件!“

我想这是因为smarty变量只适用于tpl文件。

答案 2 :(得分:1)

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

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

之后,您将整个文件内容放在$ cfg变量中,并替换{$ NUMBER}。

答案 3 :(得分:0)

我现在没有Smarty对此进行测试,但是如果你在配置条目中正确声明变量,它应该可以工作,如:

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