Статистика - Дизайн и модификация Invision Power Board

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

 

Правила форума

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

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

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

  • 2 Страниц +
  • 1
  • 2
  • Вы не можете создавать новые темы
  • Вы не можете отвечать в этой теме

Статистика Пару вопросов!

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

 
 
  • Member
  • **
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 14
  • Регистрация: 18-Март 13
  • Репутация: 0
  • IPB version:2.3.x
 

Отправлено 16 Март 2017 - 19:32

Здравствуйте знатоки!

У меня пару вопросов касаемо изменения шаблона.
Не судите строго, я недавно начал изучать стили в IPB(касаемо своего форума)

Кратко о форуме:
Форум находится в локальной сети, доступа извне нет, если какая-то информация нужна, спрашивайте, предоставлю.
Движок: IPB 2.3.6
Шаблон стандартный

Вопросы:

1. Хотел добавить блок справа, добавил.
Мои действия:

Админцентр > Список стилей > Изменение HTML шаблонов skin_boards (главная страница) > PageTop
В самый низ шаблона вставить:
<table border="0" cellpadding="0" cellspacing="0" width="100%">
    <tr>
        <td>

Админцентр > Список стилей > Изменение HTML шаблонов skin_boards (главная страница) > stats_footer
В самый низ шаблона вставить:
        </td>
        <td align="left" valign="top" width="20%">
             <div class="borderwrap">

<div class="maintitle"><p><!--Блог 1--></p></div>

<div class="tablepad"><!--Текст в блоге--></p></div></div>
            </div>
            <br />
<div class="borderwrap">
<div class="maintitle"><p><!--Блог 2--></p>
<div class="tablepad"><!--Текст в блоге--></p></div>
            </div>
            <br />
        </td>
    </tr>
</table>

Проблема: при отключении статистики блок пропадает.

2. Хочу отключить статистику на главной и добавить показ количество пользователей онлайн в ручную, где см.скриншот №1:
Необходимо добавить рядом следующее:
Онлайн: число(Пользователей число)


Нашел значения которые отвечают за вызов данных
Админцентр > Список стилей > Изменение HTML шаблонов skin_boards (главная страница) > ActiveUsers
<tr>
			<td class="formsubtitle" colspan="2">{$active['TOTAL']} {$this->ipsclass->lang['active_users']}</td>
		</tr>
		<tr>
			<td class="row1" width="1%"><{F_ACTIVE}></td>
			<td class="row2">
				<b>{$active['GUESTS']}</b> {$this->ipsclass->lang['guests']}, <b>{$active['MEMBERS']}</b> {$this->ipsclass->lang['public_members']}, <b>{$active['ANON']}</b> {$this->ipsclass->lang['anon_members']}
				<div class="thin">{$active['NAMES']}</div>
				{$active['links']}
			</td>
		</tr>
		<!--IBF.WHOSCHATTING-->


Нашел куда добавлять
Админцентр > Список стилей > Изменение HTML шаблонов skin_global (глобальные шаблоны) > global_board_footer
Как мне его добавить правильно или может быть я его не туда добавляю или надо редактировать сам файл php?
Если брать например
{$active['GUESTS']} и {$active['MEMBERS']}

Который отвечает за вывод количество гостей и пользователей и добавить вот так:
<td width="45%" align="right" nowrap="nowrap">Онлайн: {$active['GUESTS']}(Пользователей {$active['MEMBERS']})<% QUICKSTATS %>{$this->ipsclass->lang['global_timeisnow']}: {$time}</td>

То ничего не работает, только добавляется текст, как мне это осуществить? Будьте добры подсказать, где мне копать..
0

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

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

Отправлено 18 Март 2017 - 08:38

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

Админцентр > Список стилей > Изменение HTML шаблонов skin_global (глобальные шаблоны) > global_board_footer

Если в этом шаблоне нет переменной $active, то откуда взяться данным.
0

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

 
 
  • Member
  • **
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 14
  • Регистрация: 18-Март 13
  • Репутация: 0
  • IPB version:2.3.x
 

Отправлено 18 Март 2017 - 17:32

Просмотреть сообщениеnewbie 18 Март 2017 - 08:38 сказал(а):

Если в этом шаблоне нет переменной $active, то откуда взяться данным.

Не подскажите, где эта переменная находится? php файле?
0

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

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

Отправлено 20 Март 2017 - 09:16

sources/lib/func_boardstats.php
В функции active_users формируются данные. Только не массив с данными, а html. Также зависит от настройки показывать активных или нет.

- Можно в функцию добавить аргумент, как возвращать данные "массив или html".
В sources/lib/func_boardstats.php найти
	function active_users()

Заменить на
	function active_users($html=true)

Найти
			return $this->ipsclass->compiled_templates['skin_boards']->ActiveUsers($active, $this->ipsclass->vars['au_cutoff']);

Заменить на
			return ($html ? $this->ipsclass->compiled_templates['skin_boards']->ActiveUsers($active, $this->ipsclass->vars['au_cutoff']) : $active);

Найти
if ($this->ipsclass->vars['allow_online_list'])

Заменить на
if ($this->ipsclass->vars['allow_online_list'] and $html)

Либо, если нужны ссылки (Полный список по: последним действиям, именам пользователей), то
			if ($this->ipsclass->vars['allow_online_list'])
			{

Заменить на
			if ($this->ipsclass->vars['allow_online_list'])
			{
				if (!isset($this->ipsclass->compiled_templates['skin_boards']))
				{
					$this->ipsclass->load_template('skin_boards');
				}

- Включить поддержку php в шаблонах
init.php
define( 'IPB_ACP_ALLOW_TEMPLATE_PHP', 1 );


- Использовать в шаблонах
<php>
$boardStats = $this->ipsclass->load_class( ROOT_PATH.'sources/lib/func_boardstats.php', 'func_boardstats' );
$activeUsers = $boardStats->active_users(false);
</php>
Онлайн: {$activeUsers['GUESTS']}(Пользователей {$activeUsers['MEMBERS']})

0

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

 
 
  • Member
  • **
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 14
  • Регистрация: 18-Март 13
  • Репутация: 0
  • IPB version:2.3.x
 

Отправлено 22 Март 2017 - 05:15

Благодарю за информацию, сегодня попробую.

Со статистикой поможете?
При отключении статистики, боковая панель отключается.

Сообщение изменено: NetTomsk (22 Март 2017 - 06:34)

0

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

 
 
  • Member
  • **
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 14
  • Регистрация: 18-Март 13
  • Репутация: 0
  • IPB version:2.3.x
 

Отправлено 22 Март 2017 - 06:55

После изменения как Вы описали, вываливается ошибка при просмотре профиль пользователя или темы код ошибки 500
В логах
PHP Fatal error:  Call to a member function active_user_links() on a non-object in /var/www/wwwroot/data/www/sources/lib/func_boardstats.php on line 240

0

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

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

Отправлено 22 Март 2017 - 08:29

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

После изменения как Вы описали, вываливается ошибка при просмотре профиль пользователя или темы код ошибки 500

Я поправил пост.

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

Со статистикой поможете?
При отключении статистики, боковая панель отключается.

Не могу воспроизвести проблему.
Отключил Показывать статистику форума? (Отображение статистики форума внизу главной страницы.). Сайдбар на месте.
0

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

 
 
  • Member
  • **
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 14
  • Регистрация: 18-Март 13
  • Репутация: 0
  • IPB version:2.3.x
 

Отправлено 22 Март 2017 - 10:20

Хорошо, где вырезать статистику?
0

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

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

Отправлено 22 Март 2017 - 10:45

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

Хорошо, где вырезать статистику?

Поискать в шаблонах :)
0

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

 
 
  • Member
  • **
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 14
  • Регистрация: 18-Март 13
  • Репутация: 0
  • IPB version:2.3.x
 

Отправлено 22 Март 2017 - 23:22

Может есть возможность скрыть статистику от пользователей?
Не нашел такой функции в настройках форума
0

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

 
 
  • Member
  • **
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 14
  • Регистрация: 18-Март 13
  • Репутация: 0
  • IPB version:2.3.x
 

Отправлено 23 Март 2017 - 08:04

PHP Parse error: syntax error, unexpected '?>', expecting function (T_FUNCTION) in /var/www/wwwroot/data/www/sources/lib/func_boardstats.php on line 611
0

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

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

Отправлено 23 Март 2017 - 08:46

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

PHP Parse error: syntax error, unexpected '?>', expecting function (T_FUNCTION) in /var/www/wwwroot/data/www/sources/lib/func_boardstats.php on line 611

Проверяйте правильность правок.

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

Может есть возможность скрыть статистику от пользователей?
Не нашел такой функции в настройках форума

sources/action_public/boards.php
Статистика
			$this->output .= $this->ipsclass->compiled_templates['skin_boards']->stats_header($this->statfunc->users_online, $this->statfunc->total_posts, $this->statfunc->total_members, $show);
			$this->output .= $stats_html;
			$this->output .= $this->ipsclass->compiled_templates['skin_boards']->stats_footer();

0

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

 
 
  • Member
  • **
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 14
  • Регистрация: 18-Март 13
  • Репутация: 0
  • IPB version:2.3.x
 

Отправлено 23 Март 2017 - 10:06

Проверил еще раз, скопировал из бэкапа func_boardstats.php
В sources/lib/func_boardstats.php
    function active_users()

Заменил на
    function active_users($html=true)

Далее
            return $this->ipsclass->compiled_templates['skin_boards']->ActiveUsers($active, $this->ipsclass->vars['au_cutoff']);

Заменил на
            return ($html ? $this->ipsclass->compiled_templates['skin_boards']->ActiveUsers($active, $this->ipsclass->vars['au_cutoff']) : $active);

Далее
if ($this->ipsclass->vars['allow_online_list'])

Заменил на
            if ($this->ipsclass->vars['allow_online_list'])
            {
                if (!isset($this->ipsclass->compiled_templates['skin_boards']))
                {
                    $this->ipsclass->load_template('skin_boards');
                }


В шаблоне global_board_footer добавил в начале
<php>
$boardStats = $this->ipsclass->load_class( ROOT_PATH.'sources/lib/func_boardstats.php', 'func_boardstats' );
$activeUsers = $boardStats->active_users(false);
</php>

И
<td width="45%" align="right" nowrap="nowrap">Онлайн: {$activeUsers['GUESTS']}(Пользователей {$activeUsers['MEMBERS']})<% QUICKSTATS %>{$this->ipsclass->lang['global_timeisnow']}: {$time}</td>

Верно? После этих действий вываливается ошибка
0

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

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

Отправлено 23 Март 2017 - 10:19

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

Верно?

Нет.
Смотрите внимательно.

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

Далее
if ($this->ipsclass->vars['allow_online_list'])

Где открывающая скобка?
В моем варианте

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

Либо, если нужны ссылки (Полный список по: последним действиям, именам пользователей), то
            if ($this->ipsclass->vars['allow_online_list'])
            {

0

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

 
 
  • Member
  • **
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 14
  • Регистрация: 18-Март 13
  • Репутация: 0
  • IPB version:2.3.x
 

Отправлено 23 Март 2017 - 16:03

Статистику закомментировал и блок пропал
0

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


  • 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-2017 IPBSkins.ru Team
При копировании материалов с сайта
прямая ссылка на источник обязательна