0

我在 MODX revo 2.2 中有以下内容:

我定义了 5 个代表定价结构的模板变量。其中一台电视代表基本价格并由用户维护(在管理器中),而其他电视应自动计算为基本价格的已知百分比。所以我想要的是,当用户更改基本价格时,其他 4 台电视会自动(重新)计算。

我尝试通过@EVAL为 4 台电视定义一个绑定并调用一个片段来实现这一点,但是我没有成功使用这种方法。即使只是一个简单的操作@EVAL return 100;也会让电视一片空白。

我还查看了解决此问题的插件,并发现在使用电视时会触发各种系统事件。这表明这将是实现这一点的一种方法。

关于如何处理这个问题的任何想法?

4

2 回答 2

1

我们可以看到一些代码吗?在我看来,您的其他 4 台电视根本不需要是电视 [除非它们需要根据每个资源进行修改?] 但最好作为模板中的片段从一个基本价格运行计算电视。另外 - 小心系统事件,虽然有很多可以使用,但并非所有事件都实际实现。[我发现了困难的方式] –</p>

谢谢罗杰。我确实花了很多时间试图找到不使用电视的方法,因为它们的处理成本可能很高。如果您在任何时候看电视并认为它可以作为片段 [或块或插件] 工作,那么这可能就是要走的路。恕我直言。

很高兴你解决了。

于 2012-09-11T20:18:10.070 回答
0

这对我来说可以总结 MODX Evolution 1.0.3 中两个模板变量的内容:

@EVAL $tvs=array('Fee_year_1','Fee_year_2');$tarifs=$modx->getTemplateVarOutput($tvs,'39');return $tarifs['Fee_year_1']+$tarifs['Fee_year_2'];

这被放入“数字”类型的模板变量中,在同上块中显示为占位符:[+Total_2_years+]

如果使用 TV 作为占位符,您必须明确指定文档 ID。一个缺点是我不得不手动设置文档标识符。[+id+] 和 strval($modx->documentIdentifier) 都不起作用。

我相信在这种情况下使用片段会更好。

于 2013-02-13T17:57:04.577 回答