Форум Joomla! Україна

Повна версія: Проблема з лічильником переглядів
Ви переглядаєте спрощену версію. Переглянути повну версію з віповідним форматуванням.
Чомусь "тупить" лічильник переглядів дописів в К2.Наприклад,лічильник показує 8 переглядів допису,дивлюсь в Яндекс -допис прочитали 200 разів...
Хто підкаже,в чому проблема?
Проблема у кешувані!

Оскільки у вас закешована сторінка, то й відповідно не спрацьовує скрипт підрахунку.

Як приклад, щоб у вас лічильник працював, то в шаблоні можна прописати, щось на кшталт схоже з цим (код використовую для підрахунку переглядів статей Joomla, але його можна адаптувати і під K2):

Код:
if (isset($view) && strtolower($view) == 'article')
{
    $articleId = JRequest::getVar('id');

    $db = JFactory::getDbo();
    $hs = 'SELECT hits FROM #__content WHERE id = '. $articleId;
    $db->setQuery($hs);
    $currentHits = $db->loadResult();
    $updateHits = $currentHits + 1;

    $update = 'UPDATE #__content SET HITS = '. $updateHits .' WHERE id = '. $articleId;
    $db->setQuery($update);
    $db->Query();
}
Дякую,що відповіли.
А як адаптувати до К2? В яку папку та файл шаблону вставляти?
Чи не можна просто відключити кешування?
Anatolij Написав:Дякую,що відповіли.
А як адаптувати до К2? В яку папку та файл шаблону вставляти?
Чи не можна просто відключити кешування?

У вас самописний шаблон, чи закачений з нету?
Платний чи безкоштовний?
Dutch Написав:У вас самописний шаблон, чи закачений з нету?
Платний чи безкоштовний?
Шаблон gk_news скачаний ,безкоштовний
Будь ласка,дайте відповідь як адаптувати вищевказаний код для К2 ? Я вже методом проб пошукаю куди його вставити.
Так, якщо я нічого не наплутав, то код буде такий:

Код:
<?php
if (isset($view) && strtolower($view) == 'item')
{
    $articleId = JRequest::getVar('id');

    $db = JFactory::getDbo();
    $hs = 'SELECT hits FROM #__k2_items WHERE id = '. $articleId;
    $db->setQuery($hs);
    $currentHits = $db->loadResult();
    $updateHits = $currentHits + 1;

    $update = 'UPDATE #__k2_items SET HITS = '. $updateHits .' WHERE id = '. $articleId;
    $db->setQuery($update);
    $db->Query();
}
?>

Нагадаю, ще раз, беремо цей код і прописуємо в ваш шаблон (файл index.php).
Щось не виходить:на сайті - помилка сервера 500
Мій код такий
Код:
<?php

/**
*
* Main file
*
* @version             3.0.0
* @package             Gavern Framework
* @copyright            Copyright (C) 2010 - 2012 GavickPro. All rights reserved.
*              
*/

// No direct access.
defined('_JEXEC') or die;
if(!defined('DS')){
   define('DS',DIRECTORY_SEPARATOR);
}
// Add JavaScript Frameworks
JHtml::_('bootstrap.framework');

// enable showing errors in PHP
ini_set('error_reporting', E_ALL & ~E_NOTICE & ~E_WARNING & ~E_STRICT);
ini_set('display_errors','On');
// include framework classes and files
require_once('lib/gk.framework.php');
require_once('lib/framework/gk.const.php');
// run the framework
$tpl = new GKTemplate($this, $GK_TEMPLATE_MODULE_STYLES);


// EOF

Куди вставити Ваш код?
Після
Код:
defined('_JEXEC') or die;
Dutch Написав:Після
Код:
defined('_JEXEC') or die;
Всеодно - 500