Jump to content
View in the app

A better way to browse. Learn more.

IPBMafia.ru - поддержка 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.

userinfo и еще пару вопросов

Featured Replies

Posted

Здравствуйте. Установил себе новый шаблон, но не как не могу решить пару проблем

1. Как поля "Сообщения и репутация" поднять выше поля ICQ, но что бы они остались в рамке. Не как не могу этого решить. Вроде выше ставятся, но вот рамка вокруг пропадает с этих полей.

Код userinfopane

<div class='user_details'>
<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'>
    <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:|:$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>
   </li>
  <else />
   <li class='avatar'>
    <img src='{$author['pp_thumb_photo']}' class='ipsUserPhoto ipsUserPhoto_large' />
   </li>
  </if>
  <hr />
  <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="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>
		    <li>
		    <table width="100%" border="0">
			  <tr>
			    <td width="18"><img src="__gmnews.su/public/style_extra/cprofile_icons/mail.png"></td>
			    <td width="50" align="left">Сообщений:</td>
			    <td align="left">{parse expression="$this->registry->getClass('class_localization')->formatNumber( intval( $author['posts'] ) )"}</td>
			  </tr>
		    </table>
		    </li>
<li>
		    <table width="100%" border="0">
			  <tr>
			    <td width="18"><img src="__gmnews.su/public/style_extra/cprofile_icons/warn.png"></td>
			    <td width="50" align="left"><a class='desc lighter blend_links' href='{parse url="app=members&amp;module=profile&amp;section=warnings&amp;member={$author['member_id']}&amp;from_app={$this->request['app']}&amp;from_id1={$contentid}&amp;from_id2={$options['id2']}" base="public"}' id='warn_link_{$contentid}_{$author['member_id']}' title='{$this->lang->words['warn_view_history']}'>Предупреждений:</a></td>
			    <td align="left"><b>{parse expression="sprintf( $this->lang->words['warn_status'], $author['warn_level'] )"}</b></td>
			  </tr>
		    </table>
		    </li>
<li class='post_count desc lighter'>
<if test="postCount:|:$author['member_id']"></if></li>
  </ul>
</if>

</div>

Скрин

post-2207-0-53448900-1381602235.png

 

Так же на форуме установлен хук на старом стиле всё было нормально. С новым проблема возникла. Во первых не видно модераторов, а во вторых когда наводишь на вкладку форума, там ошибка.

Скрин

post-2207-0-26239400-1381602592.png

 

 

Заранее благодарен за ответы

 

 

Это дополнительные поля, редактируются они в ац:

<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>

Следовательно перед ними нужно вставить нужный тебе код.

  • Author
Не как не могу этого решить. Вроде выше ставятся, но вот рамка вокруг пропадает с этих полей.

Внимательно хоть читайте что в первом посте написано.

Вот как получается

post-2207-0-63946400-1381745464.png

 

В коде каша какая-то.. Таблица то зачем там вообще?!

Вот это вообще к чему? В курсе? 

<li class='post_count desc lighter'>
<if test="postCount:|:$author['member_id']"></if></li>

Отсюда взяли часть кода, отвечающую за вывод кол-ва постов.

А еще в коде нет одного закрывающего тега </ul>

Плюс зачем-то в условия кастомных полей запихали посты и варнинги. Если я снесу все поля в админке, то указанные данные не будут показаны.

Внимательно хоть читайте что в первом посте написано.

Вот как получается

attachicon.gifgm1.png

Просто у тебя руки не от туда растут.

Не получается потому, что ты не занес их в стиль custom_fields.

В этот:

<ul class='custom_fields'> 
</ul>

вот оригинальный код вывода "предупреждений" в userInfoPane

 

		<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&amp;module=profile&amp;section=warnings&amp;member={$author['member_id']}&amp;from_app={$this->request['app']}&amp;from_id1={$contentid}&amp;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>
как разделить код по частям, чтобы ссылку к примеру обозвать "нарушения" и через двоеточие вывести счётчик?

 

к примеру

{$author['warn_level']}
у меня пару раз вывел инфу "0 предупреждений" и потом отказался выводить... перемудрил я что-то наверное. подскажите, кто понимает  :)

 

и вот вы ругаете автора что он таблицу сделал в юзер инфо... а веть это хорошее решение чтобы не выравнивать руками... если не считать проблемы выше и не доработанных доп. полей - весьма красиво...

 

вот часть кода таблицы, в котором глючит счётчик


<!--Нарушения-->
<if test="authorwarn:|:$author['show_warn']">
<tr>
<if test="hasWarningId:|:$options['wl_id']">
<td align="center"><img src='{$this->settings['img_url']}/warn.png' class='clickable' onclick='warningPopup( this, {$options['wl_id']} )' title='{$this->lang->words['warnings_issued']}' /></td>
<else />
<td align="center"><img src="{$this->settings['img_url']}/icons/arrow-right.png" alt='' /></td>
</if>
<td align="left"><a href='{parse url="app=members&amp;module=profile&amp;section=warnings&amp;member={$author['member_id']}&amp;from_app={$this->request['app']}&amp;from_id1={$contentid}&amp;from_id2={$options['id2']}" base="public"}' id='warn_link_{$contentid}_{$author['member_id']}' title='{$this->lang->words['warn_view_history']}'>Нарушения:</a></td>
<td align="center"><span class='postcoutninfopane'>{$author['warn_level']}</span></td>
</tr>
</if>
<!--/Нарушения-->
 

вот примеры недоработанной идеи (screenshot.4.png - предупреждений 0, screenshot.5.png - за данное сообщение выставлено предупреждение? screenshot.6.png - предупреждения есть, но не за это сообщение)

post-8225-0-04376900-1382063418.png

post-8225-0-86058400-1382063418.png

post-8225-0-92529100-1382063546.png

{$author['warn_level']} это совершенно правильно!

 

Но, ты его выкинул из условия if test="authorwarn:|:$author['show_warn']"> а это делать нельзя! Поэтому оно и не работает у админа, поскольку админа нельзя предупреждать и у него просто нет предупреждений, а проверку на это (условие) ты выкинул. Подумай ещё, как нужно поработать с условиями.

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

 

задумка была такова- если есть предупреждения как по дефорлту - показывать иконку "восклицательный знак", если нет - показывать другую иконку, ну и дальше стандартный вывод "баллов предупреждения", только разбитый на столбцы таблицы, и всё это под общим условием возможности видеть предупреждения

<if test="authorwarn:|:$author['show_warn']">
сейчас проверю все варианты из темы. спасибо за помощь!

 

------------------

<if test="$author['show_warn']">
{parse expression="sprintf( $author['warn_level'] )"}
</if>
выводит если есть баллы предупреждения, если ент - пусто, хотя стандартный код упорно пишет "0 предупреждений"... скорее всего что-то сломал :(

остаётся только одно - вписать проверку на наличие, и если =0 - выводить цыфру 0 без счётчика, иначе выводить глючный счётчик

результат



{parse expression="sprintf( $this->lang->words['warn_status'], $author['warn_level'] )"}
 

вставляю в любое место - показывает верно, 
 
 
 



{parse expression="sprintf( $author['warn_level'] )"}

вставляю в то же самое место - показывает только если есть предупреждения (хотя работало...)
 

 



<if test="$author['show_warn']">
{parse expression="sprintf( $author['warn_level'] )"}
</if>

 
тоже самое...
 
 
 



<if test="hasWarningId:|:$options['wl_id']">
{parse expression="sprintf( $author['warn_level'] )"}
</if>

не знаю зачем, но тоже не работает

 

как вариант...

<if test="$author['warn_level'] == 0">
<td align="center"><span class='postcoutninfopane'>0</span></td>
<else />
<td align="center"><span class='postcoutninfopane'>{parse expression="sprintf( $author['warn_level'] )"}</span></td>
</if>

А твой обходной вариант упрощается так:

<td align="center"><span class='postcoutninfopane'>
<if test="$author['warn_level'] == 0">
0
<else />
{parse expression="sprintf( $author['warn_level'] )"}
</if>
</span></td>

но мне не нравится такой изврат.

 

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

{parse expression="sprintf( $author['warn_level'] )"}

 

пользователь без нарушений - пустота, стандартный - "0 баллов предупреждения"

пользователь с нарушениями - число нарушений, стандартное - "х баллов предупреждения"

админ без предупреждений - пустота, стандартное - "0 баллов предупреждения"

Всё, я понял, внутри $this->lang->words['warn_status'] находится модификатор формата вывода числа. У админа $author['warn_level'] пустое, поэтому выходит пустота. Посмотри что за модификатор формата внутри $this->lang->words['warn_status'] и используй его для sprintf( $author['warn_level'] )

 

Будет что-то типа sprintf( '%u', $author['warn_level'] )



Поиском в языках ищи warn_status



{parse expression="sprintf('%d', $author['warn_level'] )"}

 

 работает, огромнейшее спасибо! хорошо наверное, когда знаешь... можно такие вещи творить...

 

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

удалено из-за безбожного и безрассудного копирования 

Lordbl4, да ничо я не знаю, столько протупил, и условия твои неправильно прочитал и к админу прицепился. Там не в админе дело, а в отсутствии нарушений. Пустота там. А 0 отображает функция sprintf с которой я тоже втупил, забыв про строку формата.



Верстка таблицей это прошлый век, нынче блочная (DIV) верстка в почете. А всякие выравнивания и прочее через CSS.

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.

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.