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

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

irbees2008 irbees2008 Опубликовано - 5 - апреля Интерфейс
4742 - 0
  • Автор: 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);
Вот и все, все выделения цветомсделаны в этой статье сделаны этим хаком.

Можешь почитать и вот эту статейку "Выводим иконки типов файлов возле каждой ссылки на чистом CSS"

Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.

Опрос

Ваше мнение

На каком движке ваш сайт?
Результаты

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

Теги

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

Статистика

  • Caйт cущecтвуeт: 4746 дней
  • Статических страниц: 10
  • Категорий: 28
  • Новостей: 622
  • Неопубликованных новостей: 8
  • Комментариев: 257
  • Зарегестрированных пользователей: 779
  • Онлайн всего: [6]
  • Гости: [6]
  • Сегодня нас посетили: [6] Larrytitly, irbees2008, Google, dankeanke, Яндекс, Яндекс
  • SQL запросов: 39
  • Генерация страницы: 0.085сек
  • Потребление памяти: 13.698 Mb 
  •   Яндекс.Метрика