Опубликовано: 26 декабря 20168 г Нужно создать глобальную конструкцию что бы действовала на всём форуме, а именно: <if test="$member['post'] > 9">Здесь скажем данные {$author['avatar']}, то есть посетители видят аватару пользователя, но пользователя у которого больше 10 сообщений<else />Если нет 10 сообщений у пользователя, посетители видят другую информацию, скажем изображение.</if> Как можно такую конструкцию создать? Изменено 26 декабря 20168 г пользователем Haktar
Опубликовано: 26 декабря 20168 г Не понятно что значит действовала на всём форуме? Если речь о данных текущего пользователя то они доступны в массиве $this->memberData, если о пользователе какой-то страницы то они доступны только в тех местах, где определены форумом.
Опубликовано: 26 декабря 20168 г Автор Не понятно что значит действовала на всём форуме? Если речь о данных текущего пользователя то они доступны в массиве $this->memberData, если о пользователе какой-то страницы то они доступны только в тех местах, где определены форумом.Попробую в примере. Например страница с списком пользователей форума. Нужно что бы посетители на этой странице видели аватары пользователей у которых сообщений больше чем 10, тогда как у тех пользователей у которых меньше 10 сообщений - нужно что бы посетители видели у них не аватар а изображение которое я выставлю после <else />
Опубликовано: 29 декабря 20168 г В месте где генерируется аватар составляете нужное условие. В 3.1 это делается в admin\sources\base\core.php, функция buildAvatar.
Опубликовано: 30 декабря 20168 г Автор В месте где генерируется аватар составляете нужное условие. В 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> Это немного не то, так как для многих страниц оно не подходит, так как даёт на некоторых страницах много запросов к базе данных.
Опубликовано: 30 декабря 20168 г Да, логика такая, но править нужно не в шаблоне а в функции, чтобы не создавать лишние запросы.
Опубликовано: 30 декабря 20168 г Автор но править нужно не в шаблоне в функции, чтобы не создавать лишние запросы.А какую правку нужно сделать?
Опубликовано: 30 декабря 20168 г Автор А какую правку нужно сделать?Пробовал кое какую конструкцию сделать в core.php, не прокатывает.
Опубликовано: 30 декабря 20168 г Перед //----------------------------------------- // 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='' />"; }
Нужно создать глобальную конструкцию что бы действовала на всём форуме, а именно:
<if test="$member['post'] > 9">
Здесь скажем данные {$author['avatar']}, то есть посетители видят аватару пользователя, но пользователя у которого больше 10 сообщений
<else />
Если нет 10 сообщений у пользователя, посетители видят другую информацию, скажем изображение.
</if>
Как можно такую конструкцию создать?
Изменено пользователем Haktar