1

有点奇怪,但我正在使用一个名为 CS-Cart 的电子商务平台,它使用 smarty 作为模板语言。它有一个聪明的调试控制台,可以让我看到当前页面正在使用哪些变量。

例如,这里是一个正在使用的数组(我已经缩短了这个例子):

 Appearance => Array (33)
  products_per_page => "10"
  admin_products_per_page => "10"
  admin_elements_per_page => "10"
  columns_in_products_list => "3"
  default_products_sorting => "price"

我希望能够为default_products_sorting => "price" 我计划在文档的标题中执行此操作分配不同的值,因为它将包含在 IF 语句中,只有在某些条件为真时才会更改变量。

这在smarty中甚至可能吗?(不使用 PHP),如果是这样,关于如何实现这一点的任何想法?我已经搜索了谷歌,但到目前为止还是一片空白。

任何帮助深表感谢。

4

2 回答 2

2

您可以像这样更改变量

{$Appearance.default_products_sorting = "NEW_VALUE"}

在这一行之后,如果你使用{$Appearance.default_products_sorting}你应该得到新的值。

我刚刚检查过,它有效。

您应该在 smarty 模板的顶部更改它,以便使用此变量的任何代码都获得更新的值。

看起来上面的方法不适用于arrays. 您可以考虑使用此链接中的自定义函数http://www.smarty.net/forums/viewtopic.php?t=7201&highlight=create+array

于 2012-06-01T10:22:33.363 回答
0

{php}$this->_tpl_vars['Appearance']['default_products_sorting'] = "value";{/php}

我没有在 WHMCS 之外对此进行过测试,但通过快速搜索,它看起来仍然适用。

在这里找到:http: //forum.whmcs.com/showthread.php?28490-Modify-single-item-of-smarty-array

于 2013-02-05T07:35:33.633 回答