Перейти к публикации
View in the app

A better way to browse. Learn more.

Дизайн и модификация Invision Community

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Ошибка в коде, затухание аватара.

Опубликовано:

Добрый день.

Долго думал как назвать тему, т.к. не уверен, что правильно разобрался.

Стал собирать форум в свободное время, но сегодня обнаружил досадную ошибку.

Склоняюсь к тому, что ошибка в userInfoPane.

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

Аватарки пользователей, которые находятся в offline выглядят "потухшими", блеклыми, по сравнению с аватарками пользователей, которые online.

Но сегодня заметил ошибку. Она проявляет себя в "гостевом" режиме. Если гость открывает тему, то (см. аттач) при наведении на зоны, обозначенные красными рамками везде внедрена ссылка - demo.ru/index.php/user/1-administration/ , что неправильно. Данная ссылка должна присутствовать только при наведении на аватар. Да и две серые полосы над кнопкой "наверх" должны отсутствовать.

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

Буду благодарен за помощь.

 

 

 

<div itemscope itemtype="http://schema.org/Person" class='user_details'>
<span class='hide' itemprop="name">{$author['members_display_name']}</span>
<ul class='basic_info'>
	<if test="membertitle:|:$author['member_title']">
		<p class='desc member_title'>{$author['member_title']}</p>
	</if>
	<if test="avatar:|:$author['member_id']">
		<li class='avatar'><if test="$author['_online']"><div class="avatar-online"><a href="{parse url="showuser={$author['member_id']}" template="showuser" seotitle="{$author['members_seo_name']}" base="public"}" title="{$this->lang->words['view_profile']}" class='ipsUserPhotoLink'>
                               <if test="hasVariable:|:$options['isTopicView'] && $this->settings['member_topic_avatar_max']">
                                       <img src='{$author['pp_main_photo']}' class='ipsUserPhoto ipsUserPhoto_variable' />
                               <else />
                                       <img src='{$author['pp_thumb_photo']}' class='ipsUserPhoto ipsUserPhoto_large' />
                               </if>
                               </a></div>
<else />
<div class="avatar-offline"><a href="{parse url="showuser={$author['member_id']}" template="showuser" seotitle="{$author['members_seo_name']}" base="public"}" title="{$this->lang->words['view_profile']}" class='ipsUserPhotoLink'>
                               <if test="hasVariable:|:$options['isTopicView'] && $this->settings['member_topic_avatar_max']">
                                       <img src='{$author['pp_main_photo']}' class='ipsUserPhoto ipsUserPhoto_variable' />
                               <else />
                                       <img src='{$author['pp_thumb_photo']}' class='ipsUserPhoto ipsUserPhoto_large' />
                               </if>
                               <if test="canSeeProfiles2:|:$this->memberData['g_is_supmod'] OR ( $this->memberData['g_mem_info'] && ! IPSMember::isInactive( $author ) )">
               </a>
               </if></div></if></li>
	<else />
		<li class='avatar'>
			<img itemprop="image" src='{$author['pp_thumb_photo']}' class='ipsUserPhoto ipsUserPhoto_large' />
		</li>
	</if>
	<li class='group_title'>
		{$author['_group_formatted']}
	</li>
	<if test="rankimage:|:$author['member_rank_img']">
		<li class='group_icon'>
		<if test="rankimageimage:|:$author['member_rank_img_i'] == 'img'">
			<img src='{$author['member_rank_img']}' alt='' />
		<else />
			{$author['member_rank_img']}
		</if>
		</li>
	</if>
	<if test="postCount:|:$author['member_id']">
	<li class='post_count desc lighter'>
		{parse expression="$this->registry->getClass('class_localization')->formatNumber( intval( $author['posts'] ) )"} {$this->lang->words['m_posts']}
	</li>
	</if>
	<if test="authorwarn:|:$author['show_warn']">
		<li>
			<if test="hasWarningId:|:$options['wl_id']">
				<img src='{$this->settings['img_url']}/warn.png' class='clickable' onclick='warningPopup( this, {$options['wl_id']} )' title='{$this->lang->words['warnings_issued']}' />
			</if>
			<a class='desc lighter blend_links' href='{parse url="app=members&module=profile&section=warnings&member={$author['member_id']}&from_app={$this->request['app']}&from_id1={$contentid}&from_id2={$options['id2']}" base="public"}' id='warn_link_{$contentid}_{$author['member_id']}' title='{$this->lang->words['warn_view_history']}'>{parse expression="sprintf( $this->lang->words['warn_status'], $author['warn_level'] )"}</a>
		</li>
	</if>
</ul>

<if test="authorcfields:|:$author['custom_fields'] != """>
	<ul class='custom_fields'>
		<foreach loop="customFieldsOuter:$author['custom_fields'] as $group => $data">
			<foreach loop="customFields:$author['custom_fields'][ $group ] as $field">
				<if test="$field != ''">
					<li>
						{$field}
					</li>
				</if>
			</foreach>
		</foreach>
	</ul>
</if>

</div>

 

 

 

П.С. Форум IPB 3.3.4

post-51554-0-67149300-1352803528_thumb.jpg

Рекомендованные сообщения

Опубликовано:

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

 

                               <if test="canSeeProfiles2:|:$this->memberData['g_is_supmod'] OR ( $this->memberData['g_mem_info'] && ! IPSMember::isInactive( $author ) )">
               </a>
               </if>

Опубликовано:

Версия userInfoPane значительно отстала от версии форума. В последней версии гости и поисковые боты (если иное не задано в настройках) не видят ссылки на профили пользователей.

 

Проще всего отменить все изменения в шаблоне, а затем заново реализовать вашу функцию.

Опубликовано:

А название шаблона?

Изменено пользователем Атаман

Опубликовано:

1. Найти дважды

<li class='avatar'>

Заменить на

<li class='avatar <if test="$author['_online']">avatar-online<else />avatar-offline</if>'>

2. Прописать css

Опубликовано:
  • Автор

По совету Ritsuka заменил полностью свой старый userInfoPane и потом уже стал править код. Все исправил и проблема больше не возникла. Видимо остались "хвосты" старой версии кода.

Всем спасибо за помощь.

Создайте аккаунт или войдите в него для комментирования

Сейчас на странице 0

  • Нет пользователей, просматривающих эту страницу.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.