Мастхевы

Всячина


Домены только тут!



Хостинг!!!



службы мониторинга серверов

Авторизация



Наши работы

главная Блог Joomla Прикручиваем подсветку кода для TinyMCE 3.x Joomla 1.5.x

Прикручиваем подсветку кода для TinyMCE 3.x Joomla 1.5.x

Категория: Joomla
Автор: lostprophet   
17 августа 2011

Стала передо мной задача прикрутить подсветку кода в контенте для этого сайта. Попробовал включить родной плагин Geshi (Content - Code Hightlighter (GeSHi)), результат меня абсолютно не порадовал.

Немного погуглив нашел плагин rj_insertcode и сразу же попробовал установить. Но...


Сходу установить не получилось, получаем ошибку ))

  • Плагин Установить: No plugin file specified
  • Установить Плагин: Ошибка


Также на странице есть информация, как ставить его под TinyMCE

Required Installation Steps

  TinyMCE 3.x
    1) Unzip the .zip file containing the plugin.
    2) Copy the rj_insertcode folder into the TinyMCE plugins folder.
    3) Register the plugin during your call to tinyMCE.Init(). 
       a) Add 'rj_insertcode' to the plugins list. For example
          plugins: "myPlugin1, myPlugin2, rj_insertcode"
       b) Add 'rj_insertcode' to a toolbar row in the theme list. For example
          theme_advanced_buttons1: "myButton1, myButton2, rj_insertcode"


Попробовал, не получилось. Попробовал еще раз, тоже не получилось. Уже отчаявшись я зашел в админку в плагин TinyMCE и вставил строчки вызова плагина в поля во вкладке "Расширенные параметры"

Блин, как же все просто оказалось. Использование очень удобное.
Редактор и кнопка:

Окно вставки кода:

где,
1 - Использовать стили оформления родные, либо же прописать самому в css
2 - Синтаксис языка
3 - Заголовок, который будет отображаться
4 - Показывать ли номера строк слева
5 - С какого номера будет начинаться нумерация
6 - Поле ввода кода

Добавлю, что перед этим архив, скачанный с сайта нужно распаковать и залить в plugins/editors/tinymce/jscripts/tiny_mce/plugins

Ну, и сам результат, собственно

Код php
1
2
<?php foreach ($list as $item) :  ?>
<?php echo 'Тралала'; ?>
html
1
2
3
4
5
<ul>
	<li>
		<a href="/">123</a>
	</li>
</ul>

Для удобства можно добавить в css своего шаблона оформление

css
1
2
3
4
/**** codehinter plugin styles ****/
#content .php, #content .html4strict, #content .css {
background: #c5d0d5;
}

На этом все, use it =)

P.S. А кому не понравится большое количество исходящих ссылок со страницы на спецификации можно сделать так:
файл plugins/editors/tinymce/jscripts/tiny_mce/plugins/rj_insertcode/geshi/geshi.php, строки 3498 - 3506 заменить на это

php
1
2
3
4
5
6
7
8
9
10
11
        if (isset($this->link_styles[GESHI_LINK])) {
            if ($this->use_classes) {
                $stuff_to_parse = str_replace('<|UR1|', '<a' . $this->link_target . ' rel="nofollow" href=', $stuff_to_parse);
            } else {
                $stuff_to_parse = str_replace('<|UR1|', '<a' . $this->link_target . ' style="' . $this->link_styles[GESHI_LINK] . '" rel="nofollow" href=', $stuff_to_parse);
            }
        } else {
            $stuff_to_parse = str_replace('<|UR1|', '<a' . $this->link_target . ' rel="nofollow" href=', $stuff_to_parse);
        }
 
 

Таким образом добавим rel="nofollow" к нашим ссылочкам.

UPD: В скором времени, когда будет свободная минутка - разберусь как правильно поставить (по рекомендациям разработчика) и отпишусь.

 
⇑ Наверх