LiveInternetMail.ru
Форум русской поддержки Joomla!® CMS
27.05.2012, 19:37:27 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 1.7 FAQ Joomla 1.5 FAQ Joomla 1.0 FAQ Правила форума Новости Joomla Войти Регистрация Помощь  
Страниц: [1]   Вниз
  Добавить закладку  |  Печать  
Автор Тема: Установка компонента Joomla вручную  (Прочитано 6108 раз)
0 Пользователей и 2 Гостей смотрят эту тему.
maestra
Осваиваюсь на форуме
***

Репутация: +2/-1
Offline Offline

Пол: Мужской
Сообщений: 61



« : 12.02.2008, 16:50:24 »

Установка компонента Joomla "вручную" может понадобиться в том случае, если по каким-то причинам невозможно воспользоваться стандартными средствами установки. Такая ситуация может быть при работе PHP во включенном режиме Safe_mode, а уговорить хостера отключить эту опцию не удается.
 
Итак, распаковываем архив компонента в папку \tmp\com_name, где name – название компонента.
Создаем папки:
\new\com_name
\new\administrator\com_name
\new \includes\js\ThemeOffice

Открываем файл name.xml.

Этот файл содержит инструкции для инсталятора Joomla и он состоит из нескольких секций:
<files> … </files> - перечень файлов, которые надо скопировать в папку \new\com_name. Если в секции файл указан с относительным путем, значит надо создать все перчисленные папки и уже в них разместить файл;
<images> … </images> - список файлов рисунков размещаемых в папке \new\com_name\images отдельно выносятся в эту секцию;
<administration><files> … </files></administration> - файлы размещаемые в папке \new\administrator\com_name
<administration><images> … </images><administration> -  - файлы размещаемые в папке \new\administrator\com_name\images.
Сам файл name.xml копируем в папку \new\administrator\com_name.

Далее необходимо подготовить запросы к базе SQL для создания необходимых таблиц и их начального заполнения.
Смотрим в файле name.xml раздел <install><queries> … </queries></install>. Здесь в секциях типа <query> … </query> содержатся тексты SQL запросов.
Запросы начинающиеся словами "DROP TABLE" уничтожают существующие указанные таблицы. Запросы начинающиеся словами "CREATE TABLE" создают таблицы с указанными именами. Запросы начинающиеся словами "INSERT INTO" вставляют записи в существующие таблицы SQL.

Все имена таблиц в SQL запросах содержащихся в файле name.xml имеют вид '#__name'. Необходимо изменить часть "#_" на настоящий префикс  ваших таблиц (по умолчанию система при инсталляции предлагает префикс jos_).

Следует обратить внимание на запросы вида "INSERT INTO `#__components` VALUES ..." Этими запросами компонент прописывает себя в меню админпанели. Ниже, на примере компонента AkoBook, видим, что имеется две таких строки (на самом деле их несколько больше).

INSERT INTO `#__components` VALUES ('', 'AkoBook SE', 'option=com_akobook', '0', '0', 'option=com_akobook', 'AkoBook SE', 'com_akobook', '0', 'js/ThemeOffice/component.png', '0', '');

INSERT INTO `#__components` VALUES ('', 'Просмотр записей', '', '0', 'XX', 'option=com_akobook&task=view', 'Просмотр записей', 'com_akobook', '0', 'js/ThemeOffice/edit.png', '0', '');

Обращаю внимание на выделенный текст. В первой строке в таблицу прописывается меню, а во второй - подменю. Об этом говорит наличие значения после знака "&" в опциях. В этой же строке красным цветом выделенно место где необходимо указать код родителя этого меню. Код родителя это порядковый номер записи в базе созданной предыдущим запросом.

А. Москалюков (источник)
Записан
Mitrich
Администратор
*******

Репутация: +520/-13
Offline Offline

Пол: Мужской
Сообщений: 2481


Все можно. Но сначала учиться, учиться и учиться.


« Ответ #1 : 12.02.2008, 17:55:57 »

Можно конечно поставить все что угодно руками
НО возникает вопрос зачем?

НЕ проще ли купить нормальный хостинг с которым не будет проблем?
Записан
maestra
Осваиваюсь на форуме
***

Репутация: +2/-1
Offline Offline

Пол: Мужской
Сообщений: 61



« Ответ #2 : 12.02.2008, 18:27:48 »

Конечно проще, но раз люди спрашивают, то почему бы не дать им ответ, который хотябы покажет общее направление?
Записан
Igoritaly
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 65


« Ответ #3 : 28.08.2010, 18:12:32 »

Установка компонента Joomla "вручную" может понадобиться в том случае, если по каким-то причинам невозможно воспользоваться стандартными средствами установки. Такая ситуация может быть при работе PHP во включенном режиме Safe_mode, а уговорить хостера отключить эту опцию не удается.
 
Итак, распаковываем архив компонента в папку \tmp\com_name, где name – название компонента.
Создаем папки:
\new\com_name
\new\administrator\com_name
\new \includes\js\ThemeOffice

Открываем файл name.xml.

Этот файл содержит инструкции для инсталятора Joomla и он состоит из нескольких секций:
<files> … </files> - перечень файлов, которые надо скопировать в папку \new\com_name. Если в секции файл указан с относительным путем, значит надо создать все перчисленные папки и уже в них разместить файл;
<images> … </images> - список файлов рисунков размещаемых в папке \new\com_name\images отдельно выносятся в эту секцию;
<administration><files> … </files></administration> - файлы размещаемые в папке \new\administrator\com_name
<administration><images> … </images><administration> -  - файлы размещаемые в папке \new\administrator\com_name\images.
Сам файл name.xml копируем в папку \new\administrator\com_name.

Далее необходимо подготовить запросы к базе SQL для создания необходимых таблиц и их начального заполнения.
Смотрим в файле name.xml раздел <install><queries> … </queries></install>. Здесь в секциях типа <query> … </query> содержатся тексты SQL запросов.
Запросы начинающиеся словами "DROP TABLE" уничтожают существующие указанные таблицы. Запросы начинающиеся словами "CREATE TABLE" создают таблицы с указанными именами. Запросы начинающиеся словами "INSERT INTO" вставляют записи в существующие таблицы SQL.

Все имена таблиц в SQL запросах содержащихся в файле name.xml имеют вид '#__name'. Необходимо изменить часть "#_" на настоящий префикс  ваших таблиц (по умолчанию система при инсталляции предлагает префикс jos_).

Следует обратить внимание на запросы вида "INSERT INTO `#__components` VALUES ..." Этими запросами компонент прописывает себя в меню админпанели. Ниже, на примере компонента AkoBook, видим, что имеется две таких строки (на самом деле их несколько больше).

INSERT INTO `#__components` VALUES ('', 'AkoBook SE', 'option=com_akobook', '0', '0', 'option=com_akobook', 'AkoBook SE', 'com_akobook', '0', 'js/ThemeOffice/component.png', '0', '');

INSERT INTO `#__components` VALUES ('', 'Просмотр записей', '', '0', 'XX', 'option=com_akobook&task=view', 'Просмотр записей', 'com_akobook', '0', 'js/ThemeOffice/edit.png', '0', '');

Обращаю внимание на выделенный текст. В первой строке в таблицу прописывается меню, а во второй - подменю. Об этом говорит наличие значения после знака "&" в опциях. В этой же строке красным цветом выделенно место где необходимо указать код родителя этого меню. Код родителя это порядковый номер записи в базе созданной предыдущим запросом.

А. Москалюков (источник)

Что значит папка new?
Записан
Страниц: [1]   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Рейтинг@Mail.ru Rambler Top100 Powered by SMF 1.1.16 | SMF © 2006, Simple Machines

Joomlaforum.ru is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters
the trademark holder in the United States and other countries.

LiveInternet