【问题标题】:Joomla: Fetching k2 item content by ajax won't increase item hitsJoomla:通过ajax获取k2项目内容不会增加项目命中
【发布时间】:2015-11-10 07:29:48
【问题描述】:

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 来获取内容,如何将其计入内容点击数?

【问题讨论】:

    标签: php ajax joomla k2


    【解决方案1】:

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

    您可以查看 K2 组件如何以相同的方式计算点击次数。

    【讨论】:

      【解决方案2】:

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

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

      view.json.php 没有这一行。加上这一行,问题就解决了!

      【讨论】:

        猜你喜欢
        • 2016-11-16
        • 1970-01-01
        • 1970-01-01
        • 2015-04-07
        • 2012-03-07
        • 2012-11-13
        • 2017-02-20
        • 1970-01-01
        • 2013-07-16
        相关资源
        最近更新 更多