Счетчик просмотра блогов

#1 7 июля 2012 в 23:45
Парни как сделать счетчик просмотра блогов рядом с комментами?
#2 7 июля 2012 в 23:58
а в блогах вообще есть такой счетчик?
#3 8 июля 2012 в 08:42
Бери за образец счётчик просмотров для статей.
Всё предельно просто.
В таблице cms_blogs создаёшь поле hits (как в статьях cms_comments)
При создании блога оно автоматом получает значение 0
Всё что остаётся — это при каждом обращении к блогу увеличивать hits на 1. Для этого:
в /components/blogs/model.php
в public function getBlog($id) ПЕРЕД return $blog;
ДОБАВЛЯЕМ:
$sql = "UPDATE cms_blogs SET hits = hits + 1 WHERE id = '$id'";
$this->inDB->query($sql);

так как блог мы можем получать не только по id но и по seolink, то нужно поправить ещё и функцию
public function getBlogByLink($seolink)
в неё, перед return $blog;
ДОБАВЛЯЕМ:
$sql = "UPDATE cms_blogs SET hits = hits + 1 WHERE seolink = '$seolink'";
$this->inDB->query($sql);


ВСЁ, теперь при каждом открытии блога счётчик будет увеличиваться.
Чтобы увидеть его значение, в com_blog_view.tpl используем переменную {$blog.hits}

РАЗВЛЕКАЙТЕСЬ! ))
#4 8 июля 2012 в 08:56
Ленивый,
Спасибо.
Задумывался у себя внедрить. Да руки не доходят.
Хак именно для блога.
Ну как у Вас и попросили в текстовом виде

А на скриншоте у автора ветки — вроде как для постов.
Скорее там ещё добавлять надо в cms_blog_posts столбец
#5 8 июля 2012 в 10:28


Ленивый,
Спасибо.
Задумывался у себя внедрить. Да руки не доходят.
Хак именно для блога.
Ну как у Вас и попросили в текстовом виде

А на скриншоте у автора ветки — вроде как для постов.
Скорее там ещё добавлять надо в cms_blog_posts столбец

Amurland

Я тоже сначала начал писать инструктаж для постов, это вроде логичнее, потом посмотрел — автор просит для блогов.
Сделал для блогов.
Если же надо для постов, то совершенно верно, поле добавляется в таблицу cms_blog_posts
ну и соответственно, нужно отслеживать просмотр поста —
public function getPost($post_id)
ДОБАВЛЯЕМ:
$sql = "UPDATE cms_blog_posts SET hits = hits + 1 WHERE id = '$id'";
$this->inDB->query($sql);

ну и в
public function getPostByLink($bloglink, $seolink)
ДОБАВЛЯЕМ:
$sql = "UPDATE cms_blog_posts SET hits = hits + 1 WHERE seolink = '$seolink'";
$this->inDB->query($sql);

Будет считать просмотры постов
#6 10 июля 2012 в 01:59
Ленивый, я добавил в model.php ваши строки😊Но счетчик просмотра блогов я хочу вывести в модуле последние блоги — смотрю modules/mod_latestblogs.tpl и не знаю куда вставить чтобы счетчик было видно( Помогите
#7 10 июля 2012 в 07:54
Так, внимание, началась тонкая игра слов!!
modules/mod_latestblogs.tpl хоть и называется Последние блоги, выводит на самом деле последние Посты в блогах.
Соответственно, тут можно отобразить счётчик для постов, если оный был установлен.
(мы как раз об этом выше с Amurland, говорили. Там же код для вставки счётчика для постов)

Как поняли? приём!!!
#8 10 июля 2012 в 10:25
Ленивый, не понимаю немного. Про какие посты вы говорите? Про посты в блогах? Ну я про них и думал просто написал "блогов". Простите)

так а куда вставлять{$blog.hits} в modules/mod_latestblogs.tpl чтобы рядлм с количеством комментариев было кол-во просмотров поста в блоге? Подскажите
#9 10 июля 2012 в 11:20
ТАК, чтобы исключить путаницу, давай с самого начала:
УСТАНОВИТЬ СЧЁТЧИК ДЛЯ Б Л О Г О В


В таблице cms_blogs создаёшь поле hits (тип INT длина 10)
Далее:
в /components/blogs/model.php
в public function getBlog($id) ПЕРЕД return $blog;
ДОБАВЛЯЕМ:
$sql = "UPDATE cms_blogs SET hits = hits + 1 WHERE id = '$id'";
$this->inDB->query($sql);

так как блог мы можем получать не только по id но и по seolink, то нужно поправить ещё и функцию
public function getBlogByLink($seolink)
в неё, перед return $blog;
ДОБАВЛЯЕМ:
$sql = "UPDATE cms_blogs SET hits = hits + 1 WHERE seolink = '$seolink'";
$this->inDB->query($sql);
ВСЁ, теперь при каждом открытии блога счётчик будет увеличиваться.
Чтобы увидеть его значение, в com_blog_view.tpl используем переменную {$blog.hits}

Ленивый

ДЛЯ П О С Т О В:

поле hits (тип INT длина 10) добавляется в таблицу cms_blog_posts
ну и соответственно, нужно отслеживать просмотр поста -
public function getPost($post_id)
ДОБАВЛЯЕМ:
$sql = "UPDATE cms_blog_posts SET hits = hits + 1 WHERE id = '$id'";
$this->inDB->query($sql);

ну и в
public function getPostByLink($bloglink, $seolink)
ДОБАВЛЯЕМ:
$sql = "UPDATE cms_blog_posts SET hits = hits + 1 WHERE seolink = '$seolink'";
$this->inDB->query($sql);

Будет считать просмотры постов

Ленивый


Можно спокойно добавить оба — будет считать и то и другое.
Дальше:
{$blog.hits} будет показыват просмотры в com_blog_view.tpl
{$post.hits} будет показыват просмотры в com_post_view.tpl

ЧТОБЫ

в modules/mod_latestblogs.tpl рядлм с количеством комментариев было кол-во просмотров поста в блоге

hydraq
НУЖНО:
в /modules/mod_latestblogs/module.php
заменить
$sql = "SELECT p.title as title,
p.id as id,
p.seolink as seolink,
b.title as blog,
НА:
$sql = "SELECT p.title as title,
p.id as id,
p.seolink as seolink,
p.hits as post_hits,
b.hits as blog_hits,
b.title as blog,

а в modules/mod_latestblogs.tpl
<a class="mod_latest_blog_title" href="{$post.href}">{$post.title}</a>
<div class="mod_latest_date">
{$post.fpubdate} — <a href="{$post.bloghref}">{$post.blog}</a>{if $cfg.showcom} — <a href="{$post.href}" title="{$post.comments|spellcount:$LANG.COMMENT1:$LANG.COMMENT2:$LANG.COMMENT10}" class="mod_latest_comments">{$post.comments}</a>{/if}
</div>

ЗАМЕНИТЬ НА:

<a class="mod_latest_blog_title" href="{$post.href}">{$post.title}{if $post.post_hits > 0} — {$post.post_hits}пр{/if}</a>
<div class="mod_latest_date">
{$post.fpubdate} — <a href="{$post.bloghref}">{$post.blog}</a>{if $cfg.showcom} — <a href="{$post.href}" title="{$post.comments|spellcount:$LANG.COMMENT1:$LANG.COMMENT2:$LANG.COMMENT10}" class="mod_latest_comments">{$post.comments}</a>{/if}
{if $post.blog_hits > 0} — {$post.blog_hits}пр{/if}
</div>


пример работы:
instanter.ru/
Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.