f2065 6 06/17/2019 07:51 PM У меня в IPB 3.4.9 спойлеры с заголоком, типа {spoiler=заголовок}текст{/spoiler}А в IPS 4 всё не так… При обновлении такие спойлеры пропали.Стал искать плагины спойлеров для IPS 4.x - они не используют BB-коды вообще! Они сразу пишут HTML-конструкцию для работы своего спойлера (потом, при очередном обновлении движка это всё с большой вероятностью пропадёт или заглючит). И заголовков нет…Нашёл разве что плагин который выводит в заголовок спойлера первую строку скрытого текста если она в {b}-тегах. Но это слишком кривое решение. Что делать? Share this post Link to post
newbie 1,721 06/20/2019 05:54 AM Не понял. Вам нужен спойлер для 4-ки с возможностью указать заголовок или сохранить заголовки при обновлении? Share this post Link to post
f2065 6 06/20/2019 06:43 AM Не понял. Вам нужен спойлер для 4-ки с возможностью указать заголовок или сохранить заголовки при обновлении?И сохранить старые заголовки при обновлении с 3.4.9 до 4.4.4, и для будущих постов тоже чтобы была возможность делать спойлеры с заголовком. Share this post Link to post
newbie 1,721 06/20/2019 06:51 AM И сохранить старые заголовки при обновлении с 3.4.9 до 4.4.4Пока что не подскажу. Нужно смотреть.Вы делали обновление? Что со спойлерами произошло? Удалились из постов или заголовок исчез? и для будущих постов тоже чтобы была возможность делать спойлеры с заголовком. Посмотрите https://ckeditor.com/cke4/addon/spoiler Share this post Link to post
f2065 6 06/23/2019 11:45 AM (edited) Вы делали обновление? Что со спойлерами произошло? Удалились из постов или заголовок исчез?Старые спойлеры с заголовками - поломались. В тексте в IPS4 написано отрыто {spoiler=заголовок}, потом текст весь. Конечный тег {/spoiler} вырезан полностью. Т.е. в базе формата IPS 4 штатная конвертаций необратимо портит старые спойлеры.{spoiler}…{/spoiler} - движок корректно конвертировал сам, проблема только вот со {spoiler=…}…{/spoiler} Проблема в том что IPS в базе (в отличии от IPB) не хранит BB-теги спойлеров, она сразу конвертирует их в HTML div class="ipsSpoiler"… Можно конечно руками в базе по аналогии заменить BB на HTML (очевидно, перед конвертацией форума), но может есть готовые решения или идеи? Edited June 23, 2019 by f2065 Share this post Link to post
newbie 1,721 06/24/2019 10:36 AM Не тестировал. 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