Перейти к публикации
Дизайн и модификация IPS Community IPBSkinsBETA
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...
Mr.KosS

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

Рекомендованные сообщения

Там движок другой, phpBB.

Поделиться сообщением


Ссылка на сообщение

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

Поделиться сообщением


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

 

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

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

Поделиться сообщением


Ссылка на сообщение
Хотя очевидно его сильно модифицировали (4pda-ru)

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

  • Upvote 1

Поделиться сообщением


Ссылка на сообщение

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

 

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

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

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

Поделиться сообщением


Ссылка на сообщение
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']}' />

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

Поделиться сообщением


Ссылка на сообщение

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

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

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

Поделиться сообщением


Ссылка на сообщение
01/12/17 17:01 (изменено)

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

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

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

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

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

 

upd.

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

Изменено пользователем f2065

Поделиться сообщением


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

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

 

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

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

 

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

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

Поделиться сообщением


Ссылка на сообщение

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

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

 

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

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

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

Поделиться сообщением


Ссылка на сообщение

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу.

×
×
  • Создать...