Jump to content

Featured Replies

by_ix сумма просмотра блогов total_blogs_views и сумма просмотров записей блогов total_entries_views (скриншот выше), сделанные по моей методичке почему-то для дефолтного виджета у меня совпадают  =1,328,515. Возможно, я что-то делаю не так. Какой SQL запрос к базе позволит проверить отдельно эти данные, чтобы потом суммировать в калькуляторе?

Edited by Zero108

  • Replies 97
  • Просмотров 27,6k
  • Created
  • Последний ответ

Лучшие авторы в теме

Most Popular Posts

  • Любит поуже 🤣

  • by_ix Спасибо за такой плагин. Поставил, выглядит примерно так, на default стиле. @by_ix Можешь сделать настройку, чтобы убрать блок " Новый пользователь" 

  • на дефолте. на стиле иллюминат. и сами настройки плагина  

Posted Images

  • Author
23 часа назад, Zero108 сказал:

Да, вы правы. Сейчас посмотрю, как я это настраивал для виджетов раньше. Давно было.

1. Downloads - заменить в статистике количество обзоров/комментариев на количество скачиваний:

/applications/downloads/widgets/downloadStats.php

Найти:
SUM(file_reviews) AS totalReviews
Заменить на:
SUM(file_downloads) AS totalReviews

Найти:
SUM(file_comments)
Заменить на:
SUM(file_views)

Шаблон downloadStats

Заменить блочек внизу:

		<div class='ipsGrid ipsGrid_collapsePhone ipsWidget_stats'>
			<div class='ipsGrid_span{$span} ipsType_center cDownloadsWidget_statsNumber'>
				<span class='ipsType_large ipsWidget_statsCount'>{number="$stats['totalFiles']"}</span><br>
				<span class='ipsType_light ipsType_medium'>{lang="total_files_front"}</span>
			</div>
			{{if $stats['totalReviews']}}
				<div class='ipsGrid_span{$span} ipsType_center cDownloadsWidget_statsNumber'>
					<span class='ipsType_large ipsWidget_statsCount'>{number="$stats['totalReviews']"}</span><br>
					<span class='ipsType_light ipsType_medium'>{lang="downloads_file_info"}</span>
				</div>
			{{endif}}
          		<div class='ipsGrid_span{$span} ipsType_center cDownloadsWidget_statsNumber'>
					<span class='ipsType_large ipsWidget_statsCount'>{number="$stats['totalComments']"}</span><br>
					<span class='ipsType_light ipsType_medium'>{lang="video_sort_views"}</span>
				</div>
			{{if $latestFile}}
				<div class='ipsGrid_span{$span} ipsType_left cNewestMember'>
					<div id='elDownloadStatsLatest' class='ipsClearfix'>
						<span class='ipsType_minorHeading'>{lang="latest_file"}</span><br>
						<div class='ipsType_break ipsContained'><a href="{$latestFile->url()}" title='{lang="view_this_file" sprintf="$latestFile->name"}' class='ipsTruncate ipsTruncate_line'>{$latestFile->name}</a></div>
						<span class='ipsType_light ipsType_medium'>{lang="byline_nodate" htmlsprintf="$latestFile->author()->link()"}</span>
						<p class='ipsType_medium ipsType_reset'>{{if !$latestFile->downloads}}<span class='ipsType_light'>{{endif}}<i class='fa fa-arrow-circle-down'></i> {$latestFile->downloads}{{if !$latestFile->downloads}}</span>{{endif}} {{if $latestFile->container()->bitoptions['comments']}}&nbsp;&nbsp;{{if !$latestFile->comments}}<span class='ipsType_light'>{{endif}}<i class='fa fa-comment'></i> {$latestFile->comments}{{endif}}{{if !$latestFile->comments}}</span>{{endif}}</p>
					</div>
				</div>
			{{endif}}
		</div>

2. Gallery - заменить в статистике количество обзоров/комментариев на количество просмотров.
 

/applications/gallery/widgets/galleryStats.php

Найти:
SUM(image_comments) AS totalComments
Заменить на:
SUM(image_views) AS totalComments

Шаблон galleryStats 

Заменить блочек внизу:
		<div class='ipsGrid ipsGrid_collapsePhone ipsWidget_stats'>
          	{{if $stats['totalAlbums']}}
				<div class='ipsGrid_span4 ipsType_center'>
					<span class='ipsType_large ipsWidget_statsCount'>{number="$stats['totalAlbums']"}</span><br>
					<span class='ipsType_light ipsType_medium'>{lang="albums"}</span>
				</div>
			{{endif}}
			<div class='ipsGrid_span4 ipsType_center'>
				<span class='ipsType_large ipsWidget_statsCount'>{number="$stats['totalImages']"}</span><br>
				<span class='ipsType_light ipsType_medium'>{lang="digest_area_gallery_image"}</span>
			</div>
          		 <div class='ipsGrid_span4 ipsType_center'>
					<span class='ipsType_large ipsWidget_statsCount'>{number="$stats['totalComments']"}</span><br>
					<span class='ipsType_light ipsType_medium'>{lang="video_sort_views"}</span>
				</div>
		</div>

3. Blogs - добавить количество просмотров.

/applications/blog/widgets/blogStatistics.php

Найти:

		$stats = array();
		$stats['total_blogs']   = \IPS\Db::i()->select( "COUNT(*)", 'blog_blogs' )->first();
		$stats['total_entries'] = \IPS\Db::i()->select( "COUNT(*)", 'blog_entries', array( 'entry_status=? AND entry_hidden=?', 'published', 1 ) )->first();

Заменить на:

        $stats = array_merge(
            \IPS\Db::i()->select( "COUNT(*) as total_blogs, SUM(blog_num_views) AS total_blogs_views", 'blog_blogs' )->first(),
            \IPS\Db::i()->select( "COUNT(*) as total_entries, SUM(entry_views) AS total_entries_views", 'blog_entries', array( 'entry_status=? AND entry_hidden=?', 'published', 1 ) )->first()
        );

==================

Шаблон blogStatistics 
- для вывода суммы просмотров всех блогов использовать $stats['total_blogs_views']
- для вывода суммы просмотров записей всех блогов использовать $stats['total_entries_views'] 

Заменить блочек внизу:

		<div class='ipsGrid ipsGrid_collapsePhone ipsWidget_stats'>
			<div class='ipsGrid_span4 ipsType_center'>
				<span class='ipsType_large ipsWidget_statsCount'>{number="$stats['total_blogs']"}</span><br>
				<span class='ipsType_light ipsType_medium'>{lang="total_blogs"}</span>
			</div>
			<div class='ipsGrid_span4 ipsType_center'>
				<span class='ipsType_large ipsWidget_statsCount'>{number="$stats['total_entries']"}</span><br>
				<span class='ipsType_light ipsType_medium'>{lang="total_entries"}</span>
			</div>
          	<div class='ipsGrid_span4 ipsType_center'>
				<span class='ipsType_large ipsWidget_statsCount'>{number="$stats['total_entries_views']"}</span><br>
				<span class='ipsType_light ipsType_medium'>{lang="video_sort_views"}</span>
			</div>
		</div>

4. Статистика форума. Добавление количества просмотра всех тем в виджет статистики.

Шаблон forumStatistics - внизу заменить на

        <div class='ipsGrid ipsGrid_collapsePhone ipsWidget_stats'>
            <div class='ipsGrid_span4 ipsType_center'>
                <span class='ipsType_large ipsWidget_statsCount'>{number="$stats['total_topics']"}</span><br>
                <span class='ipsType_light ipsType_medium'>{lang="total_topics"}</span>
            </div>
            <div class='ipsGrid_span4 ipsType_center'>
                <span class='ipsType_large ipsWidget_statsCount'>{number="$stats['total_posts']"}</span><br>
                <span class='ipsType_light ipsType_medium'>{lang="total_posts"}</span>
            </div>
           <div class='ipsGrid_span4 ipsType_center'>
                <span class='ipsType_large ipsWidget_statsCount'>{number="$stats['total_topics_views']"}</span><br>
                <span class='ipsType_light ipsType_medium'>{lang="video_sort_views"}</span>
            </div>
        </div>

===============

/applications/forums/widgets/forumStatistics.php

Найти: 
$stats['total_topics']  = \IPS\Db::i()->select( "COUNT(*)", 'forums_topics', array( 'approved = ?', 1 ) )->first();
Заменить на: 
$stats = array_merge($stats, \IPS\Db::i()->select( "COUNT(*) as total_topics, SUM(views) AS total_topics_views", 'forums_topics', array( 'approved = ?', 1 ) )->first()); 



 

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

8 минут назад, Zero108 сказал:

by_ix Какой SQL запрос к базе позволит проверить отдельно эти данные, чтобы потом суммировать в калькуляторе?

там и так два отдельных запроса идут. 

14 минут назад, by_ix сказал:

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

Я поменял, согласно своему мануалу, в запросе и в шаблоне total_entries_views на total_blogs_views для дефолтного виджета. Получил в дефолтном виджете ту же самую цифру. Хотел проверить правильность своего мануала и вашего плагина. К сожалени, не получилось. На вопрос вы тоже не хотите отвечать.

Edited by Zero108

20 минут назад, by_ix сказал:

где именно изменено было? 

Не имею желания и времени отвечать на ваш вопрос, потому что вы не хотите отвечать по существу на мой, заданный ранее. 

Удалось разобраться со статистикой блогов. Данный плагин, действительно, отображает во вкладке просмотра блогов суммарное количество просмотров страниц всех блогов и количество просмотров отдельных записей всех блогов. Немного, на мой взгляд, непоследовательно, потому что для форумов считает не суммарное количество просмотров отдельных форумов и тем форумов, а суммарное количество просмотров тем всех форумов. В целом плагин красиво смотрится. 

Для себя поменял в стр. 226
            $stats['total_blogsv'] = $stats['total_blogsbv'] + $stats['total_blogsev'];
на 
            $stats['total_blogsv'] = $stats['total_blogsev'];

, чтобы отображалась статистика просмотров только записей блогов без статистики просмотра самих блогов.

Edited by Zero108

  • Author
39 минут назад, Zero108 сказал:

Не имею желания и времени отвечать на ваш вопрос

cringe moment. будто это мне надо, а не тебе. 

32 минуты назад, Zero108 сказал:

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

cringe moment x2. у форумов нет учёта статы просмотров.

и научись говорить спасибо, вместо своего псевдовыпендрёжа про время.

by_ix мне кажется, спасибо уже было сказано мной в виде сердечек выше за плагин и дельные советы. Когда не за что говорить спасибо, зачем говорить спасибо?! Ну, и давать хамские советы незнакомым людям, - такое себе. Посмотрят, как ты общаешься, будут обходить твои платные услуги стороной, как мне кажется. Я же тебе не хамил.

Надеюсь, на улице ты с незнаковыми людьми ты так себя не ведешь.

Edited by Zero108

Жаль, что плагин не позволяет создавать несколько разных копий с разными настройками. То есть, если добавляешь плагин на нескольких страницах в разных приложениях, то везде настройки плагина будут дублироваться. Я полагаю, что чтобы настройки не дублировались, их значения нужно хранить в разных местах.

Edited by Zero108

  • 2 месяца спустя...

by_ix бро, а как можно замутить разное оформление для тёмной и светлой темы? Что-то не могу попасть, чтобы и там и там норм смотрелось)

8 минут назад, the.bunin сказал:

by_ix бро, а как можно замутить разное оформление для тёмной и светлой темы? Что-то не могу попасть, чтобы и там и там норм смотрелось)

если для светлого стиля? то просто бэгроунд убери и в кастом закинь в светлый стиль)))

.xfglstats-column-2 {
  background: #434956;
    background-clip: border-box;
}

вроде как должно сработать :df:

Спойлер

6565.thumb.PNG.61108777886ae44b30b5062ea636dec8.PNG

 

SlawkA от души, сейчас попробую)

Просто думаю лучше то было бы добавить такую надстройку (если возможно), ибо многие используют несколько тем, чтобы не городить костыли как раз :)

  • 5 месяцев спустя...

Я правильно понимаю, что при подсчете максимального онлайна учитываются гости? И это значение равняется максимальному числу посетителей в момент времени, а не за день?

Захотелось мне при наведении на число в макс. онлайне видеть дату этого события, как в оригинальном Global Statistics. Нашел где это ставится, добавил в шаблон data-ipsTooltip в нужном месте и все хорошо, все появляется. Решил добавить эту же запись в файл плагина. Раскодировал шаблон, добавил запись, закодировал, заменил в файле, но при попытке обновить версию файла через ACP все равно изменения не применяются, хотя с переводом все отлично работает. Пробовал удалить плагин и чистил кэш - бестолку. Что еще надо сделать? Не хочется каждый раз при переустановке плагина лезть и править шаблон для каждой темы.

Edited by edmsl

Вопрос снят. Что-то не так было при удалении, видимо. Повторил удаление еще раз и теперь обновление версии изменило шаблон.

Кстати, если кто захочет так же вывести дату максимального онлайна, то нужно добавить data-ipsTooltip title='<time data-norelative="true">{$stats['most_online']['time']}</time>' в span с классом xfglstats-number у блока xfglstats_online.

Цитата

<span class="xfglstats-number" data-ipsTooltip title='<time data-norelative="true">{$stats['most_online']['time']}</time>'>

Полный код:

Спойлер
{{if settings.xfglstats_online}}
		<div class="xfglstats-column-1{{if $orientation == 'vertical'}}{{else}} xfglstats-width{{endif}}">
			<div class="xfglstats-column-2">
				<div class="xfglstats-column-3">
					<div class="xfglstats-title">{lang="xfglstats_online"}</div>
					<h2 class="xfglstats-value">
						<i class="{setting='xfglstats_online_i'} xfglstats-value-icon xfglstats-online"></i>
						<span class="xfglstats-number" data-ipsTooltip title='<time data-norelative="true">{$stats['most_online']['time']}</time>'>{{if settings.xfglstats_short}}{number="$stats['most_online']['count']" format="short"}{{else}}{number="$stats['most_online']['count']"}{{endif}}</span>
					</h2>
				</div>
			</div>
		</div>
	{{endif}}

 

 

  • 2 недели спустя...

Сделал себе под тему Nexxe, добавил несколько сторонних приложений в статистику, добавил количество категорий и т.п., поменял иконки и цвет:

 

Online Users - International Vaishnavas Portal - Google Chrome.jpg

Edited by Zero108

  • 1 месяц спустя...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Ответить в этой теме...

Последние посетители 0

  • No registered users viewing this page.