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

Как сохранить спойлеры от IPB 3.x ?

Recommended Posts

У меня в IPB 3.4.9 спойлеры с заголоком, типа {spoiler=заголовок}текст{/spoiler}

А в IPS 4 всё не так… При обновлении такие спойлеры пропали.

Стал искать плагины спойлеров для IPS 4.x - они не используют BB-коды вообще! Они сразу пишут HTML-конструкцию для работы своего спойлера (потом, при очередном обновлении движка это всё с большой вероятностью пропадёт или заглючит). И заголовков нет…

Нашёл разве что плагин который выводит в заголовок спойлера первую строку скрытого текста если она в {b}-тегах. Но это слишком кривое решение.

 

Что делать?

Share this post


Link to post

Не понял. Вам нужен спойлер для 4-ки с возможностью указать заголовок или сохранить заголовки при обновлении?

Share this post


Link to post

Не понял. Вам нужен спойлер для 4-ки с возможностью указать заголовок или сохранить заголовки при обновлении?

И сохранить старые заголовки при обновлении с 3.4.9 до 4.4.4, и для будущих постов тоже чтобы была возможность делать спойлеры с заголовком.

Share this post


Link to post

И сохранить старые заголовки при обновлении с 3.4.9 до 4.4.4

Пока что не подскажу. Нужно смотреть.

Вы делали обновление? Что со спойлерами произошло? Удалились из постов или заголовок исчез?

 

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

Посмотрите https://ckeditor.com/cke4/addon/spoiler

Share this post


Link to post

Вы делали обновление? Что со спойлерами произошло? Удалились из постов или заголовок исчез?

Старые спойлеры с заголовками - поломались. В тексте в IPS4 написано отрыто {spoiler=заголовок}, потом текст весь. Конечный тег {/spoiler} вырезан полностью. Т.е. в базе формата IPS 4 штатная конвертаций необратимо портит старые спойлеры.

{spoiler}…{/spoiler} - движок корректно конвертировал сам, проблема только вот со {spoiler=…}…{/spoiler}

 

Проблема в том что IPS в базе (в отличии от IPB) не хранит BB-теги спойлеров, она сразу конвертирует их в HTML div class="ipsSpoiler"…

 

Можно конечно руками в базе по аналогии заменить BB на HTML (очевидно, перед конвертацией форума), но может есть готовые решения или идеи?

Edited by f2065

Share this post


Link to post

Не тестировал.

 

system/Text/LegacyParser.php

Найти

		$value = str_replace( "[/spoiler]", "</p></div></div><p>", $value );

Выше добавить

		$value = preg_replace( "#\[spoiler=[\"']?(.+?)[\"']?\]#i", '</p><div class="ipsSpoiler" data-ipsSpoiler><div class="ipsSpoiler_header"><span>\\1</span></div><div class="ipsSpoiler_contents"><p>', $value);

 

Но все равно по умолчанию кастомные заголовки будут заменены на дефолтные javascript'ом

Share this post


Link to post

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