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