Jump to content

Featured Replies

comment_186269

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

Edited by Zero108

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

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

Most Popular Posts

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

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

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

Posted Images

  • Author
comment_186270
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 запрос к базе позволит проверить отдельно эти данные, чтобы потом суммировать в калькуляторе?

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

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

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

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

Edited by Zero108

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

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

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

comment_186274

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

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

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

Edited by Zero108

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

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

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

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

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

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

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

comment_186276

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

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

Edited by Zero108

comment_186304

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

Edited by Zero108

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

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

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

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

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

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

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

Спойлер

6565.thumb.PNG.61108777886ae44b30b5062ea636dec8.PNG

 

comment_187971

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

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

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

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

comment_193133

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

Edited by edmsl

comment_193134

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

Кстати, если кто захочет так же вывести дату максимального онлайна, то нужно добавить 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 недели спустя...
comment_193349

Не дружит с этой темой. Может есть решение, заранее спасибо.

 

comment_193511

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

 

Online Users - International Vaishnavas Portal - Google Chrome.jpg

Edited by Zero108

comment_193513
6 минут назад, Exception сказал:

зачем это вообще надо?

Вообще не нужно. Забавы успешных и богатых часто бессмысленны.

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

Жаль в боковую панель не установить, минимум 3 столба, получается дичь 😁 Но всё равно спасибо!

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.