Новые функции редактора текста и короткий FAQ
18
Начиная с 617 ревизии SVN стандартный редактор текста Livestreet обзавелся новыми функциями. Теперь есть возможность превратить выделенный текст в заголовок h4, h5 или h6, а также в один клик оформить нумерованный или маркированный список. Для полноценного использования этого функционала были исправлены старые баги парсера — добавление лишних отступов строк между пунктами списка и после заголовков (сделанные фиксы касаются external-библиотеки Jevix, а не только ядра).
Ввиду большого числа писем о некорректной работе этого редактора в версии 0.3.1 — под катом правила по корректному переносу.
Итак, как перенести корректно редактор на ядро 0.3.1:
1. Обновляем редактор для поддержки списков:
2. Обновляем редактор для поддержки заголовков:
3. Тянем себе Jevix 617 ревизии:
Кидаем вместо старого, помня что в 0.3.1 папка с библиотеками (lib) лежит в /classes/.
4. Далее нужно добавить новые настройки Jevix. Для этого заходим в /classes/modules/sys_text/Text.class.php — там находим функцию JevixConfig() и меняем ее код на этот:
(ревизии не позже 617).
Пользуемся на здоровье.
Теперь, ответы на некоторые очень часто задаваемые вопросы.
1. «Почему при сохранении топика вырезается атрибут class у тегов?», «Я нашел багу — при вставке в топик JavaScript, он не работает», «Почему пользователю запрещено создавать iframe в топике?» и др.
Отвечу на все сразу. Это не БАГИ. Это настройка парсера Jevix. Выполняется она в указанной выше функции JevixConfig() модуля Text (sys_text в 0.3.1). Если вы считаете, что пользователю можно доверить больше, чем доверено — переделайте настройку под себя.
2. Как добавить новую кнопку в редактор?
Самый простой вариант: кнопка для оборачивания текста в тег. Например, кнопочка BOLD оборачивает текст в тег b. Как добавить такую кнопку? По образу и подобию остальных:
<a href="#" onclick="lsPanel.putTagAround('topic_text','ТУТ_ТЕГ_ОБЕРТКА'); return false;" class="button">
<img src="ссылка на изображение" width="20" height="20" title="название кнопки">
</a>
В других случаях — добавление кнопки не самое тривиальное задание, требующие умение работать с JavaScript (искать корни в /js/panel.js).
3. Как убрать в движке редактор в поле комментирования, если таковой не нужен?
Для отключения использования редактора в форме достаточно удалить слой с кнопочками наверху:
<div class="panel_form">
...
</div>
Так, чтобы остался чистый textarea. Все просто.
- +17
- 27 ноября 2009, 03:09
- kachayev
А в каких файлах то этот редактор, я так и не понял?
Мне надо вот такой код генерировать
Мне надо вот такой код генерировать
<ul id="myGallery">
<li class="imageElement">
<h4>Item 1</h4>
<blockquote>Description</blockquote>
<a href="/uploads/images/0/0/0/0/0/1/2009/11/26/a7f14aae6c.jpg" class="open">Открыть</a>
<img src="/uploads/images/0/0/0/0/0/1/2009/11/26/bce14e3d78.jpg" class="full" alt=""/>
</li>
<li class="imageElement">
<h4>Item 2</h4>
<blockquote>Описание</blockquote>
<a href="/uploads/images/0/0/0/0/0/1/2009/11/24/5eeb2c322e.jpg" class="open">Открыть</a>
<img src="/uploads/images/0/0/0/0/0/1/2009/11/26/ef008bf4bc.jpg" class="full" alt="Альт"/>
</li>
<li class="imageElement">
<h4>Item 3</h4>
<blockquote>Описание</blockquote>
<a href="/uploads/images/0/0/0/0/0/1/2009/11/26/cd2d4eb779.jpg" class="open">Открыть</a>
<img src="/uploads/images/0/0/0/0/0/1/2009/11/26/cd2d4eb779.jpg" class="full" alt="Альт"/>
</li>
</ul>
kachayev в твиттере понятным языком не получилось изъяснить, попробую тут. Проблему с заголовками вы решили, но если после заголовков идут списки или просто список друг за другом то BR всё равно ставится.
наоборот удалять надо.
есть пишешь в редакторе:
то на выходе после работы Jevix получаешь:
блин, с CODE, в общем во втором примере (на выходе) там где пустые строки там был BR, вот его удалять.
есть пишешь в редакторе:
<h5>yuyyu</h5>
<ul>
<li>tryu</li>
</ul>
<ol>
<li>tyyyytu</li>
</ol>
<h5>yuyyu</h5>то на выходе после работы Jevix получаешь:
<h5>yuyyu</h5>
<ul>
<li>tryu</li>
</ul>
<ol>
<li>tyyyytu</li>
</ol>
<h5>yuyyu</h5>блин, с CODE, в общем во втором примере (на выходе) там где пустые строки там был BR, вот его удалять.
Это можно настроить.
// Не нужна авто-расстановка
$this->oJevix->cfgSetTagNoAutoBr(array('ul','ol','li','object')); в Text.class.php
конечно можно, но хотелось бы что бы это было в LS 0.4, ведь это правильно, зачем лишние BR там где они совершенно не нужны!
kachayev, я сейчас ничего не перетягиваю я сейчас говорю за LS 0.4 в котором есть эта проблема, т.ё. как бы сообщаю о недочёте)
Да, действительно так работает. Но вот если так:
то после заголовка H5 ставится BR
Rстати в исключения ещё следует добавить и теги «blockquote», «pre» и «img» (с изображением нужно для того что бы когда ставили выравнивание слева или справа то картинку обтекал текст, ну и всё таки для XHTML 1.0 Strict правильно не align=«left/right», а style=«float: left/right;»
<h4>tyuytu</h4>
<h5>yuyyu</h5>
<ul>
<li>tryu</li>
</ul>
<ol>
<li>tyyyytu</li>
</ol>то после заголовка H5 ставится BR
Rстати в исключения ещё следует добавить и теги «blockquote», «pre» и «img» (с изображением нужно для того что бы когда ставили выравнивание слева или справа то картинку обтекал текст, ну и всё таки для XHTML 1.0 Strict правильно не align=«left/right», а style=«float: left/right;»
Хотя с вырезыванием br для img возможно не прав, зависит от того кто как вставляет картинку, если так:
то да появится br и будет мешать.
Ну а если так вставлять:
то всё хорошо
<img src="http://livestreet/uploads/images/0/0/0/0/0/1/2009/11/27/2a1906.jpg" align="left" alt="" />
текст текст текстто да появится br и будет мешать.
Ну а если так вставлять:
<img src="http://livestreet/uploads/images/0/0/0/0/0/1/2009/11/27/2a1906.jpg" align="left" alt="" />текст текст текстто всё хорошо
Помогите плз. Следовал инстукциям, всё получилось, но не знаю где напортачил, от чего мне выдает в коментах информацию об ошибке: Fatal error: Smarty error: [in actions/ActionBlog/comment.tpl line 148]: syntax error: invalid attribute name: '$showShortPanel' (Smarty_Compiler.class.php, line 1545) in /home/www/z128665/htdocs/classes/lib/external/Smarty-2.6.19/libs/Smarty.class.php on line 1092
Облазил все файлы которые указаны в инве… и ни чего…
Что мне делать?
Облазил все файлы которые указаны в инве… и ни чего…
Что мне делать?
Комментарии (37)
RSS свернуть / развернуть