Хаки и Скрипты Next Generation CMS

Хак - Добавление в редактор кнопочек цвета и размера шрифта

irbees2008 irbees2008 Опубликовано - 5 - апреля Интерфейс
4226 - 4
  • Автор: CyberMama
  • Обсудить на :на форуме
  • Адаптировал: CyberMama
  • Уровень сложности исполнения: это делается простым копированием и нажиманием кнопки

В стандартном редакторе ng всё-таки не хватает выбора цвета и особенно размера шрифта. А цвет текста хоть и был заложен но мы и это упростим.

Приступим.
1. в engine/skins/default/tpl qt_news qt_static (qt_editcomm qt_pmmes - по желанию) в желаемом месте добавляем

Код:
<select name="txtcolor" size="1" onChange="insertfortext('color',document.form.txtcolor[document.form.txtcolor.selectedIndex].value,{area});">
<option value="#000000" selected style='background-color:#000000;height:15px;width:40px;'>Цвет
<option value="#408080" style='background-color:#408080;height:15px;width:40px;'>
<option value="#C0C0C0" style='background-color:#C0C0C0;height:15px;width:40px;'>
<option value="#730200" style='background-color:#730200;height:15px;width:40px;'>
<option value="#231800" style='background-color:#231800;height:15px;width:40px;'>
<option value="#044302" style='background-color:#044302;height:15px;width:40px;'>
<option value="#0D09A3" style='background-color:#0D09A3;height:15px;width:40px;'>
<option value="#808040" style='background-color:#808040;height:15px;width:40px;'>
<option value="#800080" style='background-color:#800080;height:15px;width:40px;'>
<option value="#444444" style='background-color:#444444;height:15px;width:40px;'>
<option value="#FF0400" style='background-color:#FF0400;height:15px;width:40px;'>
<option value="#EFE800" style='background-color:#EFE800;height:15px;width:40px;'>
<option value="#05EF00" style='background-color:#05EF00;height:15px;width:40px;'>
<option value="#0206FF" style='background-color:#0206FF;height:15px;width:40px;'>
<option value="#AE08EF" style='background-color:#AE08EF;height:15px;width:40px;'>
<option value="#FF8C8A" style='background-color:#FF8C8A;height:15px;width:40px;'>
<option value="#FF80FF" style='background-color:#FF80FF;height:15px;width:40px;'>
<option value="#FFCCCC" style='background-color:#FFCCCC;height:15px;width:40px;'>
<option value="#FFCC99" style='background-color:#FFCC99;height:15px;width:40px;'>
<option value="#000080" style='background-color:#000080;height:15px;width:40px;'>
<option value="#808080" style='background-color:#808080;height:15px;width:40px;'>
<option value="#D5CCBB" style='background-color:#D5CCBB;height:15px;width:40px;'>
<option value="#DDDDDD" style='background-color:#DDDDDD;height:15px;width:40px;'>
<option value="#FBFF73" style='background-color:#FBFF73;height:15px;width:40px;'>
<option value="#7CFF7D" style='background-color:#7CFF7D;height:15px;width:40px;'>
<option value="#A6BEFF" style='background-color:#A6BEFF;height:15px;width:40px;'>
<option value="#FFFFFF" style='background-color:#FFFFFF;height:15px;width:40px;'>
</select>
<select name="txtsize" size="1" onChange="insertfortext('size',document.form.txtsize[document.form.txtsize.selectedIndex].value,{area});">
<option value="1" style="font-size:1;"> 1
<option value="2" style="font-size:2;"> 2
<option value="3" selected style="font-size:3"> 3
<option value="4" style="font-size:4"> 4
<option value="5" style="font-size:5;"> 5
</select>
Цвета, размеры шрифтов настроить по вкусу.

2.Для релиза 0.93engine/includes/js/function.js ,для SVN lib/function.js добавить в самый конец после }
Код:
function insertfortext(teg,val,field){
try { var msgfield = document.getElementById((field=='')?'content':field);
} catch (err) {
return false;
}
var open ='['+teg+'="'+val+'"]';
var close='[/'+teg+']';
// IE support
if (document.selection && document.selection.createRange){
msgfield.focus();
sel = document.selection.createRange();
sel.text = open + sel.text + close;
msgfield.focus();
}
// Moz support
else if (msgfield.selectionStart || msgfield.selectionStart == "0"){
var startPos = msgfield.selectionStart;
var endPos = msgfield.selectionEnd;
msgfield.value = msgfield.value.substring(0, startPos) + open + msgfield.value.substring(startPos, endPos) + close + msgfield.value.substring(endPos, msgfield.value.length);
msgfield.selectionStart = msgfield.selectionEnd = endPos + open.length + close.length;
msgfield.focus();
}
// Fallback support for other browsers
else {
msgfield.value += open + close;
msgfield.focus();
}
return true;}
3. engine/includes/classes/parse.class.php
например после
Код:
$content    =    preg_replace("#\[br\]#is", "<br/>", $content);

Добавить
Код:
while (preg_match("#\[size=\"(.+?)\"\](.*?)\[/size\]#is", $content, $null))

$content = preg_replace("#\[size=\"(.+?)\"\](.*?)\[/size\]#is", '<font size="$1">$2</font>', $content);
Вот и все, все выделения цветомсделаны в этой статье сделаны этим хаком.

Можешь почитать и вот эту статейку "Немного о кнопках"

Опрос

Ваше мнение

Ваше отношение к TWIG
Результаты

Последние комментарии

Теги

Anything in here will be replaced on browsers that support the canvas element

Статистика

  • Caйту: 4375 дней
  • Новостей: 566
  • Комменты: 257
  • Зарегистрированно : 661
  • Онлайн всего: [8]
  • Гости: [7]
  • Поисковики: [1] Google
  • Были сегодня : [2] Яндекс, Google
  • SQL запросов: 30
  • Генерация страницы: 0.384сек
  • Потребление памяти: 5.171 Mb 
  •   Яндекс.Метрика