0 Пользователей и 1 Гость просматривают эту тему.
  • 15 Ответов
  • 2020 Просмотров
*

tmpnikl

  • Захожу иногда
  • 450
  • 3 / 0
Если есть модуль, достаточно его скопировать в папку modules и что надо прописать в таблицах modules и extensions или достаточно в одной таблице(modules) прописать в поле module основной файл, и тогда модуль появится в списке модулей, в котором можно указывать позицию и т.д.
Т.е. когда я устанавливаю модуль то происходит чтение xml файла, который раскидывает по папкам файлы, и прописывается этот модуль в таблице, или какой алгоритм установки модуля?
*

draff

  • Живу я здесь
  • 3869
  • 259 / 7
  • Ищу работу
Re: Как установить модуль вручную?
« Ответ #1 : 22.12.2017, 11:18:48 »
Поиск в менеджере расширений должен найти модуль. И потом установка, чтоб не лезть в БД руками.
*

tmpnikl

  • Захожу иногда
  • 450
  • 3 / 0
Re: Как установить модуль вручную?
« Ответ #2 : 22.12.2017, 11:48:14 »
Мне хотелось бы без менеджера расширений самому скопировать файл php, но как его прописать и где, чтоб он появился в списке модулей не понятно..
*

lesh1j

  • Захожу иногда
  • 257
  • 35 / 0
Re: Как установить модуль вручную?
« Ответ #3 : 22.12.2017, 13:52:17 »
Мне хотелось бы без менеджера расширений самому скопировать файл php, но как его прописать и где, чтоб он появился в списке модулей не понятно..
залить папку модуля в modules и добавить запись в БД в #__extensions, ну и, если есть, языковые файлы в languages. Вот только зачем?
*

tmpnikl

  • Захожу иногда
  • 450
  • 3 / 0
Re: Как установить модуль вручную?
« Ответ #4 : 25.12.2017, 07:19:26 »
Допустим у меня есть простейшая программа на PHP
Спойлер
[свернуть]
Языковых пакетов нет, создать папку mod_MyModule без проблем, добавить запись в таблицы modules и extensions в PHPAdmin минутное дело... Зачем мне писать установщик XML, потом разбираться, почему он не работает(не так слэш написан или связи нет).. Что такое делает джумала, что я не могу сделать.. Понимаю 1С вся в ключах и связях, и если какую-то запись тронешь, баланс не пойдёт... Но нет такого аудита в Joomla.. Поэтому хотелось бы самому Создать папку для модуля, скопировать туда мою программку, прописать её в таблицах(Но я не знаю что за что отвечает каждая таблица и правила заполнения добавленной записи). После зайти в админку найти свой модуль и прописать позицию..
Весь инет перерыл но любой урок по модулям начинается с описания установщика.. но не нужен мне установщик, объясните, как  Joomla заполняет таблицами от этого  устанощика.
*

kern.USR

  • Давно я тут
  • 810
  • 61 / 1
Re: Как установить модуль вручную?
« Ответ #5 : 25.12.2017, 13:25:40 »
Таковы правила! Будь то модуль, плагин, компонент или шаблон - ему необходим файл-манифест. Вам так сложно создать xml-файл вида:
Код
<?xml version="1.0" encoding="utf-8"?>
<extension type="module"  client="site">
    <name>Название модуля</name>
    <author>Имя автора</author>
    <creationDate>можно оставить пустым</creationDate>
    <copyright>можно оставить пустым</copyright>
    <authorEmail>можно оставить пустым</authorEmail>
    <authorUrl>можно оставить пустым</authorUrl>
    <version>Версия</version>
    <license>можно оставить пустым</license>
    <description>можно оставить пустым</description>
    <files>
        <filename module="название папки с модулем">файл модуля.php</filename>
    </files>
</extension>
*

tmpnikl

  • Захожу иногда
  • 450
  • 3 / 0
Re: Как установить модуль вручную?
« Ответ #6 : 26.12.2017, 12:48:19 »
Решил установить какой-нибудь модуль а потом сравнить дампы, но скопировал приведённый выше код XML файла (правда некоторые пишут тэг <install, у Вас <extension), почему то  не установился..пишет ошибку..

По данному пути корректный пакет не найден
Невозможно найти установочный пакет

Установка стандартно(другие модули устанавливаются), закидываю в tmp каталог два файла
mod_testmodule.php и mod_testmodule.xml (<filename module="mod_testmodule">mod_testmodule.php</filename>) и в админке установить из каталога..

В чём может быть проблема?
*

kern.USR

  • Давно я тут
  • 810
  • 61 / 1
Re: Как установить модуль вручную?
« Ответ #7 : 26.12.2017, 15:28:33 »
Цитировать
Установка стандартно(другие модули устанавливаются), закидываю в tmp каталог два файла
Хм...
Создаём папку mod_testmodule в /modules/
В ней два файла, с следующим содержимым:
mod_testmodule.php
Код
<?php defined('_JEXEC') or die;
echo 'Hallo, World!';
mod_testmodule.xml
Код
<?xml version="1.0" encoding="utf-8"?>
<extension type="module"  client="site">
    <name>Test module</name>
    <author>test</author>
    <creationDate></creationDate>
    <copyright></copyright>
    <authorEmail></authorEmail>
    <authorUrl></authorUrl>
    <version>1.0</version>
    <license></license>
    <description></description>
    <files>
        <filename module="mod_testmodule">mod_testmodule.php</filename>
    </files>
</extension>
Зазодим в админку в Расширения -> Менеджер расширений -> Поиск
и жмём кнопку "Найти" (см. скриншот http://joxi.ru/YmE03kqHZoBjPr)

Выбираем модуль из списка и жмём "Установить"

Идём в Расширения -> Модули и создаём нужный модуль в нужной позиции (http://joxi.ru/82QNL7WU1zVRbA http://joxi.ru/Grq9GeVsNERV3r)

Смотрите, что делаете не так внимательнее!
*

tmpnikl

  • Захожу иногда
  • 450
  • 3 / 0
Re: Как установить модуль вручную?
« Ответ #8 : 27.12.2017, 12:22:39 »
Спасибо, очень познавательный урок..:-)
Оказывается есть два способа установки, это
Расширения -> Менеджер расширений -> Установка
Расширения -> Менеджер расширений -> Поиск
Ошибка была в кириллице в моём XML файле,
Но также можно просто скопировать эту папку в каталог модулей и добавить запись в таблицу extension, заполнить поля name - название модуля(Вот тут можно и на кириллице), type ->module  и element ->mod_testmodule(папка куда скопирован модуль) и Всё, не надо писать ни каких XML...  Правда не понятно поле client_id(что это за поле?), надо там ставить 0, ну а enabled и access разрешено или нет, их можно уже ставить в админке..
Очень был удивлён, что при добавлении, удалении модулей через админку Joomla, в ключевом поле id записи меняют свои значения
Также, когда для сравнения старой и новой таблицы extension, я не смог сделать её копию(
Спойлер
[свернуть]
) из-за поля checked_out_time, где проставлено 0000-00-00 00:00:00, выдаёт ошибку 1067 некорректное значение, тоже не понятно, как Joomla обходит это ограничение, ведь их нельзя ставить по умолчанию... Ну вобщем то всё...Спасибо.

*

kern.USR

  • Давно я тут
  • 810
  • 61 / 1
Re: Как установить модуль вручную?
« Ответ #9 : 27.12.2017, 13:00:36 »
Правда не понятно поле client_id(что это за поле?)
Назначение модуля - Для сайта или админки.

добавить запись в таблицу extension, заполнить поля name - название модуля(Вот тут можно и на кириллице), type ->module  и element ->mod_testmodule(папка куда скопирован модуль) и Всё, не надо писать ни каких XML...
Это больше похоже на удаление гланд через заднее отверстие.

Вы правда считаете, что лучше лазить в БД, чем тупо скопировать код из xml'ки другого модуля и поправить этот код под себя?
Ну нет! Спасибо! Нам такого кина не нужно!
*

tmpnikl

  • Захожу иногда
  • 450
  • 3 / 0
Re: Как установить модуль вручную?
« Ответ #10 : 28.12.2017, 05:59:53 »
Это как вариант, чтоб можно проверить по таблице напрямую, как установилось приложение, если оно установилось криво...:-) Т.е. лишней для понимание эта информация не будет. Спасибо.
*

ProtectYourSite

  • Завсегдатай
  • 1812
  • 101 / 4
  • Безопасность вебсайтов
Re: Как установить модуль вручную?
« Ответ #11 : 28.12.2017, 07:30:07 »
При создании модуля в менеджере модулей данные все равно берутся с XML - не уверен, но думаю без XML выдаст ошибку, так что без него никак. И в бд ещё пишется в таблицу #__assets
*

tmpnikl

  • Захожу иногда
  • 450
  • 3 / 0
Re: Как установить модуль вручную?
« Ответ #12 : 28.12.2017, 08:09:00 »
но думаю без XML выдаст ошибку,
в этом простейшем примере только добавил запись в таблице extension и заполнил поля, которые привёл выше, всё остальное лишнее(от лукавого)  и пусто, в папке с php файлом небыло XML, и при создании в админке нового модуля, пишется "XML-данные модуля недоступны"(да и по фиг это всё равно для информации, а не для функционала),  но сам модуль работает и выводит в указанной позиции Hallo, World!
Но это было проделано только для расширения кругозора, чтоб понять как развешивать на сайте шары, и почему они не развешиваются..:-)
*

kern.USR

  • Давно я тут
  • 810
  • 61 / 1
Re: Как установить модуль вручную?
« Ответ #13 : 28.12.2017, 09:33:45 »
в этом простейшем примере только добавил запись в таблице extension и заполнил поля, которые привёл выше, всё остальное лишнее(от лукавого)  и пусто, в папке с php файлом небыло XML
По логике Joomla модуль должен иметь ряд настроек, которые влияют на его отображение. И вот эти настройки конфигурируются исключительно в XML файле. Возможно, ваш вариант "прокатит" для плагина, но не для модуля! Модуль подразумевает возможность настройки и отсутсвие XML ломает эту логику.
*

tmpnikl

  • Захожу иногда
  • 450
  • 3 / 0
Re: Как установить модуль вручную?
« Ответ #14 : 28.12.2017, 10:27:54 »
Полностью согласен..
Модуль подразумевает возможность настройки
А настройки чего?, автора у меня нет, даты не нужны, позиция настраивается, цвет и т.д. можно задать непосредственно..  Пусть этот пример будет плагином..:-)
*

robert

  • Живу я здесь
  • 4698
  • 432 / 17
Re: Как установить модуль вручную?
« Ответ #15 : 28.12.2017, 11:26:57 »
Никому не нужен ваш пример: если он и несет какую-нибудь пользу, то только вам в качестве наглядного пособия для самообучения.
Со временем поймете, что там нет ничего лишнего, а написать 3 строки в XML - намного удобнее и надежнее, чем сделать все вручную.
Не будь паразитом, сделай что-нибудь самостоятельно!
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Модуль фильтра материалов по категории и тегу

Автор antarey

Ответов: 2
Просмотров: 50
Последний ответ 21.05.2019, 20:36:49
от antarey
Модуль joomshop

Автор rus3333

Ответов: 0
Просмотров: 58
Последний ответ 12.04.2019, 16:43:00
от rus3333
[РЕШЕНО] Модуль только на главной index.php и больше нигде

Автор dron

Ответов: 3
Просмотров: 126
Последний ответ 10.04.2019, 14:29:49
от dron
Плагин\Модуль CRM

Автор cmd2017

Ответов: 0
Просмотров: 104
Последний ответ 15.03.2019, 15:38:14
от cmd2017
[Решено] Модуль в модальном окне

Автор systemua

Ответов: 17
Просмотров: 16192
Последний ответ 08.03.2019, 22:01:57
от jesus