Jump to content
Дизайн и модификация IPS Community IPBSkinsBETA
Search In
  • More options...
Find results that contain...
Find results in...
Sign in to follow this  
Mr.KosS

Модификация нескольких BBcode

Recommended Posts

IPB не парсит заголовки ббкодов на ббкоды.

Share this post


Link to post
Share on other sites
Там движок другой, phpBB.
Там конкретно написано «Форум IP.Board © 2016 IPS, Inc.». Хотя очевидно его сильно модифицировали (4pda-ru), но это явно не phpBB.

 

IPB не парсит заголовки ббкодов на ббкоды.
Но как-то модами/хуками то это делают?

Разгребаю вот старый форум на IPB 2 (очевидно, с модами) - тоже спойлеры с COLOR/FONT/SIZE работают.

Share this post


Link to post
Share on other sites
Хотя очевидно его сильно модифицировали (4pda-ru)

У форпда версия 1.3, там все модификации кастомные. И парсер ббкодов староват, по хорошему ббкоды в заголовках ббкодов парсятся не должны.

  • Upvote 1

Share this post


Link to post
Share on other sites

Ну а просто классический спойлер для IPB 3.4.x где бы взять?

 

Эту тему изучил, другие тоже… Не получается ничего нормально приделать к IPB 3.4.9.

Мне надо чтобы спойлер мог быть как с опцией (заголовком) так и без заголовка.

Однако все найденные тут примеры - без заголовка выводят какие-то непонятные артефакты. Да и с заголовком выглядят подозрительно.

Share this post


Link to post
Share on other sites
Custom BBCode Replacement:

<div class='bbc_spoiler'>
<input type='button' class='bbc_spoiler_show' value='+' /><span class='spoiler_title'>{option}</span>
<div class='bbc_spoiler_wrapper'><div class='bbc_spoiler_content' style="display:none;">{content}</div></div>
</div>

 

2. Отредактируйте языковые строки (Look & Feel > Manage Languages):

 

Найти строку по ключу "spoiler_show", установить перевод "+".

Найти строку по ключу "spoiler_hide", установить перевод "-".

А можно как-нибудь сделать так чтобы начальное value читалось из языков?

Просто я хочу написать «Спойлер (+)», «Спойлер (-)»… И с поддержкой русского и английского языков. Т.е. сразу написать «value='Спойлер (+)'» - нельзя, т.к. у тех кто выбрал английский язык скина - это не переведётся.

 

Пробовал по аналогии с другими местами написать типа

<input type='button' class='bbc_spoiler_show' value=ipb.lang['spoiler_hide'] />

или

<input type='button' class='bbc_spoiler_show' value='{$this->lang->words['spoiler_hide']}' />

но это всё не работает (не парсится, выводит скрипт как есть, а не слово из базы)… Как это сделать чтобы работало?

Share this post


Link to post
Share on other sites

Найти строку по ключу "spoiler_show", установить перевод "+".

Найти строку по ключу "spoiler_hide", установить перевод "-".

Другого перевода кроме этого там не предусмотрено.

Share this post


Link to post
Share on other sites

Другого перевода кроме этого там не предусмотрено.

Ну так самим можно же сделать то что первоначально не предусмотрено?

Вопрос в том почему не работает конструкция вроде {$this->lang->words['spoiler_hide']} ?

Не только как значение value, вообще в BB-кодах что-то оно не работает.

Хотя есть хуки BB-кодов (например TB_hide) где что-то подобное успешно сделано, но я пока не смог уловить отличия - почему у них это работает а у меня нет…

 

upd.

написал так <input type='button' class='bbc_spoiler_show' value='{text.spoiler_show}' /> - текст выводит, но английский… Решение где-то рядом.

Edited by f2065

Share this post


Link to post
Share on other sites
Ну так самим можно же сделать то что первоначально не предусмотрено?

"Самим сделать" считается то, что можно сделать без изменения исходного кода. Вы указали левый адрес форума в профиле, а ставить всякого рода модификации на свой форум ради того, чтобы ковыряться в них никто не будет, а значит и самому сделать нельзя.

 

Вопрос в том почему не работает конструкция вроде {$this->lang->words['spoiler_hide']} ?

Ббкод это не шаблон, а обычная строка, он не выполняется чтобы в нем были доступны переменные. Да и в целях безопасности это невозможно.

 

Хотя есть хуки BB-кодов (например TB_hide) где что-то подобное успешно сделано, но я пока не смог уловить отличия - почему у них это работает а у меня нет

Не работает. Эти хуки используют пользовательский php файл.

Share this post


Link to post
Share on other sites

написал так - текст выводит, но английский…

Да, используйте {text.lang_key}, он заменяется на языковые строки форума.

 

текст выводит, но английский

Ббкоды кешируются. Языковая строка будет того языка, который использует пользователь на момент кеширования сообщения.

Про мултиязычность с {text.lang_key} при кеширование сообщений придется забыть. Это нужно делать динамично с учетом текущего языка. Такое возможно только из js.

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...