Работа BB-кодов в дополнительных полях (2.3.6) - Дизайн и модификация Invision Power Board

Перейти к содержимому

 

Правила раздела

Здесь обсуждаются вопросы настройки и администрирования форумов IPB 2.x.
Пожалуйста, не оффтопьте, если зашли сюда случайно, и обратите внимание на соседние разделы.
Установка, настройка и обслуживание форумов IPB 3.x.
Оформление форумов, включая верстку скинов.
Размещение рекламы на форумах.
SEO оптимизация форума.
Техническая поддержка наших скинов и модов.

СвернутьПрикрепленные теги

Теги не найдены

  • 2 Страниц +
  • 1
  • 2
  • Вы не можете создавать новые темы
  • Вы не можете отвечать в этой теме

Работа BB-кодов в дополнительных полях (2.3.6)

#1 Пользователь не на сайте   Hecc ответил: »

 
 
  • Member
  • **
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 19
  • Регистрация: 25-Сентябрь 10
  • Репутация: 0
  • IPB version:2.3.x
 

Отправлено 02 Июнь 2011 - 21:25

Через дополнительные поля, сделал отображение поля в профиле через небольшое всплывающее окно.
Spoiler

Теперь возникла потребность подключить к этому всплывающему окну ВВ-коды.
Сколько я уже пытался делать, нужного результата я так и не достиг. Подключал и родные ВВ-коды и внешние, а они все равно не хотят отображаться.

Собственно, как включить работу BB кодов в этих полях ? Хотя бы тех, которые отвечают за форматирование текста - [b][u][i][s]
Подскажите хотя бы в каком направлении думать. Ни за что же не поверю, что это нельзя реализовать)

Сам код дополнительного поля:
Spoiler

0

#2 Пользователь не на сайте   Ritsuka ответил: »

 
 
  • ***
  • Смотреть галерею
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 1 908
  • Регистрация: 08-Июнь 09
  • Репутация: 531
  • IPB version:3.4.x
 

Отправлено 03 Июнь 2011 - 15:39

а) CSS уберите оттуда. Вы дублируете этот код на странцие 100500 раз возле каждого вывода поля. Переместите его в глобальный css каждого скина.

б) Встроенной такой возможности нет, и через шаблоны такого тоже не сделать, увы. Могу подсказать, где и что на месте подправить, чтобы получить желаемое. Если интересно - го под кат.

Открываете на правку файл /admin/sources/classes/customfields/profileRields.php, находите строки:
				if( $current_value || $current_value == '0' )
				{
					/* Get the format */


Заменяете на:
				if( $current_value || $current_value == '0' )
				{
					if($field->raw_data['pf_key'] == 'название_нужного_вам_ключа_поля') {
					    IPSText::getTextClass('bbcode')->parse_html 				= 0;
					    IPSText::getTextClass('bbcode')->parse_nl2br				= 1;
					    IPSText::getTextClass('bbcode')->parse_bbcode				= 1;
					    IPSText::getTextClass('bbcode')->parse_smilies			= 1;
					    IPSText::getTextClass('bbcode')->parsing_section		= 'forums';					
					    $current_value	= IPSText::getTextClass('bbcode')->preDisplayParse( $current_value );			              
					}
					/* Get the format */


Название нужного вам ключа поля - это "Field Key" в диалоге создания/изменения поля.
1

#3 Пользователь не на сайте   Ph-A ответил: »

 
 
  • Advanced
  • Смотреть галерею
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: IPB Skins Team
  • Сообщений: 5 558
  • Регистрация: 18-Сентябрь 06
  • Репутация: 382
  • Откуда:Moscow
  • IPB version:3.1.x
 

Отправлено 03 Июнь 2011 - 16:04

Просмотреть сообщениеRitsuka сказал(а):

Открываете на правку файл /admin/sources/classes/customfields/profileRields.php, находите строки:

Увы. Вопрос про вторую версию форума.
0

#4 Пользователь не на сайте   Ritsuka ответил: »

 
 
  • ***
  • Смотреть галерею
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 1 908
  • Регистрация: 08-Июнь 09
  • Репутация: 531
  • IPB version:3.4.x
 

Отправлено 03 Июнь 2011 - 16:12

Просмотреть сообщениеPh-A сказал(а):

Увы. Вопрос про вторую версию форума.

Тьфу. Вечно попадаю на это :)

Ну, как вариант, обновиться и сделать) Ну или, если кто в двойке разбирается, пусть портирует вниз)
0

#5 Пользователь не на сайте   Hecc ответил: »

 
 
  • Member
  • **
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 19
  • Регистрация: 25-Сентябрь 10
  • Репутация: 0
  • IPB version:2.3.x
 

Отправлено 03 Июнь 2011 - 23:30

Спасибо за помощь, я задумаюсь над переходом на более новую версию форума.
Просто я с 2.3.6 уже 2.5 года работаю, она как родная уже, по этому если это возможно было бы неплохо реализовать это именно на ней.
0

#6 Пользователь не на сайте   siv1987 ответил: »

 
 
  • Advanced
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: IPB Skins Team
  • Сообщений: 8 715
  • Регистрация: 20-Март 09
  • Репутация: 2 267
  • IPB version:3.1.x
 

Отправлено 04 Июнь 2011 - 20:02

/sources/ipsclass.php

Spoiler

1

#7 Пользователь не на сайте   Hecc ответил: »

 
 
  • Member
  • **
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 19
  • Регистрация: 25-Сентябрь 10
  • Репутация: 0
  • IPB version:2.3.x
 

Отправлено 04 Июнь 2011 - 20:53

siv1987,
Fatal error: Call to a member function pre_display_parse() on a non-object in /***/****/*****/******/******/*******/sources/ipsclass.php on line 6092

Добавил, но выдает вот эту ошибку.

Сообщение изменено: Hecc (04 Июнь 2011 - 20:54)

0

#8 Пользователь не на сайте   siv1987 ответил: »

 
 
  • Advanced
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: IPB Skins Team
  • Сообщений: 8 715
  • Регистрация: 20-Март 09
  • Репутация: 2 267
  • IPB version:3.1.x
 

Отправлено 04 Июнь 2011 - 22:44

Цитата

Добавил, но выдает вот эту ошибку.


Ошибки никакой не должно быть, код вполне рабочий.
Но это
$member['custom_fields'] = $parser->pre_display_parse( $member['custom_fields'] );


замените на это
$member['custom_fields'] = $parser->pre_display_parse( $parser->pre_db_parse( trim( $member['custom_fields'] ) ) );

1

#9 Пользователь не на сайте   Hecc ответил: »

 
 
  • Member
  • **
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 19
  • Регистрация: 25-Сентябрь 10
  • Репутация: 0
  • IPB version:2.3.x
 

Отправлено 05 Июнь 2011 - 00:10

Вроде бы ошибка пропала, но ББ коды так и не работают.


Вот участок редактируемого кода :
Spoiler


А вот результат :
Spoiler

0

#10 Пользователь не на сайте   Hecc ответил: »

 
 
  • Member
  • **
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 19
  • Регистрация: 25-Сентябрь 10
  • Репутация: 0
  • IPB version:2.3.x
 

Отправлено 05 Июнь 2011 - 00:56

Заменил мой код на :
$member['custom_fields'] = $parser->pre_display_parse( $parser->pre_db_parse( trim( $member['custom_fields'] ) ) );


Коды начали отображаться, это конечно не может не радовать.
Но, отображаются они не совсем так как хотелось бы (скрин под спойлером)

Spoiler


Например тег [b] не отображается вовсе, а тег [color] вылазит за пределы дива.
Где бы их можно было настроить что бы они выглядели должным образом ?
Возможно ли вообще настроить коды которые будут работать в доп. полях ? Потому что многие из кодов, например, спойлер или цитата, там вообще не уместны.


Еще появились странные "пропуски" между дополнительными полями.
Spoiler

0

#11 Пользователь не на сайте   Ritsuka ответил: »

 
 
  • ***
  • Смотреть галерею
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 1 908
  • Регистрация: 08-Июнь 09
  • Репутация: 531
  • IPB version:3.4.x
 

Отправлено 05 Июнь 2011 - 14:37

siv1987, зря вы на все коды вообще вешаете парсер. Неужели в двойке нельзя избирательно распарсить какое-то одно поле? Оттуда и все вышеописанные баги...
0

#12 Пользователь не на сайте   Hecc ответил: »

 
 
  • Member
  • **
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 19
  • Регистрация: 25-Сентябрь 10
  • Репутация: 0
  • IPB version:2.3.x
 

Отправлено 05 Июнь 2011 - 22:45

Ritsuka, Возможно у вас есть какие-то предположения, как можно эти баги убрать ?
Или движок 2.*.* настолько сильно отличается от 3.*.* ?

Сообщение изменено: Hecc (05 Июнь 2011 - 22:45)

0

#13 Пользователь не на сайте   siv1987 ответил: »

 
 
  • Advanced
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: IPB Skins Team
  • Сообщений: 8 715
  • Регистрация: 20-Март 09
  • Репутация: 2 267
  • IPB version:3.1.x
 

Отправлено 06 Июнь 2011 - 03:54

Цитата

Возможно ли вообще настроить коды которые будут работать в доп. полях ?

Если только вы напишете свой парсер который будет разбирать нужные вам бб-коды. Встроенный такой возможностью не обладает.

Цитата

siv1987, зря вы на все коды вообще вешаете парсер. Неужели в двойке нельзя избирательно распарсить какое-то одно поле? Оттуда и все вышеописанные баги...


Ritsuka, а смысл вешать на каждое по отдельности, если там на сколько я понял во всех доп полях есть ббкоды. Но можно и избирательно, поля идентифицируются по ид. Багов таких особых я здесь не вижу. Лишние бр-ы это от того что из текстареа заносятся переводы строки которые подключенным парсером заменяются на бр. Лечится оно довольно просто - $parser->parse_nl2br = 0; А то что у ТС не отображается какой-то тег [b] (хотя нам еще неизвестно, что он подразумевает под его отображением), или span цвета плывет за пределами его верстки, не считаю за багами парсера.
1

#14 Пользователь не на сайте   Hecc ответил: »

 
 
  • Member
  • **
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 19
  • Регистрация: 25-Сентябрь 10
  • Репутация: 0
  • IPB version:2.3.x
 

Отправлено 06 Июнь 2011 - 10:45

Всем спасибо за помощь.
Уже все настроил, все работает.

-IMG-

Правда, теперь осталось настроить что бы юзерам не приходилось указывать переносы вручную ибо после того как я добавил :
$parser->parse_nl2br = 0;

пропали не только переносы которые появились из-за подключенных парсеров, но и те которые были в контенте дополнительных полей.
0

#15 Пользователь не на сайте   Ritsuka ответил: »

 
 
  • ***
  • Смотреть галерею
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 1 908
  • Регистрация: 08-Июнь 09
  • Репутация: 531
  • IPB version:3.4.x
 

Отправлено 06 Июнь 2011 - 13:09

Цитата

Ritsuka, а смысл вешать на каждое по отдельности, если там на сколько я понял во всех доп полях есть ббкоды.

Первое, что пришло бы мне на ум, увидев такое решение - поставить в самом первом поле открывающий spolier, а в последнем - закрывающий, и таким образом здорово испортить админу форума настроение :)

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

Цитата

Или движок 2.*.* настолько сильно отличается от 3.*.* ?

Тройка переписана почти целиком. И я никогда не работал с двойкой всерьез, увы, поэтому не могу помочь иначе кроме как общими советами)
0

Сообщить об этой теме:


  • 2 Страниц +
  • 1
  • 2
  • Вы не можете создавать новые темы
  • Вы не можете отвечать в этой теме

1 пользователей читают эту тему
0 зарегистрированных, 1 гостей, 0 скрытых


Контактная информация

Вопросы по работе сайта

+7 (917) 501-4765
C 10 до 20 в рабочие дни (время московское)

Техническая поддержка

Контактные данные специалистов

Дизайн форумов

IPB 3.x ¦ IPB 2.x

Бесплатные шаблоны

IPB 3.2 – 3.4 ¦ IPB 3.1 ¦ IPB 3.0 ¦ IPB 2.2 – 2.3 ¦ IPB 2.1 ¦ Клипарт
Лицензия на использование ¦ Ваша поддержка ¦ О проекте
Copyright © 2005-2016 IPBSkins.ru Team
При копировании материалов с сайта
прямая ссылка на источник обязательна