Выравнивание текста div`ами.

Озаботили меня пользователи пожеланиями выравнивания текста влево-вправо-по_центру. Оказалось, это просто.

Единственное, что меня несколько коробит — приходится пахать движок, а как оформить в плагине замену метода из engine я еще не догоняю…

Итак:

1 шаг. В файл /engine/modules/text/Text.class.php в функции JevixConfig() в массив $this->oJevix->cfgAllowTags добавляем тег 'div' и разрешаем для него атрибут align:

$this->oJevix->cfgAllowTagParams('div', array('align' => array('right', 'left', 'center')));


Теперь тег <div align=...> будет работать.

2 шаг.Ну и дальше совсем просто: В форму добавления-редактирования топика добавляем кнопки выравнивания (файл /templates/skin/ваш_шаблон/actions/ActionTopic/add.tpl ):

<!--  Начало -->
	 	<a href="#" onclick="lsPanel.putTagAround('topic_text','div align=left','div'); return false;" class="button"><img src="{cfg name='path.static.skin'}/images/panel/text_align_left.png" width="20" height="20" title="влево"></a>	 			
	 	 
	 	<a href="#" onclick="lsPanel.putTagAround('topic_text','div align=right','div'); return false;" class="button"><img src="{cfg name='path.static.skin'}/images/panel/text_align_right.png" width="20" height="20" title="по центру"></a>	 			
	 	 
	 	<a href="#" onclick="lsPanel.putTagAround('topic_text','div align=center','div'); return false;" class="button"><img src="{cfg name='path.static.skin'}/images/panel/text_align_center.png" width="20" height="20" title="вправо"></a>	 			
	 	 

<!--  Конец -->


И последний штрих — в папочку /templates/skin/Nj/images/panel заливаем соответствующие иконки.

Обратите внимание — если вы используете плагины, подменяющие файл шаблона add.tpl, то редактировать, конечно, придется файл из шаблона плагина.

Мне одному кажется что «выравнивание img по центру», нужно либо встроить в движок, либо упаковать в плагин?

Довольно странно что в движке до сих пор нет этой функции.

Тем не менее elsinor описал рабочий, ручной способ.


Читать дальше →