Глобальная конструкция на основание кол-ва сообщений - Дизайн и модификация Invision Power Board

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

 

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

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

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

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

Страница 1 из 1

Глобальная конструкция на основание кол-ва сообщений

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

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

Отправлено 27 Декабрь 2016 - 00:19

Нужно создать глобальную конструкцию что бы действовала на всём форуме, а именно:

<if test="$member['post'] > 9">
Здесь скажем данные {$author['avatar']}, то есть посетители видят аватару пользователя, но пользователя у которого больше 10 сообщений
<else />
Если нет 10 сообщений у пользователя, посетители видят другую информацию, скажем изображение.
</if>

Как можно такую конструкцию создать?

Сообщение изменено: Haktar (27 Декабрь 2016 - 00:21)

0

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

 
 
  • Advanced
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: IPB Skins Team
  • Сообщений: 9 064
  • Регистрация: 20-Март 09
  • Репутация: 2 427
  • IPB version:3.1.x
 

Отправлено 27 Декабрь 2016 - 00:34

Не понятно что значит действовала на всём форуме? Если речь о данных текущего пользователя то они доступны в массиве $this->memberData, если о пользователе какой-то страницы то они доступны только в тех местах, где определены форумом.
0

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

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

Отправлено 27 Декабрь 2016 - 01:53

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

Не понятно что значит действовала на всём форуме? Если речь о данных текущего пользователя то они доступны в массиве $this->memberData, если о пользователе какой-то страницы то они доступны только в тех местах, где определены форумом.

Попробую в примере.
Например страница с списком пользователей форума. Нужно что бы посетители на этой странице видели аватары пользователей у которых сообщений больше чем 10, тогда как у тех пользователей у которых меньше 10 сообщений - нужно что бы посетители видели у них не аватар а изображение которое я выставлю после <else />
0

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

 
 
  • Advanced
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: IPB Skins Team
  • Сообщений: 9 064
  • Регистрация: 20-Март 09
  • Репутация: 2 427
  • IPB version:3.1.x
 

Отправлено 29 Декабрь 2016 - 23:21

В месте где генерируется аватар составляете нужное условие.
В 3.1 это делается в admin\sources\base\core.php, функция buildAvatar.
0

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

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

Отправлено 30 Декабрь 2016 - 03:15

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

В месте где генерируется аватар составляете нужное условие.
В 3.1 это делается в admin\sources\base\core.php, функция buildAvatar.

А можно пример составления такого условия?

Или вы про это условие?
<php>$memberData = IPSMember::load( $msg['mt_starter_id'], 'core,extendedProfile' );if ( $memberData['avatar_location'] == '' ) {
        $location_pm = '/grafik/noavatar.png';
} else {
        $location_pm = $this->settings['upload_url'] . '/' . $memberData['avatar_location'];
}</php><a href='{parse url="showuser={$msg['_starterMemberData']['member_id']}" base="public" seotitle="{$msg['_starterMemberData']['members_seo_name']}" template="showuser"}'><img src={$location_pm} {parse resize_image="$location_pm" maxheight="24"} class='photo' style='max-height: 24px;max-width: 28px'/></a><else /><img src='/grafik/atar.png' class='photo' style='max-height: 24px;max-width: 28px'/></if>


Это немного не то, так как для многих страниц оно не подходит, так как даёт на некоторых страницах много запросов к базе данных.
0

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

 
 
  • Advanced
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: IPB Skins Team
  • Сообщений: 9 064
  • Регистрация: 20-Март 09
  • Репутация: 2 427
  • IPB version:3.1.x
 

Отправлено 30 Декабрь 2016 - 13:12

Да, логика такая, но править нужно не в шаблоне а в функции, чтобы не создавать лишние запросы.
0

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

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

Отправлено 30 Декабрь 2016 - 15:59

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

но править нужно не в шаблоне в функции, чтобы не создавать лишние запросы.

А какую правку нужно сделать?
0

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

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

Отправлено 30 Декабрь 2016 - 21:58

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

А какую правку нужно сделать?

Пробовал кое какую конструкцию сделать в core.php, не прокатывает.
0

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

 
 
  • Advanced
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: IPB Skins Team
  • Сообщений: 9 064
  • Регистрация: 20-Март 09
  • Репутация: 2 427
  • IPB version:3.1.x
 

Отправлено 30 Декабрь 2016 - 22:20

Перед

    	//-----------------------------------------
    	// Defaults...
    	//-----------------------------------------

    	$davatar_dims	= explode( "x", strtolower(ipsRegistry::$settings['avatar_dims']) );

Добавить

		if( $member['posts'] < 10 )
		{
			return "<img src='" . ipsRegistry::$settings['upload_url'] . "/no-avatar.jpg' alt='' />";
		}

0

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


Страница 1 из 1


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

  

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