Дополнительние иконки контактов в минипрофиле

Проблемы с установкой или работой phpBB 3.0.x? Получите помощь здесь!
С 1 января 2017 года phpBB Group прекращает поддержку phpBB версии 3.0.
Сайт официальной русской поддержки phpBB Guru продолжит поддержку phpBB 3.0 до 1 июля 2017 года.
Подробнее: Окончание поддержки phpBB 3.0.
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Переход на 3.0.6 и выше | FAQ-3 (phpbb3) | Как задавать вопросы | Как устанавливать моды

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).
glazs
phpBB 1.0.0
Сообщения: 8
Стаж: 15 лет 5 месяцев

Дополнительние иконки контактов в минипрофиле

Сообщение glazs »

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

Как получить доступ к автору поста из php?
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 17273
Стаж: 20 лет 4 месяца
Откуда: Красноярск
Благодарил (а): 632 раза
Поблагодарили: 2413 раз

Re: Дополнительние иконки контактов в минипрофиле

Сообщение rxu »

glazs
Поясните, что конкретно хотите сделать. Ибо в вашем вопросе есть взаимоисключающие элементы, никак не связанные друг с другом :)
Изображение
glazs
phpBB 1.0.0
Сообщения: 8
Стаж: 15 лет 5 месяцев

Re: Дополнительние иконки контактов в минипрофиле

Сообщение glazs »

Да, прошу прощения, писал спросони, получилось сумбурно как-то.

Хочу добавить к контактам, которые отображаются в топике иконками в минипрофиле, Facbook и ВКонтакте.

У меня всё для этого готово, нарисованы иконки, написан CSS, только вот вывести данные не получается. Сейчас я временно получаю данные из объёкта $user, в котором содержатся данные текущего пользователя. Хочется получить аналогичный объект, тольно про автора поста. В viewtopic.php видно как получить ID пользователя, хочется создать такой же объект для автора поста по ID. Короче мне бы узнать какой конструктор используется для создания объекта $user.
Ну или можно пойти другим путём, если у вас есть идеи. Я в PhpBB дуб дубом, поэтому мне в голову другого пути не пришло, а гуглится как-то слабо.
Аватара пользователя
Sheer
Former team member
Сообщения: 12113
Стаж: 19 лет 7 месяцев
Откуда: Калининград не Кенигсберг
Благодарил (а): 54 раза
Поблагодарили: 2756 раз

Re: Дополнительние иконки контактов в минипрофиле

Сообщение Sheer »

Я думаю это наведет тебя на правильный мысль
viewtopic.php в массиве $postrow

Код: Выделить всё

'POSTER_AVATAR'        => $user_cache[$poster_id]['avatar'], 
glazs
phpBB 1.0.0
Сообщения: 8
Стаж: 15 лет 5 месяцев

Re: Дополнительние иконки контактов в минипрофиле

Сообщение glazs »

Я распечатывал этот объект, но ничего похожего на кастомные поля не обнаружил :(
Аватара пользователя
Sheer
Former team member
Сообщения: 12113
Стаж: 19 лет 7 месяцев
Откуда: Калининград не Кенигсберг
Благодарил (а): 54 раза
Поблагодарили: 2756 раз

Re: Дополнительние иконки контактов в минипрофиле

Сообщение Sheer »

А зачем это в "кастомные" заносить? Для информации о пользователе такого рода служит таблица users. Туда это и записывать.
glazs
phpBB 1.0.0
Сообщения: 8
Стаж: 15 лет 5 месяцев

Re: Дополнительние иконки контактов в минипрофиле

Сообщение glazs »

Посмотрел подробнее на объект $user и проблема решилась сама собой. Прошу прощения за беспокойство, топик можно закрывать.

Код: Выделить всё

$user->get_profile_fields( $poster_id );
$user_fields = $user->profile_fields;
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 17273
Стаж: 20 лет 4 месяца
Откуда: Красноярск
Благодарил (а): 632 раза
Поблагодарили: 2413 раз

Re: Дополнительние иконки контактов в минипрофиле

Сообщение rxu »

glazs
styles/prosilver/template/viewtopic_body.html, находите блок

Код: Выделить всё

		<!-- IF postrow.U_PM or postrow.U_EMAIL or postrow.U_WWW or postrow.U_MSN or postrow.U_ICQ or postrow.U_YIM or postrow.U_AIM or postrow.U_JABBER -->
			<dd>
				<ul class="profile-icons">
					<!-- IF postrow.U_PM --><li class="pm-icon"><a href="{postrow.U_PM}" title="{L_PRIVATE_MESSAGE}"><span>{L_PRIVATE_MESSAGE}</span></a></li><!-- ENDIF -->
					<!-- IF postrow.U_EMAIL --><li class="email-icon"><a href="{postrow.U_EMAIL}" title="{L_SEND_EMAIL_USER} {postrow.POST_AUTHOR}"><span>{L_SEND_EMAIL_USER} {postrow.POST_AUTHOR}</span></a></li><!-- ENDIF -->
					<!-- IF postrow.U_WWW --><li class="web-icon"><a href="{postrow.U_WWW}" title="{L_VISIT_WEBSITE}: {postrow.U_WWW}"><span>{L_WEBSITE}</span></a></li><!-- ENDIF -->
					<!-- IF postrow.U_MSN --><li class="msnm-icon"><a href="{postrow.U_MSN}" onclick="popup(this.href, 550, 320); return false;" title="{L_MSNM}"><span>{L_MSNM}</span></a></li><!-- ENDIF -->
					<!-- IF postrow.U_ICQ --><li class="icq-icon"><a href="{postrow.U_ICQ}" onclick="popup(this.href, 550, 320); return false;" title="{L_ICQ}"><span>{L_ICQ}</span></a></li><!-- ENDIF -->
					<!-- IF postrow.U_YIM --><li class="yahoo-icon"><a href="{postrow.U_YIM}" onclick="popup(this.href, 780, 550); return false;" title="{L_YIM}"><span>{L_YIM}</span></a></li><!-- ENDIF -->
					<!-- IF postrow.U_AIM --><li class="aim-icon"><a href="{postrow.U_AIM}" onclick="popup(this.href, 550, 320); return false;" title="{L_AIM}"><span>{L_AIM}</span></a></li><!-- ENDIF -->
					<!-- IF postrow.U_JABBER --><li class="jabber-icon"><a href="{postrow.U_JABBER}" onclick="popup(this.href, 550, 320); return false;" title="{L_JABBER}"><span>{L_JABBER}</span></a></li><!-- ENDIF -->
				</ul>
			</dd>
		<!-- ENDIF -->
Добавляете в условия по IF нужные значения, например or postrow.U_FACEBOOK or postrow.U_VKONTAKTE or, затем нужно получить эти значения во viewtopic.php. Найдите, как формируются аналогичные, сделайте по аналогии.

Добавлено спустя 29 секунд:
В пользовательские поля картинку добавить вряд ли получится.
Изображение
glazs
phpBB 1.0.0
Сообщения: 8
Стаж: 15 лет 5 месяцев

Re: Дополнительние иконки контактов в минипрофиле

Сообщение glazs »

Sheer писал(а):А зачем это в "кастомные" заносить? Для информации о пользователе такого рода служит таблица users. Туда это и записывать.
Решение временное, в будущем планирую переехать на самописный движок. Это просто первое, что пришло в голову.

Добавлено спустя 19 минут 25 секунд:
Прошу прощения, вывод был поспешный, я прогнал.
Теперь нужно в темплейте добраться до id автора поста в блоке php.
Пробовал такую ересь, не получается:

Код: Выделить всё

<!-- PHP -->
    echo "<!-- ENDPHP -->{postrow.POSTER_ID}<!-- PHP -->";
<!-- ENDPHP -->
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 17273
Стаж: 20 лет 4 месяца
Откуда: Красноярск
Благодарил (а): 632 раза
Поблагодарили: 2413 раз

Re: Дополнительние иконки контактов в минипрофиле

Сообщение rxu »

glazs
Это лишнее. Просто {postrow.POSTER_ID} решает.
Изображение
glazs
phpBB 1.0.0
Сообщения: 8
Стаж: 15 лет 5 месяцев

Re: Дополнительние иконки контактов в минипрофиле

Сообщение glazs »

Это то понятно, но мне хочется вот так:

Код: Выделить всё

<!-- PHP -->
    $user->get_profile_fields( $poster_id );
<!-- ENDPHP -->
Причем в темплейте.
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 17273
Стаж: 20 лет 4 месяца
Откуда: Красноярск
Благодарил (а): 632 раза
Поблагодарили: 2413 раз

Re: Дополнительние иконки контактов в минипрофиле

Сообщение rxu »

В этом нет смысла.
Изображение
glazs
phpBB 1.0.0
Сообщения: 8
Стаж: 15 лет 5 месяцев

Re: Дополнительние иконки контактов в минипрофиле

Сообщение glazs »

А реализация у этого есть?
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 17273
Стаж: 20 лет 4 месяца
Откуда: Красноярск
Благодарил (а): 632 раза
Поблагодарили: 2413 раз

Re: Дополнительние иконки контактов в минипрофиле

Сообщение rxu »

Я понял так, что вас не интеерсует, как сделать дополнительные иконки в минипрофиле, а интересует, как сделать это именно так, как вам хочется.
Если речь о реализации первого, то [FAQ] Добавляем иконку в мини-профиль плюс прописать нужную ссылку для картинки.
Если о реализации второго - без понятия.
Изображение
glazs
phpBB 1.0.0
Сообщения: 8
Стаж: 15 лет 5 месяцев

Re: Дополнительние иконки контактов в минипрофиле

Сообщение glazs »

Спасибо, как раз то что нужно!
Я просто просил конкретно, потому что был уже на пол пути к решению, но весьма кривым путём.

Вернуться в «Поддержка phpBB 3.0.х»