Как сделать разбиение на абзацы в Alto 1.0

Эта статья призвана немного исправить проблемы ALTO в области редактора контента.
Немного предыстории...
В 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?

Похожие статьи

  • Версия 1.1.8 — багфиксы и немного новенького
    В версии Alto CMS 1.1.7 1.1.8, в первую очередь, были исправлены некоторые ошибки предыдущей версии. Кроме того, добавлен новый функционал — вставка счетчиков и прочих javascript-кодов через админку, без...
  • Размер загружаемой картинки через редактор
    Всех приветствую! Когда загружаешь картинку в редакторе, то в ссылку автоматически добавляется параметр width="100%" <img src="http://moysait....
  • Наводим порядок в редакторе TinyMCE 4
    Простите, но я зае, намучался с этим встроенным TinyMCE 4.0. Поэтому разрешите выложить решения проблем, которые мучали лично меня, возможно и кого-то ещё. Какие были проблемы: 1) При вставке текста из другого...
  • Загрузка картинок в топик с обрезкой
    При загрузке изображений для фото профиля или аватара в окне работы с изображением есть функция обрезки. Но вот в загрузчике картинок при создании топиков такой возможности нет, что, на мой взгляд, не совсем удобно....

3 комментария

+1
Вот за это — премного благодарен! Думаю, не будешь возражать, если утащу все это в реализацию?

Что касается перегенерации статей, то писать надо, конечно, специально код под это дело. Проще всего плагин на коленке накидать, который выполнит перебор всех статей и каждую обработает:
// берем статью
$oTopic = $this->Topic_GetTopicById($sTopicId);
// парсим еще раз основной текст...
$oTopic->setText($this->Text_Parser($oTopic->getText())); 
 // ...и короткий текст
$oTopic->setTextShort($this->Text_Parser($oTopic->getTextShort()));
// и сохраняем топик
$this->Topic_UpdateTopic($oTopic); 
0
Собственно для этого и выложил)
как нибудь посижу поколдую с jevix по поводу выравниваний текста и картинок, так как правила на столько все режут, что ни какие стили к тексту не применяются толком.

На счет этого плагина который запускает перегенерацию статей, я бы сказал, что это должен быть такой инструмент, на уровне движка, такой же как пересчет кармы и прочего.
Так как это служебная функция по сути.
0
Спасибо, что разобрался до конца, я был близок))
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.