Вместо переходов просмотры в статистике - Дизайн и модификация Invision Power Board

Перейти к содержимому

 

Правила раздела

Здесь обсуждаются вопросы по настройке и администрированию форумов IPB 3.x.
Пожалуйста, не оффтопьте, если зашли сюда случайно, и обратите внимание на соседние разделы.
Установка, настройка и обслуживание форумов IPB 2.x.
Оформление форумов, включая верстку скинов.
Размещение рекламы на форумах.
SEO оптимизация форума.
Техническая поддержка наших скинов и модов.

СвернутьПрикрепленные теги

Теги не найдены

  • 2 Страниц +
  • 1
  • 2

Вместо переходов просмотры в статистике

#1 Пользователь не на сайте   Haktar ответил: »

 
 
  • Advanced
  • ***
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 1 153
  • Регистрация: 13-Июнь 09
  • Репутация: 23
  • IPB version:3.1.x
 

Отправлено 06 Октябрь 2019 - 23:49

В приложение links статистика ведётся не по количеству просмотров записи, а по количеству переходов по ссылкам.
Вот пример такого у вас на форуме (также стоит это приложение) - http://ipbskins.ru/f...9-palermo-club/

Захотелось изменить это, вместо статистики по количеству переходов по ссылкам, поставить по количеству просмотров записи.
Залез в файл classLinks.php, но так и не понял где и что поменять.

Не подскажите? Вот файл прилагаю:
Вложение  classLinks.zip (8,89К)
Количество загрузок: 1
0

#2 Пользователь не на сайте   newbie ответил: »

 
 
  • Advanced
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: IPB Skins.ru Team
  • Сообщений: 4 048
  • Регистрация: 26-Октябрь 11
  • Репутация: 1 588
  • IPB version:I have no IPB
 

Отправлено 07 Октябрь 2019 - 07:29

А просмотры у данного приложения вообще есть?
0

#3 Пользователь не на сайте   Haktar ответил: »

 
 
  • Advanced
  • ***
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 1 153
  • Регистрация: 13-Июнь 09
  • Репутация: 23
  • IPB version:3.1.x
 

Отправлено 07 Октябрь 2019 - 14:39

Просмотреть сообщениеnewbie 07 Октябрь 2019 - 07:29 сказал(а):

А просмотры у данного приложения вообще есть?

В том то и дело что их нет, судя по этому файлу. А нельзя их подключить?
0

#4 Пользователь не на сайте   newbie ответил: »

 
 
  • Advanced
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: IPB Skins.ru Team
  • Сообщений: 4 048
  • Регистрация: 26-Октябрь 11
  • Репутация: 1 588
  • IPB version:I have no IPB
 

Отправлено 07 Октябрь 2019 - 15:30

Нужно все приложение смотреть
0

#5 Пользователь не на сайте   Haktar ответил: »

 
 
  • Advanced
  • ***
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 1 153
  • Регистрация: 13-Июнь 09
  • Репутация: 23
  • IPB version:3.1.x
 

Отправлено 07 Октябрь 2019 - 15:45

Просмотреть сообщениеnewbie 07 Октябрь 2019 - 15:30 сказал(а):

Нужно все приложение смотреть

Вот всё приложение:
Вложение  IP Links 3.2.2.zip (146,86К)
Количество загрузок: 1
0

#6 Пользователь не на сайте   newbie ответил: »

 
 
  • Advanced
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: IPB Skins.ru Team
  • Сообщений: 4 048
  • Регистрация: 26-Октябрь 11
  • Репутация: 1 588
  • IPB version:I have no IPB
 

Отправлено 08 Октябрь 2019 - 08:29

1. Выполнить sql-запрос
ALTER TABLE links ADD link_views INT(10) NOT NULL DEFAULT '0';

2. В admin/applications_addon/other/links/modules_public/links/links.php после
		$this->registry->output->addCanonicalTag( "links/link/{$link['link']['link_id']}-{$link['link']['link_seo_title']}/".$showlink, $link['link']['link_seo_title'], 'showlink' );
добавить
		$this->DB->update( 'links', 'link_views=link_views+1', "link_id={$link['link']['link_id']}", true, true );

Дальше правите шаблоны, где нужно добавить просмотры
2

#7 Пользователь не на сайте   Haktar ответил: »

 
 
  • Advanced
  • ***
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 1 153
  • Регистрация: 13-Июнь 09
  • Репутация: 23
  • IPB version:3.1.x
 

Отправлено 08 Октябрь 2019 - 12:59

Просмотреть сообщениеnewbie 08 Октябрь 2019 - 08:29 сказал(а):

1. Выполнить sql-запрос
ALTER TABLE links ADD link_views INT(10) NOT NULL DEFAULT '0';

2. В admin/applications_addon/other/links/modules_public/links/links.php после
		$this->registry->output->addCanonicalTag( "links/link/{$link['link']['link_id']}-{$link['link']['link_seo_title']}/".$showlink, $link['link']['link_seo_title'], 'showlink' );
добавить
		$this->DB->update( 'links', 'link_views=link_views+1', "link_id={$link['link']['link_id']}", true, true );

Дальше правите шаблоны, где нужно добавить просмотры

Спасибо, то что надо!

Да, ещё бы добавить в категории, подсчитывающее количество всех просмотров.
0

#8 Пользователь не на сайте   newbie ответил: »

 
 
  • Advanced
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: IPB Skins.ru Team
  • Сообщений: 4 048
  • Регистрация: 26-Октябрь 11
  • Репутация: 1 588
  • IPB version:I have no IPB
 

Отправлено 08 Октябрь 2019 - 14:35

Просмотреть сообщениеHaktar сказал(а):

Да, ещё бы добавить в категории, подсчитывающее количество всех просмотров.

1. Выполнить sql-запрос
ALTER TABLE links_cats ADD category_total_views MEDIUMINT(8) NOT NULL DEFAULT '0';


2. В admin/applications_addon/other/links/sources/classLinks.php
- Найти
SUM( link_hits ) AS totalHits,
заменить на
SUM( link_hits ) AS totalHits, SUM( link_views ) AS totalViews,


- Найти
			$totalHits			= ( $stats[ 'totalHits' ] ) ? $stats[ 'totalHits' ] : 0;

После добавить
			$totalViews			= ( $stats[ 'totalViews' ] ) ? $stats[ 'totalViews' ] : 0;

- Найти
'category_total_hits' => $totalHits,

Заменить на
'category_total_hits' => $totalHits, 'category_total_views' => $totalViews,


3. Для кешевой статистики

- Найти
										'total_hits'				=>	0,

Ниже добавить
										'total_views'				=>	0,

- Найти
		$this->DB->build(	array(	'select'	=>	'link_approved, link_hits, link_comments',

заменить на
		$this->DB->build(	array(	'select'	=>	'link_approved, link_hits, link_comments, link_views',

- Найти
				$stats[ 'totalHits' ] += $row[ 'link_hits' ];

Ниже добавить
				$stats[ 'totalViews' ] += $row[ 'link_views' ];

- Найти
		$cache[ 'total_hits' ]			=	( $stats[ 'totalHits' ]	)			?	$stats[ 'totalHits' ]			:	0;

Ниже добавить
		$cache[ 'total_views' ]			=	( $stats[ 'totalViews' ]	)			?	$stats[ 'totalViews' ]			:	0;



Дальше правите шаблоны, где нужно добавить просмотры
Есть НО. Обновляться счетчик будет при вызове метода resyncCategory(), что делается при определенных действиях.
Как вариант, вызывать метод в нужных местах. Но каждый раз дергать метод накладно. Лучше использовать кеш

4. В этот же файл добавить
	public function updateCategoryViews($catId)
	{
		if ( $this->getCategory( intval( $catId ) ) )
		{
			$cache = $this->cache->getCache('links_views_updates');
			
			if ( !isset($cache[$catId]) or ( $cache[$catId] < ( time() - 10 * 60) ) )
			{
				$cache[$catId] = time();
			
				$this->cache->setCache( 'links_views_updates', $cache, array( 'donow' => 1, 'array' => 1 ) );
				
				$this->resyncCategory( $catId );
			}			
		}
	}

Устанавливаем на 10 минут.
5. Обновление статистики при просмотре категории
admin/applications_addon/other/links/modules_public/links/categories.php
Найти
$this->registry->output->addCanonicalTag( "links/category/{$category['category_id']}-{$category['category_seo_title']}/".$cats, $category['category_seo_title'], 'cats' );

Ниже добавить
		$this->links->updateCategoryViews( $category['category_id'] );

1

#9 Пользователь не на сайте   Haktar ответил: »

 
 
  • Advanced
  • ***
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 1 153
  • Регистрация: 13-Июнь 09
  • Репутация: 23
  • IPB version:3.1.x
 

Отправлено 08 Октябрь 2019 - 16:40

newbie,
Отлично, всё работает. Большое спасибо!

Кстати, что бы не открывать новую тему, в этом же приложение выбивает в ошибку модуль Жалоб, вот что пишет:
Warning: require_once(/extensions/reportPlugins/links.php): failed to open stream: Нет такого файла или каталога in адрес к файлу/admin/sources/base/core.php on line 1238

Fatal error: require_once(): Failed opening required '/extensions/reportPlugins/links.php' (include_path='.:адрес к файлу/ips_kernel/') in адрес к файлу/admin/sources/base/core.php on line 1238

Причём links.php в директории reportPlugins я совешено не трогал.
В чём может быть проблема?
0

#10 Пользователь не на сайте   Haktar ответил: »

 
 
  • Advanced
  • ***
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 1 153
  • Регистрация: 13-Июнь 09
  • Репутация: 23
  • IPB version:3.1.x
 

Отправлено 08 Октябрь 2019 - 22:16

Кстати по теме: А как ещё добавить в общую статистику на главной странице приложения, что бы показывало общее количество просмотров?
Добавил в шаблон - {$stats[ 'total_views' ]}
Не помогает, показывает 0.
0

#11 Пользователь не на сайте   newbie ответил: »

 
 
  • Advanced
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: IPB Skins.ru Team
  • Сообщений: 4 048
  • Регистрация: 26-Октябрь 11
  • Репутация: 1 588
  • IPB version:I have no IPB
 

Отправлено 09 Октябрь 2019 - 06:54

Я тут вспомнил, что в 3-ке можно в АЦ создавать задачи.
Можно сделать, чтобы в категории не заходить.
Установить
Вложение  task.xml (738байт)
Количество загрузок: 1
Загрузить
admin/applications_addon/other/links/tasks/Вложение  resync.php (2,17К)
Количество загрузок: 1

Просмотреть сообщениеHaktar сказал(а):

В чём может быть проблема?
Выполните sql-запрос
UPDATE rc_classes SET app = 'links' WHERE my_class='links';

Просмотреть сообщениеHaktar сказал(а):

Добавил в шаблон - {$stats[ 'total_views' ]}
Не помогает, показывает 0.

admin/applications_addon/other/links/modules_public/links/categories.php
После
 		$stats[ 'total_hidden' ]			=	$this->registry->class_localization->formatNumber( $stats[ 'total_hidden' ] );

добавить
		$stats[ 'total_views' ]			=	$this->registry->class_localization->formatNumber( $stats[ 'total_views' ] );

1

#12 Пользователь не на сайте   Haktar ответил: »

 
 
  • Advanced
  • ***
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 1 153
  • Регистрация: 13-Июнь 09
  • Репутация: 23
  • IPB version:3.1.x
 

Отправлено 09 Октябрь 2019 - 12:54

Просмотреть сообщениеnewbie сказал(а):

Я тут вспомнил, что в 3-ке можно в АЦ создавать задачи.
Можно сделать, чтобы в категории не заходить.
Установить

Отлично, установил. Работает. Большое спасибо.

Просмотреть сообщениеnewbie сказал(а):

admin/applications_addon/other/links/modules_public/links/categories.php
После

Добавил. Всё также выдаёт 0.

Просмотреть сообщениеnewbie сказал(а):

Выполните sql-запрос

Выполнил. Ошибке нет. Но появилась другая ошибка/ При заходе на страницу жалоб на форуме, выдаёт такое:
Fatal error: Call to undefined method games_plugin::giveSectionLinkTitle() in адрес к файлу/admin/applications/core/modules_public/reports/reports.php on line 258
0

#13 Пользователь не на сайте   newbie ответил: »

 
 
  • Advanced
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: IPB Skins.ru Team
  • Сообщений: 4 048
  • Регистрация: 26-Октябрь 11
  • Репутация: 1 588
  • IPB version:I have no IPB
 

Отправлено 09 Октябрь 2019 - 13:14

Просмотреть сообщениеHaktar сказал(а):

Добавил. Всё также выдаёт 0.

Пропустил вчера одну правку.
Выше она есть. Чтобы не искать, тут продублирую
- Найти
        $this->DB->build(   array(  'select'    =>  'link_approved, link_hits, link_comments',

заменить на
        $this->DB->build(   array(  'select'    =>  'link_approved, link_hits, link_comments, link_views',

Нужно будет еще перекешировать данные. Либо синхронизировать категории, либо запустить задачу.

Просмотреть сообщениеHaktar сказал(а):

Выполнил. Ошибке нет. Но появилась другая ошибка/ При заходе на страницу жалоб на форуме, выдаёт такое:
Fatal error: Call to undefined method games_plugin::giveSectionLinkTitle() in адрес к файлу/admin/applications/core/modules_public/reports/reports.php on line 258
Это вообще от приложения games, а не от links
1

#14 Пользователь не на сайте   Haktar ответил: »

 
 
  • Advanced
  • ***
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 1 153
  • Регистрация: 13-Июнь 09
  • Репутация: 23
  • IPB version:3.1.x
 

Отправлено 09 Октябрь 2019 - 13:30

Просмотреть сообщениеnewbie сказал(а):

Пропустил вчера одну правку.
Выше она есть. Чтобы не искать, тут продублирую

Вот теперь всё нормально.

Просмотреть сообщениеnewbie сказал(а):

Это вообще от приложения games, а не от links

Вообще у меня приложение games дублировано от приложения links. На links такая же ошибка.
0

#15 Пользователь не на сайте   newbie ответил: »

 
 
  • Advanced
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: IPB Skins.ru Team
  • Сообщений: 4 048
  • Регистрация: 26-Октябрь 11
  • Репутация: 1 588
  • IPB version:I have no IPB
 

Отправлено 09 Октябрь 2019 - 13:42

Просмотреть сообщениеHaktar сказал(а):

Вообще у меня приложение games дублировано от приложения links.

Что значит дублировано?
В Links в плагине жалоб есть метод giveSectionLinkTitle(), а в Games - нет (скачал отсюда и посмотрел).
Добавьте в admin/applications_addon/other/games/extensions/reportPlugins/games.php
	/**
	 * Get section & link
	 *
	 * @param		array		$reportData		Report data
	 * @return	array
	 * @access	public
	 */	
	public function giveSectionLinkTitle( $reportData )
	{
		$game = $this->games->getGame( $reportData[ 'exdat1' ], false );
		$cat	=	$this->games->getCategory( $game[ 'game_category_id' ] );
		
		return array( 'title'	=> $cat[ 'category_title' ], 'url' => '/index.php?app=games&amp;module=games&amp;section=categories&amp;do=view&amp;cid=' . $cat[ 'category_id' ] );
	}

1

Сообщить об этой теме:


  • 2 Страниц +
  • 1
  • 2


Быстрый ответ

  

1 пользователей читают эту тему
0 зарегистрированных, 1 гостей, 0 скрытых


Контактная информация

Вопросы по работе сайта

+7 (917) 501-4765
C 10 до 20 в рабочие дни (время московское)

Техническая поддержка

Контактные данные специалистов

Дизайн форумов

IPB 3.x ¦ IPB 2.x

Бесплатные шаблоны

IPB 3.2 – 3.4 ¦ IPB 3.1 ¦ IPB 3.0 ¦ IPB 2.2 – 2.3 ¦ IPB 2.1 ¦ Клипарт
Лицензия на использование ¦ Ваша поддержка ¦ О проекте
Copyright © 2005-2019 IPBSkins.ru Team
При копировании материалов с сайта
прямая ссылка на источник обязательна