Немного предыстории...
В Alto, как и в LS, есть сдоровенная прореха в области редатора, хотя это не считают проблемой, однако это проблема.
Дело в том, что движок генерирует такой код статьи:
Такой текст < br >
Текст <br>
такой
С точки зрения семантики это не правильно, да и если честно не удобно оперировать br, об этом говорят много, но почему-то ничего не меняется.
Этот рецепт создан для визульного редактора tinimce
Что надо сделать?первое, что нам надо исправить это фильтрацию jevix. Если честно мне не понятно до сих пор почему теги абзацов блокируются jevix по умолчанию, по этому мы сделаем с точностью до наоборот заблокируем br.
в файле:
/app/config/jevix.php
<?php
return array(
'default' => array(
// Разрешённые теги
'cfgAllowTags' => array(
// вызов метода с параметрами
array(
array('p', 'ls','cut','a', 'img', 'i', 'b', 'u', 's', 'small', 'video', 'em', 'strong', 'nobr', 'li', 'ol', 'ul', 'sup', 'abbr', 'sub', 'acronym', 'h2', 'h3', 'h4', 'h5', 'h6', 'hr', 'pre', 'code', 'codeline', 'object', 'param', 'embed', 'blockquote', 'iframe','table','tbody','thead','th','tr','td'),
),
),
// Коротие теги типа
'cfgSetTagShort' => array(
array(
array('img', 'hr', 'cut','ls' )
),
),
// Теги, после которых необходимо пропускать одну пробельную строку
'cfgSetTagBlockType' => array(
array(
array('h2','h3','h4','h5','h6','ol','ul','blockquote','pre','table','iframe','p')
)
),
),
);
// EOF
Вообще вы можете настроить на свой цвет и вкус... это то, что мне подходит в данный момент.
После этого у нас появилась возможность публиковать теги абзацов < p >. Кстати теперь теги будут работать везед в том числе и в редакторе markitup, теги абзаца проставляются в этом редакторе через ctrl+enter.
Теперь нам надо найти конфиг файла редактора tinimce, это нам нужно для очень важной штуки. Дело все в том, что в конфиг файле указан запрет на использование тегов абзаца «p», и по умочанию включен тег перевода строик «br».
У меня достаточно много времени ушло на поиск именно правильного конфига, из-за перемещения библиотек.
Правильный путь к конфигу:
/common/templates/frontend/libs/js/engine/settings.js
Находим параметры:
force_p_newlines и ставим его в положение «true».
force_br_newlines ставим в положение false или можете просто удалить эту строку.
Все теперь редактор tinimce нормально работает с абзацами. Осталось понять как запустить массовую перегенерацию статей согласно параметрам прописанным в jevix?
Что касается перегенерации статей, то писать надо, конечно, специально код под это дело. Проще всего плагин на коленке накидать, который выполнит перебор всех статей и каждую обработает:
как нибудь посижу поколдую с jevix по поводу выравниваний текста и картинок, так как правила на столько все режут, что ни какие стили к тексту не применяются толком.
На счет этого плагина который запускает перегенерацию статей, я бы сказал, что это должен быть такой инструмент, на уровне движка, такой же как пересчет кармы и прочего.
Так как это служебная функция по сути.