А что у нас тут?

Мастхевы

Всячина


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



Хостинг!!!


главная Блог 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: В скором времени, когда будет свободная минутка - разберусь как правильно поставить (по рекомендациям разработчика) и отпишусь.

 
⇑ Наверх