Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

[Поддержка] Редактор кода, файлов и папок с подсветкой синтаксиса (codemirror) на Ajax


Yaron

Recommended Posts

Редактор кода, файлов и папок с подсветкой синтаксиса (codemirror) на Ajax


Редактор кода, файлов и папок с подсветкой синтаксиса (codemirror) на Ajax


О редакторе

Редактор кода с подсветкой синтаксиса на Ajax позволяет добавлять/редактировать/удалять файлы и папки прямо в вашей админке интернет магазина. Вы без труда сможете редактировать код php/js/html/css/txt/xml/sql/ini без использования редакторов в окне браузера. Теперь не нужно ставить дополнительное программное обеспечение на компьютер, настраивать ftp подключение, ждать загрузки. Теперь в любой точке планеты, где есть интернет и компьютер (или планшет) Вы сможете отредактировать код интернет-магазина.

Редактор совместим со всеми версиями ocstore 1.5.0-1.5.х

Преимущества редактора EditorCodeAjax

  1. Высокая скорость работы.
  2. Возможность редактирования кода из любой точки планеты, где есть интернет.
  3. Не нужно настраивать ftp доступ и устанавливать дополнительное ПО на компьютер
  4. В админ панели сайта вы можете делать абсолютно все с сайтом.
  5. Купив один раз такой редактор, вы сможете использовать его на всех своих сайтах на ocstore и opencart.
  6. Асинхронная загрузка
  7. Помощник кода помогает вам не забывать ставить скобки и находить нужные блоки
  8. Новые возможности, которые будут появляться у редактора, будут доставаться вам бесплатно.

Особенности редактора

  1. Редактор сам распознает загружаемый код и подсвечивает его в зависимости от расширений, таких как php/js/tpl/css.
  2. Редактор умеет добавлять закрывающие теги и подсвечивать их при клике
  3. Редактор умеет добавлять закрывающие скобки и подсвечивать их при клике
  4. Редактор понимает табуляцию и нумерует каждую строку для удобства
  5. Редактор имеет разграничение прав доступа на просмотр и редактирование.
  6. Редактор умеет делать с папками и файлами:

  • открывать
  • создавать
  • сохранять
  • загружать
  • вырезать
  • копировать
  • переименовывать

  1. Редактор понимает и распознает кодировку UTF-8 и win-1251
  2. Асинхронно выполняет все манипуляции без перезагрузки страницы с использованием Ajax
  3. Редактор совместим с версиями ocstore 1.5.x

Установка редактора

1.В архиве после скачивания будет находится 2 папки:

  • для версии ocstore 1.5.0-1.5.1.1
  • и для остальных версий, начиная от 1.5.1.3-1.5.х

В зависимости от вашей версии возьмите папку admin и загрузите её на ваш сервер. При запросе "заменить файлы" нажмите Да.

При копировании будут заменены лишь картинки для отображения и скопированы файлы редактора.

2. Зайдите в админ панель сайта в раздел Группы пользователей и установите флажок для чтения и редактирования для роли АДМИН.

Внимание: просмотр редактора давайте только ролям, которые являются админами, иначе вы откроете доступ к файлам config.php

3. Чтобы войти в редактор вам нужно настроить ссылку для входа. Вы можете добавить ссылку в любой пункт меню или сразу в главное меню.

А пока, чтобы попасть в редактор, перейдите по ссылке:

Ссылка, в которой текст выделе красным и есть путь к редактору. Остальные параметры зависят от вашего сайта.

Создание пункта меню в редактор:

Откройте любой редактор кода, будь то в админ панели или ваш другой.

1. Зайдите в файл: admin/controller/common/header.php

и найдите строку примерно под номером 104:

$this->data['text_zone'] = $this->language->get('text_zone');

После неё добавьте строку:

$this->data['text_editor'] = $this->language->get('text_editor');

Найдите строку

$this->data['zone'] = $this->url->link('localisation/zone', 'token=' . $this->session->data['token'], 'SSL');

После неё добавьте строку:

$this->data['editor'] = $this->url->link('tool/editor', 'token=' . $this->session->data['token'], 'SSL');

Сохраните файл.

2. Зайдите в файл: admin/language/russian/common/header.php

И после строки:

$_['text_zone']                        = 'Регионы';

Добавьте строку:

$_['text_editor']                   	= 'Редактор кода';

Сохраните файл.

Для английского языка повторите процедуру по пути admin/language/english/common/header.php если вам нужно

3. Зайдите в файл: admin/view/template/common/header.tpl

найдите код:

<ul class="right" style="display: none;">      <li id="store"><a href="<?php echo $store; ?>" target="_blank" class="top"><?php echo $text_front; ?></a>        <ul>          <?php foreach ($stores as $stores) { ?>          <li><a href="<?php echo $stores['href']; ?>" target="_blank"><?php echo $stores['name']; ?></a></li>          <?php } ?>        </ul>      </li>      <li><a class="top" href="<?php echo $logout; ?>"><?php echo $text_logout; ?></a></li>    </ul>

Замените его на:

<ul class="right" style="display: none;">      <li><a class="top" href="<?php echo $editor; ?>"><?php echo $text_editor; ?></a></li>          <li id="store"><a href="<?php echo $store; ?>" target="_blank" class="top"><?php echo $text_front; ?></a>        <ul>          <?php foreach ($stores as $stores) { ?>          <li><a href="<?php echo $stores['href']; ?>" target="_blank"><?php echo $stores['name']; ?></a></li>          <?php } ?>        </ul>      </li>      <li><a class="top" href="<?php echo $logout; ?>"><?php echo $text_logout; ?></a></li>    </ul>

Сохраните файл и обновите страницу в админке. Справа наверху появится пункт меню Редактор кода

Авторы: Yaron и Вова

Библиотеки: jstree и codemirror

Настройка стилей редактора

Все стили подсветки и размеров редактора расположены в файле: admin/view/javascript/jquery/codemirror/lib/codemirror.css

Поэтому подсветку вы можете настроить под себя

Скрытие файлов на чтение

Если вы не хотите, чтобы кто-либо имеющий доступ к вашему редактору на чтение не смог видеть какие либо файлы, то вы можете их добавить в список запрета на чтение.

Для этого необходимо:

  • Открыть файл редактора по пути: admin/controller/tool/editor.php
  • Добавить название файла после строки 6:
  • class ControllerToolEditor extends Controller {	//файлы, которым запрещен доступ на чтение    private $files = array(            "editor.php",            "editor.tpl",            //здесь добавляете файлы через запятую    );


  • Сохранить


 

  • +1 1
Надіслати
Поділитися на інших сайтах

очень, очень, очень и очень крутая штукенция. Автору респект.

Спасибо.

Надіслати
Поділитися на інших сайтах

Автору всю малину заморозил :oops:

 

А автор разве не видел? :cry:

Надо перед началом продаж обязательно ознакомиться с конкурентами.

А конкурент помимо того что бесплатный так еще и по функционалу лучше.

А вообще обычно такие модули сделаны на базе бесплатных open source редакторов. (например как SQL Buddy и т.п.)

А сам модуль (который и модулем назвать нельзя -  всего лишь "оболочка" этих PHP-JS "редакторов")

Основа модуля (open source): codemirror и jstree

 

Получилось зря потраченное время... вот это конечно плохо для разработчика, но будет урок :(

Надіслати
Поділитися на інших сайтах

А автор разве не видел? :cry:

Надо перед началом продаж обязательно ознакомиться с конкурентами.

А конкурент помимо того что бесплатный так еще и по функционалу лучше.

А вообще обычно такие модули сделаны на базе бесплатных open source редакторов. (например как SQL Buddy и т.п.)

А сам модуль (который и модулем назвать нельзя -  всего лишь "оболочка" этих PHP-JS "редакторов")

Основа модуля (open source): codemirror и jstree

 

Получилось зря потраченное время... вот это конечно плохо для разработчика, но будет урок :(

 

Как я понимаю, не видел, раз сделал подобное.

Хотя может и автору время девать некуда, решил сделать аналог, но свой.

Надіслати
Поділитися на інших сайтах


Автору респект.

 

Честно говоря, не понял за что "автору респект". Ничего сложного\изящного в реализации не вижу. Лицензия не GPL.

Надіслати
Поділитися на інших сайтах

Пока эту тему не видел, мне даже в голову как-то не приходила возможность так работать с файлами из админки.

Хотя, SQLBuddy пользую регулярно и, как-бы, вышеупомянутая реализация тоже подразумевается не как какой-то "космос". Все очевидно.

"Респект", получается, за наводку. Буду юзать. Порой, как заметил kint выше, лень ftp подрубать ради одной строчки в стилях.

 

Только почему-то жутко чешутся руки самому покрутить основы. Не только с ОС приходится работать, а ну, как в других CMS нет таких модулей? ;)

Так что таки респект.

 

А Tom - да. Откайфоломил знатно 8D

Надіслати
Поділитися на інших сайтах

в бесплатной версии по ссылке не работает подсветка завершающих тегов хтмл. только скобки пхп подсвечивает.

а у автора этой темы светятся теги хтмл - очень полезно, т.к. общая проблема с лишними или недостающими завершающими тегами.

Надіслати
Поділитися на інших сайтах


Только почему-то жутко чешутся руки самому покрутить основы. Не только с ОС приходится работать, а ну, как в других CMS нет таких модулей? ;)

Так что таки респект.

В джумле реализованно, правда ток к шаблону и то не ко всем файлам

P.S.

Yaron

переводите на бесплатно и бех ионкуба.. наберёте кучу лайков и скачиваний - а там глядишь нацарапаете какой модуль и будет вам счастье

p.s.p.sович. 

- думаю чувствуете связь

 

Добавленно позже:

 Tom

Благодарю за ссылку но заметил там PRO версию того же модуля в описании

За 49.99 уёв......

 

Yaron, а pro версию в нагдаун слабо?)

или..  опишите разницу вашего модуля и буржуйского как бесплатного так и PRO)

Надіслати
Поділитися на інших сайтах


  • 1 month later...

Так глобально не думал, но учту при доработке и постараюсь реализовать

Надіслати
Поділитися на інших сайтах

  • 1 year later...
  • 5 years later...

Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз

×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.