0 Пользователей и 1 Гость просматривают эту тему.
  • 0 Ответов
  • 2143 Просмотров
*

kiryann

  • Осваиваюсь на форуме
  • 19
  • 3 / 0
Вот нашёл на просторах решение давней проблемы с кэшем и количеством просмотров, то есть если включить кэш, то хиты перестают считаться. Решение, правда, для родного компонента Joomla http://www.inmotionhosting.com/support/edu/joomla-3/increase-hits-cache, но после несложных манипуляций с кодом заработало и на K2, Joomla 2.5 + Jotcashe

Создал файл includes/increase_hits.php, следующего содержания
Код
<?php
 
if (  $_POST['option'] == "com_k2"
      && $_POST['view'] == "K2Item"
      && is_numeric($_POST['id']))
{
  // connect to the database
  include_once("../configuration.php");
  $cg = new JConfig;
  $con = mysqli_connect($cg->host,$cg->user,$cg->password,$cg->db);
  if (mysqli_connect_errno())
    die('n/a');

  // increase hits
  $query = "  UPDATE  `" . $cg->dbprefix . "k2_items`
              SET     `hits` = `hits` + 1
              WHERE   `id` = " . $_POST['id'] . "
              LIMIT 1;
  ";
  mysqli_query($con,$query);

  // grab the new hit count
  $query = "  SELECT  `hits`
              FROM    `" . $cg->dbprefix . "k2_items`
              WHERE   `id` = " . $_POST['id'] . "
              LIMIT 1;
  ";
  $new_hits = mysqli_fetch_assoc(mysqli_query($con,$query));

  // close the connection to the database
  mysqli_close($con);

  echo $new_hits['hits'];
}

?>

Далее в файл шаблона материала /com_k2/templates/default/item.php добавил скрипт
Код
<script type='text/javascript'>
 jQuery.post('<?php echo JURI::base(); ?>includes/increase_hits.php',{option:'com_k2',view:'K2Item',id:'<?php echo $this->item->id; ?>'},
 function(data,status){jQuery('#item_hits').html(data);},'text');
</script>

и вместо
Код
<span><?php echo ($this->item->hits); ?></span>

добавил
Код
<span id="article_hits"></span>

и в файле components/com_k2/models/item.php закомментировал
Код
$row = JTable::getInstance('K2Item', 'Table');
$row->hit($id);
что бы, при обновлении кэша повторно хиты не добавлялись.

А вот как подтянуть хиты в категории при обновлении страницы, с помощью jQuery, решить не могу, пробовал пару вариантов, но не получается. Подскажите решение, как прописать правильно.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Проблема с нагрузкой на хостинг сервер Joomla 3.9.13 + K2+подсчет хитов

Автор Kokshetau

Ответов: 0
Просмотров: 446
Последний ответ 27.01.2020, 10:53:02
от Kokshetau
Увеличение количества месяцев в K2 Tools архиве

Автор michaellux

Ответов: 0
Просмотров: 592
Последний ответ 29.06.2018, 16:27:45
от michaellux
K2 выбор количества материалов

Автор klekovkinandrey

Ответов: 1
Просмотров: 685
Последний ответ 26.10.2017, 14:56:24
от Septdir
Как настроить чтобы компонент К2 начал правильно считать хиты просмотров при включенном кэше?

Автор Kokshetau

Ответов: 0
Просмотров: 623
Последний ответ 02.12.2016, 09:28:04
от Kokshetau
Где К2 хранит количество просмотров и рейтинг ?

Автор mrmarkov

Ответов: 4
Просмотров: 730
Последний ответ 14.07.2016, 12:58:05
от mrmarkov