Posted 11 сентября, 20213 yr comment_172371 Скачал плагин для ckeditor - simple-button С админки постятся красиво оформленные кнопочки, с аккаунта пользователя - нет, вырезается где-то треть атрибутов и стилей, нужно включать разрешение на публикацию html.. Думал ошибка в плагине или типа того, но даже свой простейший плагин с аккаунта пользователя заюзать не получится: Думал что у ckeditor в config.js что-то не прописано, но методом научного тыка понял, что это не так (возможно ошибаюсь) Начал копаться в файлах движка, в поисках некого вайт-листа, но быстро понял, что дело это крайне долгое, докопался лишь до инициализации такой функции: public function htmlParsingEnforced() { return (boolean) $this->post_htmlstate > 0; } Дальнейших обработчиков пока не нашёл Может кто делал разрешение на использование определённых классов/атрибутов/тэгов обычным пользователям, не через разрешение публикации html? Link to comment https://ipbmafia.ru/topic/23496-formatirovanie-teksta/ Share on other sites Больше вариантов
11 сентября, 20213 yr Author comment_172372 Upd:по пути /forum/system/3rd_party/HTMLPurifier/HTMLPurifier/ConfigSchema/schema нашёл файлы которые начинаются на HTML.Allowed.. и CSS.Allowed.. Пока не разобрался что с ними делать Link to comment https://ipbmafia.ru/topic/23496-formatirovanie-teksta/?&do=findComment&comment=172372 Share on other sites Больше вариантов
11 сентября, 20213 yr comment_172374 С админки тоже стили режутся, при сохранении. Link to comment https://ipbmafia.ru/topic/23496-formatirovanie-teksta/?&do=findComment&comment=172374 Share on other sites Больше вариантов
11 сентября, 20213 yr comment_172375 Нашел, как разрешить бордер-радиусы.. но это надо прописывать прямо в коде. Link to comment https://ipbmafia.ru/topic/23496-formatirovanie-teksta/?&do=findComment&comment=172375 Share on other sites Больше вариантов
11 сентября, 20213 yr comment_172377 Хукайте метод getAllowedCssClasses в классе \IPS\Text\Parser А ну или в настройках можно так же указать разрешенные css-классы. Тогда ничего не будет урезать при сохранении. Link to comment https://ipbmafia.ru/topic/23496-formatirovanie-teksta/?&do=findComment&comment=172377 Share on other sites Больше вариантов
11 сентября, 20213 yr comment_172378 Есть файлик, schema.ser, там опции CSS.AllowImportant, CSS.AllowTricky и CSS.Proprietary - они определяют, как обрабатывать некоторые css в сообщении. Если их поставить в 1, то появятся все стили, которые есть на превьюшке кнопки. А вот опция cursor: pointer не появляется, ее вообще нет в определениях. Можно добавить $this->info['cursor'] = new HTMLPurifier_AttrDef_Enum( array('pointer'), false ); Появится последний пропадающий css Edited 11 сентября, 20213 yr by Desti Link to comment https://ipbmafia.ru/topic/23496-formatirovanie-teksta/?&do=findComment&comment=172378 Share on other sites Больше вариантов
11 сентября, 20213 yr comment_172379 3 часа назад, WaNted сказал: Хукайте метод getAllowedCssClasses в классе \IPS\Text\Parser А ну или в настройках можно так же указать разрешенные css-классы. Тогда ничего не будет урезать при сохранении. ага, без этого ни один инородный класс выводиться не будет. Еще можно и атрибуты пропускать нужные этой функцией: /** * Customize HTML Purifier HTML Definition * * @param HTMLPurifier_HTMLDefinition $def The definition * @return void */ protected function _htmlPurifierModifyHtmlDefinition( $def ) Link to comment https://ipbmafia.ru/topic/23496-formatirovanie-teksta/?&do=findComment&comment=172379 Share on other sites Больше вариантов
11 сентября, 20213 yr Author comment_172396 Desti Вроде бы выставил 1, но всё как было, так и осталось Что я не так делаю? Link to comment https://ipbmafia.ru/topic/23496-formatirovanie-teksta/?&do=findComment&comment=172396 Share on other sites Больше вариантов
11 сентября, 20213 yr Author comment_172398 12 часов назад, WaNted сказал: Хукайте метод getAllowedCssClasses в классе \IPS\Text\Parser А ну или в настройках можно так же указать разрешенные css-классы. Тогда ничего не будет урезать при сохранении. Классы - это хорошо, можно сделать кучу полезного через custom.css Проблема в том, что всё равно режутся стили, которые могут принимать пользовательские значения, тот же бордер-радиус должно быть <a class="simple-button-plugin" target="_blank" style="display:inline-block;background-color:#27AE61;border:1px solid #27AE61;color:#fff !important;padding:5px 10px;border-radius:5px;font-size:14px;text-decoration: none !important; cursor: pointer;" href="">Unsubscribe</a> вывод: <a class="simple-button-plugin" href="" style="background-color:#27AE61;border:1px solid #27AE61;color:#fff;padding:5px 10px;font-size:14px;text-decoration:none;" rel="">Unsubscribe</a> 10 часов назад, ZIKURIK сказал: ага, без этого ни один инородный класс выводиться не будет. Еще можно и атрибуты пропускать нужные этой функцией: Спасибо, получилось пропустить атрибут target Link to comment https://ipbmafia.ru/topic/23496-formatirovanie-teksta/?&do=findComment&comment=172398 Share on other sites Больше вариантов
11 сентября, 20213 yr comment_172399 41 минуту назад, cliva сказал: Вроде бы выставил 1, но всё как было, так и осталось Их там несколько. Link to comment https://ipbmafia.ru/topic/23496-formatirovanie-teksta/?&do=findComment&comment=172399 Share on other sites Больше вариантов
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.