Joomla:通过ajax获取k2项内容不会增加项目点击量

时间:2015-08-17 15:26:49

标签: php ajax joomla k2

k2支持ajax很棒。虽然我多年来一直在使用k2,但我只是通过阅读这篇博文来了解它:http://getk2.org/blog/786-k2-v257-released-introduces-json-jsonp-content-output并开始使用ajax来改进我的k2网站。

但我遇到了问题。

在我的页面上,有两个类别的项目列表和一个显示已结束项目的k2内容模块。我已经这样做了,当点击该类别中的一个项目时,模块中的项目内容由ajax更新。 实况页面在这里,aoafinc.org/index.php?option=com_k2&view=itemlist&layout=category&task=category&id=2&Itemid=150&lang=en-us它正在开发中,大多数是中文,但你明白了。

看起来不错,但问题是,项目点击率不会增加。 (我现在不得不使用一些javascript来伪造标题下显示的项目点击数量)无论如何要解决这个问题?我想也许我需要硬编码一些PHP文件,以便每次' url +& format = json'显示,项目点击增加。

有人指出有这个功能

function hit($id)
{

    $row = JTable::getInstance('K2Item', 'Table');
    $row->hit($id);
}

在com_k2 / models / item.php中。

但我对k2核心知之甚少,不知道如何处理它,所以任何方向或提示都会非常感激!

在某种程度上,我认为这是一个比joomla和k2更普遍的问题。如果您使用ajax来获取内容,那么如何计算内容命中数?

2 个答案:

答案 0 :(得分:0)

你的方向正确。关于命中,你还必须考虑缓存。否则,它只会在禁用缓存时递增。

您可以查看K2组件如何以相同的方式计算命中数。

答案 1 :(得分:0)

在com_k2 / views / item下,view.html.php行134中有view.json.phpview.html.php

// Increase hits counter
$model->hit($item->id);

view.json.php没有此行。通过添加此行,问题就解决了!