X   Сообщение сайта
(Сообщение закроется через 2 секунды)

Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в данную темуНачать новую тему
> Руководство по клонированию модулей (Eleanor CMS 1.0 Alpha)
c0wb0y
сообщение 2011-10-24, 12:30
Сообщение #1
Любитель
Иконка группы

Группа: Партнеры
Сообщений: 165
Регистрация: 2008-12-13
Из: Казахстан

Репутация:   нет  
Всего: 2


Здравствуйте!
В одном из своих проектов я решил использовать последний на сегодняшний момент релиз Eleanor CMS 1.0 Alpha (см. дату моего поста). Для моих нужд мне понадобилось клонирование модуля - News > Files.
В этой теме я хочу рассказать как это сделать с применением текстового редактора Notepad++, т.к. возможно, это кому-то поможет.
Свое руководство я не буду слишком детально описывать, спускаясь до уровня домохозяек, поэтому опишу все действия по-этапно с описанием некоторых ключевых моментов.


1. Открываем папку modules в корне сайта, где расположены все модули системы.

2. Делаем дубль папки news и даем ей новое имя - files.

3. Открываем все имеющиеся файлы в текстовом редакторе (например в Notepad++ нужно просто перетянуть в его окно всю папку).

4. При помощи автозамены устанавливаем правила замены:

a) Найти: news
b) Заменить на: files
c) Ставим галку на "Учитывать регистр"
d) Нажимаем на "Заменить во всех открытых документах"

5. При помощи автозамены устанавливаем правила замены:

a) Найти: News
b) Заменить на: Files
c) Ставим галку на "Учитывать регистр"
d) Нажимаем на "Заменить во всех открытых документах"

6. Сохраняем все файлы (Меню "Файл" > "Сохранить все").

7. Все имеющиеся файлы в папке нашего нового модуля, имеющие в названиях слово News или news переименовываем на Files или files с соблюдением регистра!

8. В языковых файлах (которые оканчиваются на -russian.php) поменяйте все встречающиеся слова с корнем "новост" на новое название модуля вручную.
Для других языков также повторите аналогичные действия.

9. В папке uploads в корне системы создаем две пустых папки - files и temp_files (сюда будем сохранять прикрепления к постам модуля файлов).

10. Экспортируем из БД следующие таблицы (без содержания):
el_news
el_news_categories
el_news_categories_l
el_news_l
el_news_nt
el_news_tags

...и снова автозаменой меняем все слова news на files (в нижнем регистре).

Далее, где AUTO_INCREMENT=ставим единицу, и импортируем как SQL-запрос в нашу БД.

Таким образом у нас появятся следующие таблицы:
el_files
el_files_categories
el_files_categories_l
el_files_l
el_files_nt
el_files_tags

11. Клонирование настроек.
a) Панель администратора > Настройки > Делаем экспорт настроек (меню справа). Ставим галочку на пункте 'Настройки модуля "Новости"', экспортируем и сохраняем файл.
b) Открываем этот файл в редакторе и снова автозаменой меняем news на files. Меняем слово 'Новости' на 'Файлы'. Сохраняем изменения.
c) В том же разделе панели администратора, импортируем файл настроек (Импорт настроек).

12. Добавление модуля в систему.
a) Панель администратора > Управление > Управление модулями > Добавить модуль (меню справа).
b) Заполняем и выставляем все так, как это сделано в модуле новостей (можете открыть в соседней вкладке через редактирование модуля "Новости"), только с соответствующей заменой слов (news, новости).
Галочку "Защищенный модуль" - не ставим!
c) Сохраняем.

13. Чистим кэш (кнопка "Удалить кэш" на главной странице администратора).

14. Пользуемся!

Сообщение отредактировал c0wb0y - 2011-10-24, 12:32
Перейти в начало страницы
+Цитировать сообщение
Obscurum
сообщение 2012-02-21, 4:03
Сообщение #2
Заглянувший
Иконка группы

Группа: Eleanor user
Сообщений: 4
Регистрация: 2012-02-13

Репутация:   нет  
Всего: нет


После переправки и попытки импортировать el_files_nt.sql получаю это:
--------------------------------------------------------
Ошибка

SQL-запрос:

CREATE TABLE el_files_nt(
files mediumint( 8 ) unsigned NOT NULL ,
tag mediumint( 8 ) unsigned NOT NULL ,
PRIMARY KEY ( files, tag ) ,
KEY tag( tag )
) ENGINE = InnoDB DEFAULT CHARSET = utf8;

Ответ MySQL:
#1050 - Table 'el_files_nt' already exists
----------------------------------------------------------
...в чем может быть причина?
Перейти в начало страницы
+Цитировать сообщение
Alexander
сообщение 2012-02-21, 5:41
Сообщение #3
Eleanor developer
Иконка группы

Группа: Администраторы
Сообщений: 5 261
Регистрация: 2008-11-11
Из: Николаев
Версия системы: RC5

Репутация:   нет  
Всего: 67


Obscurum, вам же написали: таблица уже существует.
Перейти в начало страницы
+Цитировать сообщение
Alexander
сообщение 2013-01-15, 13:32
Сообщение #4
Eleanor developer
Иконка группы

Группа: Администраторы
Сообщений: 5 261
Регистрация: 2008-11-11
Из: Николаев
Версия системы: RC5

Репутация:   нет  
Всего: 67


Опишу некоторые особенности клонирования модулей под актуальную на сегодня (смотри дату поста) версию 0.9, на примере модуля новостей.

  • Все таблицы, шаблоны, пути, которые использует модуль прописаны в файле config.php, что находится в каталоге modules/news/ . Таким образом, нет необходимости выискивать их непосредственно в коде модулей.
  • Производить экспорт > замену > импорт настроек чаще всего бессмысленно. Клонированный модуль может использовать настройки основного модуля. Настройки клонированного модуля достаточно редко изменяются - зачем делать лишнее движение?
  • Не забывайте, шаблоны модуля находятся в каталогах шаблонов, а не только в modules/news/Template/ (здесь лежат пустые шаблоны по умолчанию). Поэтому, при клонировании модуля новости, не забудьте клонировать (с исправлением имени файла и его внутренностей) так же файлы templates/Uniel/Classes/UserNews.php , templates/Uniel/Classes/UserNewsCorrect.php, templates/Audora/Classes/AdminNews.php
Перейти в начало страницы
+Цитировать сообщение
Monk
сообщение 2013-01-21, 12:45
Сообщение #5
Любитель
Иконка группы

Группа: Eleanor user
Сообщений: 114
Регистрация: 2009-04-12

Репутация:   нет  
Всего: нет


Ещё не забываем про языковые модули для админа и юзера, а так же про файл api.php, в котором тоже news заменить нужно
Перейти в начало страницы
+Цитировать сообщение

Ответить в данную темуНачать новую тему
0 чел. читают эту тему (гостей: 0, скрытых пользователей: 0)
Пользователей: 0

 
RSS Текстовая версия 0.0446 сек.    11 запросов    GZIP включен    Сейчас: 2021-07-24, 20:55