Jump to content
Дизайн и модификация Invision Power Board IPBSkinsBETA
Search In
  • More options...
Find results that contain...
Find results in...
Sign in to follow this  
VetalDX

UserInfoPane как в 3.1

Recommended Posts

<b><if test="authorcfields:|:$author['custom_fields'] != """></b>
<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>
{$author['custom_fields']['contact']['icq']}
</li>
</if>
</foreach>
</foreach>

 

выходит так

нет аськи

Share this post


Link to post
Share on other sites

И не будет. Что вы вообще хотите сделать? К переменной нужно обращаться в таком виде если требуется вывести содержимое дополнительного поле за пределами цикла. Чтобы оно отобразилось в сообщение достаточно заполнить опцию "Отображение поля в сообщении".

Share this post


Link to post
Share on other sites

я хочу сделать над группой иконки.

2015_01_17_204927.jpg

например синий квадратик вк профиль, когда юзер в настройках указ id к вк, то в постах тогда будет отображаться иконка, также и аська и другие какие я создам доп. поля.

чтобы нажав на иконка переходило по ссылки.

Share this post


Link to post
Share on other sites

Дополнительное поле не будет в переменной если не заполнить опцию для вывода в сообщение.

Если при этом не требуется что-бы поле отображалось в списке, нужно исключить ее условием (обращаем внимание на "$key => $field" которого по умолчанию в цикле нету):

 

   <foreach loop="customFields:$author['custom_fields'][ $group ] as $key => $field">
       <if test="$field != '' AND ! in_array($key, array('icq'))">
           <li>
               {$field}
           </li>
       </if>
   </foreach>

 

Можно указать несколько ключей через запятую - 'icq', 'icq2', 'icq3'

В "Отображение поля в сообщении" прописать {content}

Дальше можете обращаться напрямую к этому полю {$author['custom_fields']['contact']['icq']} в любом месте шаблона (естественно за пределами цикла).

 


Получить значение дополнительного поля также можно по $author['field_ид'], где ид - ид дополнительного поле.

Проблема в том, что здесь хранятся raw данные не отформатированные от служебных символов, что чревато для XSS инъекции. При таком подходе всегда следует использовать IPSText::parseCleanValue

 

{parse expression="IPSText::parseCleanValue($author['field_ид'], false)"}

Share this post


Link to post
Share on other sites

Ну вот что получилось у меня.

Так как я и хотел.

45.jpg

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...