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来获取内容,那么如何计算内容命中数?
答案 0 :(得分:0)
你的方向正确。关于命中,你还必须考虑缓存。否则,它只会在禁用缓存时递增。
您可以查看K2组件如何以相同的方式计算命中数。
答案 1 :(得分:0)
在com_k2 / views / item下,view.html.php
行134中有view.json.php
和view.html.php
// Increase hits counter
$model->hit($item->id);
而view.json.php
没有此行。通过添加此行,问题就解决了!