Next Generation CMS :: Форум поддержки

Заинтересовала наша система? Тогда этот форум для Вас!

rss

Вы не зашли.

Объявление

#26 2013-03-19 22:59:10

irbees2008
Пользователь
Откуда: Шахтинск
Зарегистрирован: 2012-03-14
Сообщений: 2271
Рейтинг :   98 
Профиль  Вебсайт

Re: syntax_highlighter :: Подсветка синтаксиса в шаблонах

kt2k написал:

irbees2008, я знаю только как попасть в mainblock переменную которая содержит контент страницы, по аналогии с simple_title плагина, там он берет переменную title а можно взять mainblock в нем html который в шаблоне именуется {mainblock}

покажи такой вариант

Неактивен

 

#27 2013-03-19 23:11:14

kt2k
Пользователь
Зарегистрирован: 2008-10-13
Сообщений: 53
Рейтинг :   
Профиль

Re: syntax_highlighter :: Подсветка синтаксиса в шаблонах

irbees2008,
В функцию, добавь  $template а там будет доступен

Код:

global $template;
$template['vars']['mainblock']

все это в Acts: index

Неактивен

 

#28 2015-01-04 21:32:44

infinity237
Модератор
Откуда: Russia, Moscow
Зарегистрирован: 2008-11-09
Сообщений: 2674
Рейтинг :   174 
Профиль  Вебсайт

Re: syntax_highlighter :: Подсветка синтаксиса в шаблонах

Хак для добавления fullscreen фичи для редактора.
Пример:  http://codemirror.net/demo/fullscreen.html

1. В syntax_highlighter.js
Найти:

Код:

tabMode:"indent"

Добавить ниже:

Код:

,extraKeys: {"F11": function(cm) {cm.setOption("fullScreen", !cm.getOption("fullScreen"));},"Esc": function(cm) {if (cm.getOption("fullScreen")) cm.setOption("fullScreen", false);}}

2. В tags.tpl
Найти:

Код:

<script type="text/javascript" src="plugins/syntax_highlighter/tpl/js/codemirror-compressed.js"></script>

Добавить ниже:

Код:

<link rel="stylesheet" href="plugins/syntax_highlighter/tpl/addon/display/fullscreen.css">
<script src="plugins/syntax_highlighter/tpl/addon/display/fullscreen.js"></script>

3. Содержимое fullscreen.css

Код:

.CodeMirror-fullscreen {
  position: fixed;
  top: 0; left: 0; right: 0; bottom: 0;
  background: #FFFFFF; 
  height: auto;
  width: auto;
  z-index: 9;
}

4. Содержимое fullscreen.js из http://codemirror.net/addon/display/fullscreen.js

Неактивен

 

#29 2015-01-05 16:28:56

irbees2008
Пользователь
Откуда: Шахтинск
Зарегистрирован: 2012-03-14
Сообщений: 2271
Рейтинг :   98 
Профиль  Вебсайт

Re: syntax_highlighter :: Подсветка синтаксиса в шаблонах

infinity237 написал:

Хак для добавления fullscreen фичи для редактора.

Класс
Кому не понятно,объясняю,при редактировании шаблона в админке,при нажатии F11 ,редактор развернется на весь экран монитора,чтобы свернуть жмем Esc.
1. В syntax_highlighter.js
Найти:
tabMode:"indent"
добавить запятую и добавить ниже:
extraKeys: {"F11": function(cm) {cm.setOption("fullScreen", !cm.getOption("fullScreen"));},"Esc": function(cm) {if (cm.getOption("fullScreen")) cm.setOption("fullScreen", false);}}

Отредактированно irbees2008 (2015-01-05 19:53:14)

Неактивен

 

#30 2015-01-09 00:42:53

vitaly
Администратор
Откуда: Россия
Зарегистрирован: 2008-10-08
Сообщений: 2785
Рейтинг :   115 
Профиль

Re: syntax_highlighter :: Подсветка синтаксиса в шаблонах

Решил проблему по другому - добавил CodeMirror в код движка и подключил его для редактирования шаблонов.
Проверяйте.

Неактивен

 

#31 2015-01-19 05:57:14

Zemlemer
Пользователь
Откуда: Украина
Зарегистрирован: 2012-07-27
Сообщений: 271
Рейтинг :   25 
Профиль  Вебсайт

Re: syntax_highlighter :: Подсветка синтаксиса в шаблонах

vitaly написал:

Решил проблему по другому - добавил CodeMirror в код движка и подключил его для редактирования шаблонов.
Проверяйте.

проверил, работает. Только стили пришлось ковырять:
1. шрифт мелковат
2. подсветка тэгов тем же цветом, что и аттрибутов (и то и другое зеленым, в плагине тэги были зеленым, аттрибуты - синим).

Неактивен

 

#32 2015-01-19 07:45:46

vitaly
Администратор
Откуда: Россия
Зарегистрирован: 2008-10-08
Сообщений: 2785
Рейтинг :   115 
Профиль

Re: syntax_highlighter :: Подсветка синтаксиса в шаблонах

Zemlemer, если есть конкретные идеи-дополнения, то пиши сразу сюда smile

Неактивен

 

#33 2015-01-19 07:56:37

irbees2008
Пользователь
Откуда: Шахтинск
Зарегистрирован: 2012-03-14
Сообщений: 2271
Рейтинг :   98 
Профиль  Вебсайт

Re: syntax_highlighter :: Подсветка синтаксиса в шаблонах

Zemlemer написал:

vitaly написал:

Решил проблему по другому - добавил CodeMirror в код движка и подключил его для редактирования шаблонов.
Проверяйте.

проверил, работает. Только стили пришлось ковырять:
1. шрифт мелковат
2. подсветка тэгов тем же цветом, что и аттрибутов (и то и другое зеленым, в плагине тэги были зеленым, аттрибуты - синим).

Ну стили можно и самому отредактировать,там в редакторе только небольшие правки делать,а так нормально,все остальное редактирую обычно через ftr на компе

Неактивен

 

#34 2015-01-22 15:56:59

Zemlemer
Пользователь
Откуда: Украина
Зарегистрирован: 2012-07-27
Сообщений: 271
Рейтинг :   25 
Профиль  Вебсайт

Re: syntax_highlighter :: Подсветка синтаксиса в шаблонах

vitaly написал:

Zemlemer, если есть конкретные идеи-дополнения, то пиши сразу сюда smile

у CodeMirror есть отдельный js для поддержки html / css - html mixed mode. Предлагаю его добавить в подсветку.

Неактивен

 

#35 2015-01-22 23:23:22

vitaly
Администратор
Откуда: Россия
Зарегистрирован: 2008-10-08
Сообщений: 2785
Рейтинг :   115 
Профиль

Re: syntax_highlighter :: Подсветка синтаксиса в шаблонах

Zemlemer написал:

у CodeMirror есть отдельный js для поддержки html / css - html mixed mode. Предлагаю его добавить в подсветку.

Он есть, но я не разобрался как именно его подключить.
Подскажешь?

Неактивен

 

#36 2015-01-23 23:33:32

Zemlemer
Пользователь
Откуда: Украина
Зарегистрирован: 2012-07-27
Сообщений: 271
Рейтинг :   25 
Профиль  Вебсайт

Re: syntax_highlighter :: Подсветка синтаксиса в шаблонах

С подсветкой одновременно всех синтаксисов в одном файле не разобрался, сделал чуть проще.

Код:

                var tmode;                                
                if (ngFileName.indexOf(".tpl") > 0) {tmode = "text/html"};
                if (ngFileName.indexOf(".css") > 0) {tmode = "text/css"};
                if (ngFileName.indexOf(".js") > 0) {tmode = "javascript"};
                
                var cm = CodeMirror.fromTextArea(
                    document.getElementById('fileEditorSelector'), {
                                lineNumbers: true,
                                mode: tmode,                            
                       //         lineWrapping: true,
                                styleActiveLine: true,
                                tabMode: "indent",
                                extraKeys: {
                                    "F11": function(cm) {cm.setOption("fullScreen", !cm.getOption("fullScreen"));},
                                    "Esc": function(cm) {if (cm.getOption("fullScreen")) cm.setOption("fullScreen", false);}
                                }

В таком виде - посвечивает нормально css в файлах стилей, html в файлах шаблонов (включая проверку незакрытых тегов) и javascript в файлах .js.

Сжатый файл codemirror.js с нужными модулями прилагаю в архиве, сгенерил его в генераторе: http://codemirror.net/doc/compress.html
(добавил режимы htmlmixed, css, javacsript, xml - по идее htmlmixed зависит от этих трех)
Файл стилей там же (в нем изменил только размер шрифта).

upd. правда, с этим моим фиксом полноэкранный режим сломался sad  но, думаю, смысл понятен.

Отредактированно Zemlemer (2015-01-24 00:05:45)

Неактивен

 

#37 2015-01-24 23:03:22

vitaly
Администратор
Откуда: Россия
Зарегистрирован: 2008-10-08
Сообщений: 2785
Рейтинг :   115 
Профиль

Re: syntax_highlighter :: Подсветка синтаксиса в шаблонах

Zemlemer, быстрого решения не нашел.
Моя сборка содержит необходимые mode'ы, но они не срабатывают.
Будем разбираться позже.

Неактивен

 

#38 2015-01-26 00:39:06

Zemlemer
Пользователь
Откуда: Украина
Зарегистрирован: 2012-07-27
Сообщений: 271
Рейтинг :   25 
Профиль  Вебсайт

Re: syntax_highlighter :: Подсветка синтаксиса в шаблонах

Довел до ума свое решение, предлагаю протестировать.

+ Подсветка кода в файлах .tpl, .css, .js, .ini
+ Работает полноэкранный режим.

Для включения необходимо:

1. Заменить файлы /lib/codemirror на приложенные

2. Заменить файл /engine/skins/default/tpl/templates.tpl на приложенный

Отредактированно Zemlemer (2015-01-26 01:07:51)

Неактивен

 

Board footer

Powered by FluxBB

[ Generated in 0.016 seconds, 23 queries executed ]