0

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 来获取内容,你如何让它计入内容点击?

4

2 回答 2

0

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

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

于 2015-08-17T19:10:33.047 回答
0

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

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

虽然view.json.php没有这条线。通过添加这一行,问题就解决了!

于 2015-08-20T03:36:41.127 回答