2011-11-03 54 views
1

我与现有的定制电子商务平台,直到最近没有要求操纵它存储在数据库中的产品(由数量等比乘除外)的价格工作。我现在的任务是构建功能,这些功能可以让我们在不使用增值税的情况下查看这些价格,并根据整个网站设置定制货币,或者根据用户的汇率和货币符号进行定制。设置背后的理论/每用户/区域等不是问题,这是改变整个网站的所有定价的最佳方式。应用广泛的价格格式化

背景

  • 输出的比特缓冲,所以我有机会获得整个输出,然后再将其发送到浏览器中$output
  • 有一个关于定价没有现成的抽象。
  • 在模板中有一些地方的价格没有符号的格式0.00(用于基于Javascript的计算)以及符号格式的商品£0.00
  • 像添加/从篮子中移除的东西是使用Ajax和JSON格式返回的新价格
  • 一些定价变量都埋在其中的核心/应用程序类构造大型多维数组完成。其中一些用于在模板中的核心/应用程序类中进一步计算。

选项,我认为

  • 遭受性能损失和preg_replace_callback('/&pound;(?:<.*>|\s*)?(\d*\.\d\d)/i'...);$output。然而,这并不能解决价格问题,而不是像上面提到的那样在前面用£。当使用Ajax返回价格时也没用。
  • 经过每一个模板文件,每一个模块类,每一个核心类,每一个帮手和Javascript的每一位离开的输出,因为它是目前和复制任何数组键/对象变种产生,但后缀它_formatted或类似并在模板中根据需要输出。我也必须有一个_calculated后缀。所以我的价格分别是10,10,8和8英镑,分别是10,10 * 0.8(增值税)和10 * 0.8。
  • 通过所有的上述文件/节/班扎模板和保持单一输出但对于模板预先计算准备好,这样我就不需要去通过每一个模板文件。

由于上述原因,第一个选项不能真正起作用,所以选项2,3和任何你可能会建议的都在我想的卡上。不幸的是,由于应用程序的规模可能会占用我大约一周的时间,因此整个过程只有两周的时间(其他未提及但技术上不相关的功能)以及上述选项。

任何建议或建议,您也许能够给将不胜感激。

+0

你不应该在输出中修复它。在输出每个数字之前修复它。 – hakre

+0

的确,我想在输出之前解决它,我只是在寻求如何最好的方法提出建议。在模板级输出它是一个可怕的想法。不幸的是,这些模板已经被计算困扰了,所以这将是一个大规模的清理操作,这就是为什么我想要正确地使用它 –

回答

0

如何被那些价格检索?您没有定价抽象,但您可能有数据库抽象。也许你可以操纵查询中的价格或之后的价格。

+0

有一些数据库抽象 - 你是否建议我捕获所有结果对象并替换任何字段其中包含价格与某种定价封装/抽象产品的价格? –

+0

如果你有每个产品的价格字段 - 我想你有 - 可以在查询本身上执行数字/格式操作(增加/删除增值税,货币变化等),所以结果已经根据你的网站操纵广泛的设置(这将在查询时间知道)。如果价格插入到文本中 - 所以它们也只是文本 - 您最好在这些特定文本上应用替换函数,而不是在完整的$输出中。如果模板中的“£”存在不确定性,请确保输出代在需要时包含它并将其从模板中移除。 –

+0

我不知道你使用的是什么数据库系统,但看看这些函数可以更好地理解我在说什么:http://dev.mysql.com/doc/refman/5.6/ en/string-functions.html和http://dev.mysql.com/doc/refman/5.6/en/numeric-functions.html –