Новости Joomla

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

mainet

  • Захожу иногда
  • 148
  • 1 / 0
Как сделать чтобы при установки модуля создавалась таблица в базе данных ? При удалении модуля удалялась. Спасибо.
*

shprota

  • Давно я тут
  • 770
  • 53 / 1
  • Тружусь, не покладая рук
К сожалению, несмотря на многочисленные обращения разработчиков, разработчики Joomla так и не включили возможность выполнять действия при установке модулей и плагинов.
Таким образом, варианта два:
1. Создавать таблицу при первом обращении к модулю
2. Создать пустой компонент, сделать ему установочные файлы, которые будут делать таблицу и ставить модуль, а потом сам компонент сносить

Возможно, есть еще способы, но мне они сейчас неизвестны.
*

danik.html

  • Живу я здесь
  • 2650
  • 353 / 4
А разве в манифест-файле нет возможности подключать install.php и uninstall.php ?
【Мегапак Virtuemart:
 • метатеги (description,keywords)
 • заголовки (title)
 • красивые алиасы (чпу) без тормозов и дублей!
*

shprota

  • Давно я тут
  • 770
  • 53 / 1
  • Тружусь, не покладая рук
А разве в манифест-файле нет возможности подключать install.php и uninstall.php ?

Только для компонента
*

danik.html

  • Живу я здесь
  • 2650
  • 353 / 4
Только для компонента
Ну вот здесь видно, что scriptfile также работает и в модуле. К сожалению документацию по scriptfile для модуля не нашел. Видимо она совпадает с аналогичной для компонента.
【Мегапак Virtuemart:
 • метатеги (description,keywords)
 • заголовки (title)
 • красивые алиасы (чпу) без тормозов и дублей!
*

shprota

  • Давно я тут
  • 770
  • 53 / 1
  • Тружусь, не покладая рук
Ну вот здесь видно, что scriptfile также работает и в модуле. К сожалению документацию по scriptfile для модуля не нашел. Видимо она совпадает с аналогичной для компонента.

О! Ура, свершилось! Я их года четыре уговаривал - с момента выхода 1.5.
Тогда беру все слова назад - делать установочный скрипт и из него таблицы и все, что угодно :)
*

mainet

  • Захожу иногда
  • 148
  • 1 / 0
Можно по подробнее, как это реализуется. Спасибо.
*

danik.html

  • Живу я здесь
  • 2650
  • 353 / 4
http://docs.joomla.org/Developing_a_Model-View-Controller_(MVC)_Component_for_Joomla!2.5_-_Part_15#Creating_the_extension_script_file
Хотя там в helloworld.xml сделана пометка, что
Код: xml
<!-- Runs on install/uninstall/update; New in 2.5 -->
<scriptfile>script.php</scriptfile>
Хотя scriptfile вроде как в 1.7 появился...
【Мегапак Virtuemart:
 • метатеги (description,keywords)
 • заголовки (title)
 • красивые алиасы (чпу) без тормозов и дублей!
*

mainet

  • Захожу иногда
  • 148
  • 1 / 0
А в Joomla 1.5 тоже можно я так поняла
http://docs.joomla.org/Creating_a_simple_module   В самом конце
Я еще в каком то расширении видела, что прям в XML таблицу создают.
*

danik.html

  • Живу я здесь
  • 2650
  • 353 / 4
А в Joomla 1.5 тоже можно я так поняла
http://docs.joomla.org/Creating_a_simple_module   В самом конце
Так ведь вам shprota писал об этом способе:
...Создавать таблицу при первом обращении к модулю ...
В XML файле можно указать sql-файлы с запросами, выполняющимися при инсталляции/деинсталляции - можно воспользоваться и этой возможностью
【Мегапак Virtuemart:
 • метатеги (description,keywords)
 • заголовки (title)
 • красивые алиасы (чпу) без тормозов и дублей!
*

mainet

  • Захожу иногда
  • 148
  • 1 / 0
Модуль сделала получился не универсальный. При публиковании дважды его. Второй раз он естественно выдает тоже самое что и в первом. Можно добавить в таблицу еще один столбец и фильтровать по нему. Например столбец group. По нему будет происходить выборка из базы данных. И следовательно при публиковании 2 или последующих раз модуля надо заносить информацию в group.
Но как в XML сделать выборку из существующих значений group? И как сделать возможность в это столбец добавлять новые значения для фильтра?
*

SDKiller

  • Живу я здесь
  • 2705
  • 329 / 5
  • ...ergo sum
Если речь идёт о повторном создании таблицы при втором обращении - то можно же использовать IF NOT EXISTS в sql запросе
*

danik.html

  • Живу я здесь
  • 2650
  • 353 / 4
И вы все это хотите от модуля? Тут похоже что требуется компонент.
【Мегапак Virtuemart:
 • метатеги (description,keywords)
 • заголовки (title)
 • красивые алиасы (чпу) без тормозов и дублей!
*

danik.html

  • Живу я здесь
  • 2650
  • 353 / 4
А в Joomla 1.5 тоже можно я так поняла
http://docs.joomla.org/Creating_a_simple_module   В самом конце
Ага. Веселый способ. И как разработчики догадались такой способ в документации опубликовать... А при деинсталляции модуля я должен лезть в phpMyAdmin и вручную подчищать таблицу за модулем?
【Мегапак Virtuemart:
 • метатеги (description,keywords)
 • заголовки (title)
 • красивые алиасы (чпу) без тормозов и дублей!
*

SDKiller

  • Живу я здесь
  • 2705
  • 329 / 5
  • ...ergo sum
И следовательно при публиковании 2 или последующих раз модуля надо заносить информацию в group.

Вообще задача поставлена слишком расплывчато.
Если объём информации для каждого нового модуля небольшой - почему бы не обойтись штатными params ?
*

mainet

  • Захожу иногда
  • 148
  • 1 / 0
Задача такая создать 3 модуля однотипных. В каждый модуль добавляется по 10 картинок с HTML кодом по вверх изображения. Решила тащить все из базы данных.
Сначала пробовала через XML, но XML слишком огромный. Как укоротить записи в нем я не знаю. Гуглила не нашла решения вообще.

Такой код в XML повторяется 10 раз + еще 100 строчек параметров различных на эффекты.
Код
<field 
name="img1"
default=""
type="media"
label=""
description="" />

<field
name="alt1"
type="text"
default=""
label=""
description=""/>

<field
name="url1"
type="text"
default=""
label=""
description=""/>
                                <field
name="html_code1"
type="text"
default=""
label=""
description=""/>
<field
name="target1"
type="list"
default="_self"
label=""
description="">
<option value="_blank">_blank</option>
<option value="_self">_self</option>
<option value="_parent">_parent</option>
<option value="_top">_top</option>
</field>


Обработка через функцию.

Код
function getSlider ($param, $tag, $quantity='10'){
   $param = array();
   for($n=1; $n<=$quantity; $n++) {
        $param[$n]=$params->get($tag.$n);
   }
}

А можно чтобы в админки вместо XML подгружался php файл ? И в нем уже тогда можно сделать AJAX добавление. И тут же можно выборку по определенному значению сделать.
« Последнее редактирование: 02.06.2012, 10:38:31 от mainet »
*

SDKiller

  • Живу я здесь
  • 2705
  • 329 / 5
  • ...ergo sum
Делайте свой JFormField, в нём расписывайте свою логику админки модуля, параметры пойдут в params, а в xml-декларации у вас будет

<field name="myname" type="mytype"...
*

mainet

  • Захожу иногда
  • 148
  • 1 / 0
Делайте свой JFormField, в нём расписывайте свою логику админки модуля, параметры пойдут в params, а в xml-декларации у вас будет

<field name="myname" type="mytype"...

Как он понимает какой php файл из папки admin подгружать?
<fields name="modadmin" addfieldpath="/modules/mod_slider/admin">
*

danik.html

  • Живу я здесь
  • 2650
  • 353 / 4
Ищет файл mytype.php
Обычно под это дело выделяется папочка fields. admin - впервые вижу.
【Мегапак Virtuemart:
 • метатеги (description,keywords)
 • заголовки (title)
 • красивые алиасы (чпу) без тормозов и дублей!
*

mainet

  • Захожу иногда
  • 148
  • 1 / 0
Ищет файл mytype.php
Обычно под это дело выделяется папочка fields. admin - впервые вижу.
Спасибо. Ну я же первый раз модуль создаю таким способом. Поэтому и назвала папку по месту ее назначения :)
*

SDKiller

  • Живу я здесь
  • 2705
  • 329 / 5
  • ...ergo sum
В данном случае непринципиально - вы же addfieldpath задаёте - при таком варианте можно хоть из другого компонента или модуля позаимствовать поля.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Документация по созданию модуля для Joomla 2.5 и Joomla 3.x

Автор b2z

Ответов: 1
Просмотров: 2330
Последний ответ 29.07.2015, 09:40:30
от b2z
Создание компонента MVC

Автор borodatych

Ответов: 36
Просмотров: 4555
Последний ответ 13.04.2015, 08:17:30
от flyingspook
Как использовать облачные хранилища при создание пакета расширений?

Автор Aspik

Ответов: 4
Просмотров: 1717
Последний ответ 12.09.2014, 16:57:59
от Aspik
Создание категорий для записей в компоненте

Автор popoff17

Ответов: 3
Просмотров: 1562
Последний ответ 03.04.2014, 21:13:18
от popoff17
Как в XML Manifest files модуля вытащить категории и далее использовать в запросе для вывода?

Автор mainet

Ответов: 6
Просмотров: 2259
Последний ответ 19.02.2014, 23:23:59
от mainet