Дополнительные поля профиля IPB 3.2.3
Решил я как-то сделать свой форум (Invision Pover Board 3.2.3) более социальным, добавить в профиль побольше разных полей (vk, facebook, last.fm и др.).
Поля насоздавал, иконки подобрал, описание, но столкнулся со следующей проблемой: кликнуть по ним нельзя, в отличие от стандартных (для примера поле skype выглядит так: skype).
Т.е. получалось, что если кто-то хочет попасть в профиль юзера, в том же VK или Facebook, ему нужно вручную туда переходить и вводить id. Я же хотел сделать чтобы в контактной информации дополнительные поля отображались как ссылка на профиль пользователя в соответствующей соц. сети.
Опишу решение которым воспользовался я:Несмотря на свою нелюбовь к ручной правке (с новой то системой хуков) пришлось все же копаться, т.к. ни где подобного хука или хотя бы описания, как сделать, я не нашел.
Открываем: Внешний вид - управление стилями - ваш стиль - шаблоны - профили пользователей - customFieldGroup__contact
Там идем в самый конец и находим:
{$f->parsed}после него будет еще много </if>
</if>
</if>
Итак, до {$f->parsed} добавляем следующее (разбираю на примере Vkontakte):
<if test="vk:|:$f->raw_data['pf_key'] == 'vk'">
<a class='url uid' rel="me" href='http://vk.com/{$f->parsed}'>{$f->parsed}</a>
<else />
Здесь vk - это ваш ключ в дополнительных полях профиля,
http://vk.com/ - это приставка, которая добавляется перед id
После {$f->parsed} добавляем
</if>и сохраняем.
Таким образом вы можете добавить ссылки на все поля (не забывайте только для каждого добавлять </if> ). Если вы хотите чтобы выводилась полная ссылка (например блог),тогда ничего не указывайте вместо http://vk.com/
Единственное что теперь, юзер, который вместо своего id введет полную ссылку - испортит весь ход событий. Для этого стоит более тщательно подходить к описанию поля или ограничивать длину, но вот тут то и возникает проблема, большинство соц. сетей предоставляют пользователям самим выбирать свой id, и некоторые юзеры могут выбрать себе id в несколько раз превышающий id+стандартный id.
Лично я не выставляю ограничение длины поля, проще самому потом подправить, если заметишь криво заполненное поле, и отрезать лишнее.
Надеюсь кому-то помог, удачи)
спасибо. а как можно для других категорий, не контактов? вот создал я категорию, а там чет не получается
ОтветитьУдалитьНе совсем понятно где именно вы создали категорию
ОтветитьУдалить