【发布时间】:2009-05-18 13:18:52
【问题描述】:
我正在使用 Drupal 6(目前为 6.11,尚未升级到 6.12)开发一个项目,部分核心功能是对节点进行投票的能力。我有一些相当奇怪的行为,我花了很长时间才追查到现在,但我仍然无法解决它。
到目前为止,这是我设法弄清楚的:
- 模板文件
sites/default/modules/vote_up_down/theme/vote_up_down_points.tpl.php自动从vote_up_down.module调用函数template_preprocess_vote_up_down_points()。 -
vote_up_down.module然后使用存储在传递给它的$variables数组中的值查询数据库 - 只有 1 次在典型节点(在本例中为论坛帖子)上调用此函数,
$variables没有$variables['cid']的值。 - 其中一种情况是它读取分数以将其显示在帖子本身的下方。而且,它不是定位当前帖子的得分,而是定位 first-ever-voted-on 帖子的得分。 (这是因为它不是返回一个帖子的分数,而是返回所有帖子的分数,然后使用列表中的第一个)。
我假设$variables 是一个系统范围的常量(使用print_r 查看它的内容似乎可以确认这一点),所以这可能是一个核心错误,因为它应该总是相同的。我检查了$variables 的内容,大约 50 个部分中只有 4 个部分在不起作用的部分中有所不同:cid - 空白,标签 - 空白(尽管这是由函数发现并正确替换为 'vote '), zebra - even & id - 2。我想最后 2 对此并不重要,所以关键必须是为什么 $variables['cid'] 没有被通过。
所以,我的问题是:
- 以前有人遇到过这个问题吗?您是如何解决的?
- 如果没有,您有什么提示可以帮助我弄清楚为什么它不能正常工作吗?
【问题讨论】: