Уважаемые пользователи!
C 7 ноября 2020 года phpBB Group прекратила выпуск обновлений и завершила дальнейшее развитие phpBB версии 3.2.
С 1 августа 2024 года phpBB Group прекращает поддержку phpBB 3.2 на официальном сайте.
Сайт официальной русской поддержки phpBB Guru продолжит поддержку phpBB 3.2 до 31 декабря 2024 года.
С учетом этого, настоятельно рекомендуется обновить конференции до версии 3.3.

BBcodes в доп. полях профиля или красивое оформление профиля

У вас есть идея для расширения функциональности phpBB? Расскажите о ней здесь!
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Мини [FAQ] по phpBB3.1.x/3.3.x | FAQ | Как задавать вопросы | Как устанавливать расширения

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

BBcodes в доп. полях профиля или красивое оформление профиля

Сообщение Eric23 »

Здравствуйте.
Работаю на версии форума 3.1.2 и столкнулся с проблемой красивого оформления дополнительных полей профиля.
Стоит задача оформить их как ссылки, жирный текст и курсив, и это все решалось бы в миг при помощи бб-кодов, но, как известно, в полях профиля они не работают. Нашел мод, что решает подобную проблему, но видел его версию только для 3.0.x Собственно он сам: Parse BBCode in Custom Profile Fields

Также искал альтернативные способы решения - вставка html-блоков c нужной информацией в профиль и тому подобное.
Проще говоря, хочу скопировать популярный сейчас на майбе тренд с вставкой вот такой информации в профиль пользователя
вот так как-то 
893d2b380e33.jpg
Прошу подсказать, может кто сталкивался с подобным?
У вас нет необходимых прав для просмотра вложений в этом сообщении.
bozzafresco
phpBB 1.4.4
Сообщения: 127
Стаж: 10 лет 1 месяц
Благодарил (а): 39 раз
Поблагодарили: 6 раз

Re: BBcodes в доп. полях профиля или красивое оформление про

Сообщение bozzafresco »

Это довольно легко, особенно если использовать для заполнения полей не ссылки, а простой текст
Вот посмотрите пример (на автар можно нажимать):
http://trialand.ru/viewtopic.php?f=19&t=130#p1756
У автора этого сообщения, что по ссылке, в профиле заполнено еще пять дополнительных полей.
Всего их с учетом административных прав - около 20 и все отвечают за разные функции и украшения.

Копайте в сторону FIELD1 в шаблоне viewtopic_body.html и memberlist_view.html

Чтобы придать нужную стилизацию и формат минипрофилю пользователя на страницах тем при помощи полей, используйте вот такой пример кода:

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

<!-- IF postrow.S_PROFILE_FIELD1 -->
			<!-- Use a construct like this to include admin defined profile fields. Replace FIELD1 with the name of your field. -->
			<dd><strong>{postrow.PROFILE_FIELD1_NAME}{L_COLON}</strong> {postrow.PROFILE_FIELD1_VALUE}</dd>
		<!-- ENDIF -->
Заменяя FIELD1 на названия своих полей, вы получите вывод данных.
В IF вставляете элемент, при проверке которого будет принято решение - выводить поле на страницу форума или нет

Пример:

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

<!-- IF postrow.S_PROFILE_USER_RANK --><br><span class="user_rank">{postrow.PROFILE_USER_RANK_VALUE}</span>
<!-- ENDIF -->
USER_RANK - название доп. поля.
Если это поле заполнено, его значение VALUE будет выведено внутри span

На странице пользовательского профиля - по аналогии, там есть свой код, который немного отличается.
Также можно выводить поля и в общем списке всех пользователей и в общении через ЛС

Если значением поля будет ссылка, нужно сделать небольшой костыль - это описано в данном сообщение: Как убрать авто отображение ссылок в доп.полях в 3.1?

Ссылки перестанут становиться кликабельными без ББ или ХТМЛ если

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

$field_value = make_clickable($field_value);
заменить на

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

// $field_value = make_clickable($field_value);
Eric23
phpBB 1.0.0
Сообщения: 7
Стаж: 9 лет 3 месяца

Re: BBcodes в доп. полях профиля или красивое оформление про

Сообщение Eric23 »

bozzafresco, спасибо за помощь, прогресс уже некоторый есть, правда, не в ту сторону, в которую бы хотел. Но вот вопрос ещё был, есть ли возможность взять этот текст из поля и не переводить его, собственно, в текст, то есть, при записи не доставлять кавычки двойные? Это имею ввиду именно поле на много строчек.
bozzafresco
phpBB 1.4.4
Сообщения: 127
Стаж: 10 лет 1 месяц
Благодарил (а): 39 раз
Поблагодарили: 6 раз

Re: BBcodes в доп. полях профиля или красивое оформление про

Сообщение bozzafresco »

Я ничего не понял. Приведите пример или просто сформулируйте задачу, постараюсь помочь
Eric23
phpBB 1.0.0
Сообщения: 7
Стаж: 9 лет 3 месяца

Re: BBcodes в доп. полях профиля или красивое оформление про

Сообщение Eric23 »

bozzafresco, когда мы сохраняем текст из поля профиля в БД, то служебные символы вроде - > < переводятся в &qt; и < . Можно как-то это превращение отключить? Или хотя бы сделать его обратным? (может где видели скрипт для этого)
bozzafresco
phpBB 1.4.4
Сообщения: 127
Стаж: 10 лет 1 месяц
Благодарил (а): 39 раз
Поблагодарили: 6 раз

Re: BBcodes в доп. полях профиля или красивое оформление про

Сообщение bozzafresco »

Разрешать HTML в дополнительных полях - неправильно в плане безопасности.
Самый простой пример: Злоумышленник кладет себе на сервер картинку в папку, закрытую паролем через htaccess и добавляет <img...> тег в дополнительное поле
Везде, где настроен вывод содержимого этого поля, пользователи буду видеть вплывающее окошко с запросом логина и пароля. Причем злоумышленник будет получать полноценный лог всего, что туда вводят.
Вопрос на засыпку: сколько найдется уникалов, которые без зазрения совести заполнят в этом окошке свой форумный логин и пароль?
Ответ: очень много. У нас когда-то на форуме регионального провайдера более 400 учетных записей так поломали, это было 23% от общего числа активных пользователей. Представляете масштабы трагедии?
Точно также можно попробовать js выполнить или файл подгрузить. А что, html же у ленивого админа разрешен :D

Так вот, к чему это я. нужно стараться продумывать доп.поля так, чтобы плейсхолдер форумный {postrow.PROFILE_FILDNAME_VALUE} был окутан тегами ВНУТРИ шаблона, а само по себе поле содержало только значение.
Пример:

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

<!-- IF postrow.S_PROFILE_IMG -->
<a href="{postrow.PROFILE_LINK_VALUE}"><img src="/icons/{postrow.PROFILE_IMG_VALUE}.gif" title="{postrow.PROFILE_IMGTITLE_VALUE}"></a>
<!-- ENDIF -->
Этот код потребует использования трех дополнительных полей и если заполнено доп.поле LINK, выведет на странице темы в нужном месте некую картинку с указанным тайтлом, окутанную ссылкой. Если поле LINK пустое, не выведется ничего.
Причем для вставки картинки нужно будет заполнить в доп.поле только ее название без расширения, а саму картинку закинуть в нужную папку вручную.
Такой подход 100% безопасен. Причем оперирование доп.полями позволяет создавать профили любой сложности.

Еще раз спрошу: сформулируйте задачу, какие вам поля надо добавить и как вывести. Можно в личку, если боитесь опубликовать некий "тренд" в паблик.
Eric23
phpBB 1.0.0
Сообщения: 7
Стаж: 9 лет 3 месяца

Re: BBcodes в доп. полях профиля или красивое оформление про

Сообщение Eric23 »

bozzafresco писал(а):Разрешать HTML в дополнительных полях - неправильно в плане безопасности.
Действительно, я с вами согласен, потому изначально и искал возможность использования bb-кодов в доп.полях) К вопросу о злоумышленниках - ну, можно скрыть редактирование поля от пользователя.
Я понял мысль, состав полей должен быть только текстом, что уже будет подставляться в теги в шаблонах.
Спасибо за помощь, но уже сделал то, что хотел.
Аватара пользователя
xisp
phpBB 3.0.0 RC7
Сообщения: 1798
Стаж: 11 лет 11 месяцев
Благодарил (а): 101 раз
Поблагодарили: 91 раз
Забанен: Бессрочно

Re: BBcodes в доп. полях профиля или красивое оформление про

Сообщение xisp »

Eric23 писал(а):Спасибо за помощь, но уже сделал то, что хотел.
Решили проблему- выложите способ решения или напишите, какой пост вам помог.
phpBBex
Eric23
phpBB 1.0.0
Сообщения: 7
Стаж: 9 лет 3 месяца

Re: BBcodes в доп. полях профиля или красивое оформление про

Сообщение Eric23 »

xisp сделал посредством обычных полей.
Если получится сделать тем способом, что хотел изначально - выложу.
Аватара пользователя
Beer
phpBB 2.0.9
Сообщения: 708
Стаж: 12 лет 9 месяцев
Благодарил (а): 181 раз
Поблагодарили: 67 раз

Re: BBcodes в доп. полях профиля или красивое оформление профиля

Сообщение Beer »

viewtopic_body.html

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

<!-- IF postrow.S_PROFILE_MY_BEER -->
	<strong>{postrow.custom_fields.PROFILE_FIELD_NAME}{L_COLON}</strong> <span class="user_beer">{postrow.PROFILE_MY_BEER_VALUE}</span>
<!-- ENDIF -->
Вывожу данные заполненного поля, а вот название вывести не могу.....
Что делаю не так?
Сконвертировался с SMF2 в phpBB3.2
Аватара пользователя
Татьяна5
Поддержка
Поддержка
Сообщения: 12422
Стаж: 12 лет 8 месяцев
Благодарил (а): 166 раз
Поблагодарили: 2474 раза

Re: BBcodes в доп. полях профиля или красивое оформление профиля

Сообщение Татьяна5 »

PROFILE_MY_BEER_NAME
Аватара пользователя
Beer
phpBB 2.0.9
Сообщения: 708
Стаж: 12 лет 9 месяцев
Благодарил (а): 181 раз
Поблагодарили: 67 раз

Re: BBcodes в доп. полях профиля или красивое оформление профиля

Сообщение Beer »

Все получилось, спасибо!

Отправлено спустя 1 час 18 минут 43 секунды:
А вот в memberlist_view.html почему-то не срабатывает:

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

<!-- BEGIN custom_fields -->
	<!-- IF not custom_fields.S_PROFILE_CONTACT -->
	 <dt>{custom_fields.PROFILE_FIELD_NAME}{L_COLON}</dt> <dd>{custom_fields.PROFILE_FIELD_VALUE}</dd>
	<!-- ENDIF -->
<!-- END custom_fields -->
Делаю так:

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

<!-- BEGIN custom_fields -->
<!-- IF postrow.S_PROFILE_PHPBB_LOCATION -->
	<dd class="user_location"><strong>{postrow.PROFILE_PHPBB_LOCATION_NAME}{L_COLON}</strong> {postrow.PROFILE_PHPBB_LOCATION_VALUE}</dd>
	<!-- ENDIF -->
	<!-- IF postrow.S_PROFILE_MY_BOAT -->
	<dd class="user_boat"><strong>{postrow.PROFILE_MY_BOAT_NAME}{L_COLON}</strong> <a href="/{postrow.PROFILE_MY_BOAT_VALUE}"><img src="{T_THEME_PATH}/images/boat.png" width="22px" height="16px" title="Мой катер"></a></dd>
<!-- ENDIF -->
<!-- END custom_fields -->
:shock:
Сконвертировался с SMF2 в phpBB3.2
Аватара пользователя
Татьяна5
Поддержка
Поддержка
Сообщения: 12422
Стаж: 12 лет 8 месяцев
Благодарил (а): 166 раз
Поблагодарили: 2474 раза

Re: BBcodes в доп. полях профиля или красивое оформление профиля

Сообщение Татьяна5 »

Beer писал(а): postrow
Нет в memberlist_view.html цикла postrow, так что postrow.S_PROFILE_PHPBB_LOCATION всегда false
Аватара пользователя
Beer
phpBB 2.0.9
Сообщения: 708
Стаж: 12 лет 9 месяцев
Благодарил (а): 181 раз
Поблагодарили: 67 раз

Re: BBcodes в доп. полях профиля или красивое оформление профиля

Сообщение Beer »

Как в таком случае нужно действовать, если это возможно?
Сконвертировался с SMF2 в phpBB3.2
Аватара пользователя
Татьяна5
Поддержка
Поддержка
Сообщения: 12422
Стаж: 12 лет 8 месяцев
Благодарил (а): 166 раз
Поблагодарили: 2474 раза

Re: BBcodes в доп. полях профиля или красивое оформление профиля

Сообщение Татьяна5 »

По логике использовать цикл custom_fields, но не проверяла есть ли в нём там нужные переменные

Вернуться в «Запросы расширений для phpBB»