Новости Joomla

SW JProjects v.2.5.0 - компонент каталога цифровых проектов на Joomla

SW JProjects v.2.5.0 - компонент каталога цифровых проектов на Joomla

👩‍💻 SW JProjects v.2.5.0 - компонент каталога цифровых проектов на Joomla.Компонент - менеджер цифровых проектов для Joomla! CMS. Компонент обеспечивает создание каталога цифровых проектов и предоставляет возможность скачивания, в том числе с использованием лицензионных ключей.👩‍💻 v.2.5.0. Что нового?Схемы структур данных для серверов обновлений. Теперь с SW JProjects вы может создавать сервер обновлений не только для расширений Joomla, но и свои собственные. Например, вам нужно, чтобы структура данных сервера обновлений была другая и формат должен быть, например, не XML, а JSON. Формирование структуры данных для сервера обновлений расширений Joomla вынесено в отдельный плагин. Вы можете создать свой собственный плагин и реализовать в нём нужную вам структуру данных, добавив или наоборот исключив отображаемые данные. Сервер обновлений в компоненте по-прежнему отображает информацию о списке проектов и их версиях, о конкретном проекте и его changelog.Можно выбрать схему данных сервера обновлений глобально для всего компонента, выбрать другую схему данных для категории проектов, а так же выбрать схему в каждом проекте.

Разработчикам в качестве образца можно посмотреть плагин схемы данных для Joomla в составе компонента или же плагин-образец JSON-схемы на GitHub.
Группа плагинов swjprojects. Для нужд компонента создана группа плагинов swjprojects. В частности, в этой группе находится плагин структуры данных Joomla расширений для сервера обновлений.Изменение языковых констант. Изменены некоторые языковые константы в панели администратора. Если вы делали переопределение констант - переопределите их снова.👩‍💻 Joomla 6. Внесены изменения для корректной установки и работы компонента на Joomla 6. Компонент успешно протестирован на Joomla 6-beta2.Минимальная версия Joomla - 5. Подняты минимальные системные требования: Joomla 5.0.0 и PHP 8.1.
- Страница расширения👉 Плагин-образец кастомной JSON-схемы данных для сервера обновлений на GitHub.- GitHub расширения- Документация на GitHub- Joomla Extensions Directory#joomla #расширения

Как триггерить события для плагинов на манер Joomla 5+?В Joomla 6 должны удалить метод...

Как триггерить события для плагинов на манер Joomla 5+?В Joomla 6 должны удалить метод...

👩‍💻 Как триггерить события для плагинов на манер Joomla 5+?В Joomla 6 должны удалить метод triggerEvent(), с помощью которого раньше вызывались события для плагинов. Теперь чтобы в своём коде вызвать событие для плагина и получить от него результаты нужно:- создать объект класса события- передать в него параметры

use Joomla\CMS\Event\AbstractEvent;use Joomla\CMS\Factory;use Joomla\CMS\Plugin\PluginHelper;// Грузим плагины нужных группPluginHelper::importPlugin('system');// Создаём объект события$event = AbstractEvent::create('onAfterInitUniverse', [    'subject' => $this,    'data'    => $data, // какие-то данные    'article' => $article, // ещё материал вдовесок    'product' => $product, // и товаров подвезли]);// Триггерим событиеFactory::getApplication()->getDispatcher()->dispatch(    $event->getName(), // Тут можно строку передать 'onAfterInitUniverse'    $event);// Получаем результаты// В случае с AbstractEvent это может быть не 'result',// а что-то ещё - куда сами отдадите данные.// 2-й аргумент - значение по умолчанию, // если не получены результаты$results = $event->getArgument('result', []);
Плюсы такого подхода - вам не нужно запоминать порядок аргументов и проверять их наличие. Если вы написали свой класс события, то в плагине можно получать аргументы с помощью методов $event->getArticle(), $event->getData(), $event->getProduct() и подобными - реализуете сами под свои нужды. Если такой класс события написали, то создаёте экземпляр своего класса события и укажите его явно в аргументе eventClass
use Joomla\Component\MyComponent\Administrator\Event\MyCoolEvent;$event = MyCoolEvent::create('onAfterInitUniverse', [    'subject'    => $this,    'eventClass' => MyCoolEvent::class, // ваш класс события    'data'       => $data, // какие-то данные    'article'    => $article, // ещё материал вдовесок    'product'    => $product, // и товаров подвезли]);
Ожидаемо, что класс вашего события будет расширять AbsractEvent или другие классы событий Joomla.🙁 Есть неприятный нюанс - нельзя просто так вызывать событие и ничего не передать в аргументы. Аргумент subject обязательный. Но если вы всё-таки не хотите туда ничего передавать - передайте туда пустой stdClass или объект Joomla\registry\Registry.
@joomlafeed#joomla #php #webdev

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

Alex_B

  • Захожу иногда
  • 196
  • 39 / 0
Связанные таблицы MySQL
« : 18.06.2007, 13:12:39 »
Я делаю две таблицы в MySQL.

1 таблица:

| idL | val1 | val2 |

2 таблица

| idP | idL | val3 |

Вторая таблица должна получить idL которое хранится в первой.


Сначала я заполняю 1-ю таблицу:


$mdb
->setQuery("INSERT INTO #__table1 (val1, val2) VALUES (‘$val1’,’$val2’ )");
$mdb->query();


Значение idL формируется автоматически MySQL и мне не известно.

Затем я должен заполнить вторую таблицу и указать в соответствующем поле именно idL, которое было присвоено. Но как я могу его узнать?
(возможна ситуация при которой в первой таблице будут совершенно одинаковые строки, различающиеся только idL)

Спасибо.
*

smart

  • Администратор
  • 6478
  • 1318 / 15
  • Хочешь сделать хорошо — сделай!
Re: Связанные таблицы MySQL
« Ответ #1 : 18.06.2007, 13:18:33 »
вообще, есть такая функция как mysql_insert_id(), которая возвращает значение последнего сгенерированного автоинкрементного значения в последнем выполненном insert-запросе.

Вот более подробное описание:
Цитировать
mysql_insert_id() returns the ID generated for an AUTO_INCREMENT column by the previous INSERT query using the given link_identifier. If link_identifier isn't specified, the last opened link is assumed.

mysql_insert_id() returns 0 if the previous query does not generate an AUTO_INCREMENT value. If you need to save the value for later, be sure to call mysql_insert_id() immediately after the query that generates the value.
*

Alex_B

  • Захожу иногда
  • 196
  • 39 / 0
Re: Связанные таблицы MySQL
« Ответ #2 : 18.06.2007, 13:30:58 »
smart, спасибо!
*

boston

  • Захожу иногда
  • 495
  • 222 / 3
Re: Связанные таблицы MySQL
« Ответ #3 : 18.06.2007, 14:27:01 »
В классе базы данных Joomla это выглядит так:
Цитировать
   function insertid() {
      return mysql_insert_id( $this->_resource );
   }
Для получения результата в твоём случае необходимо:
Цитировать
$mdb->setQuery("INSERT INTO #__table1 (val1, val2) VALUES (‘$val1’,’$val2’ )");
$mdb->query();
$new_id = $mdb->insertid(); // твой идентификатор
Самая новая Joostina 1.3.0.5 UTF-8 stable | О найденных ошибках сообщаем | Расширения Joostina
*

Alex_B

  • Захожу иногда
  • 196
  • 39 / 0
Re: Связанные таблицы MySQL
« Ответ #4 : 18.06.2007, 15:06:18 »
boston, у меня и просто вызов функции вроде работает:

$new_id = mysql_insert_id();
*

userxp

  • Живу я здесь
  • 2019
  • 403 / 6
  • Злой и ужасный бармалей
Re: Связанные таблицы MySQL
« Ответ #5 : 18.06.2007, 16:41:38 »
ну конечно работает...
пока у тебя текущий ресурс линк указывает на твою бд, а если нет?..
Как правильно задавать вопрос службе технической поддержки  yes!
SGA CM 7.2.0 RC0 KANG Build GWK74 + s95allinonescript + CWM 5.0.2.6 + Modem XWKT3
*

Alex_B

  • Захожу иногда
  • 196
  • 39 / 0
Re: Связанные таблицы MySQL
« Ответ #6 : 18.06.2007, 16:50:43 »
ну конечно работает...
пока у тебя текущий ресурс линк указывает на твою бд, а если нет?..
Я вызываю
mysql_insert_id()
сразу после

$mdb
->setQuery("INSERT INTO #__table1 (val1, val2) VALUES (‘$val1’,’$val2’ )");
$mdb->query();


Т.е. все вместе:

$mdb
->setQuery("INSERT INTO #__table1 (val1, val2) VALUES (‘$val1’,’$val2’ )");
$mdb->query();
$new_id mysql_insert_id();


Может так случиться что "текущий ресурс линк" укажет не на мою бд? Лучше сделать как предложил boston?
*

smart

  • Администратор
  • 6478
  • 1318 / 15
  • Хочешь сделать хорошо — сделай!
Re: Связанные таблицы MySQL
« Ответ #7 : 18.06.2007, 17:22:51 »
Может так случиться что "текущий ресурс линк" укажет не на мою бд? Лучше сделать как предложил boston?
случиться по идее не может, но лучше сделать как сказал Бостон - это капельку корректнее, с точки зрения программирования для Joomla
*

Alex_B

  • Захожу иногда
  • 196
  • 39 / 0
Re: Связанные таблицы MySQL
« Ответ #8 : 18.06.2007, 21:39:32 »
Всем спасибо.
*

Ayat

  • Захожу иногда
  • 64
  • 0 / 0
Re: Связанные таблицы MySQL
« Ответ #9 : 30.04.2010, 15:05:54 »
подскажите мне где вы все это пишите, на phpmyadmin или где? например я через компонент fabrik создал таблицы и формы теперь не могу их связать(таблицы) между собой. хочу резко отписать я работаю на жумала 1.5 на денвере
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Вывод таблицы, деление на страницы

Автор March Cat

Ответов: 6
Просмотров: 1128
Последний ответ 09.01.2019, 18:49:15
от dmitry_stas
checkbox придать вид таблицы в файле XML

Автор xenos

Ответов: 5
Просмотров: 1585
Последний ответ 17.07.2017, 16:16:11
от vipiusss
Загрузить в форму компонента данные из другой таблицы БД

Автор fox7812

Ответов: 11
Просмотров: 1537
Последний ответ 26.05.2014, 22:11:30
от b2z
MySQL - цикл в цикле - как сделать проще

Автор verstalshik

Ответов: 30
Просмотров: 3711
Последний ответ 29.04.2014, 21:52:54
от robert
Компонент для редактирования таблицы БД

Автор maxsl_89

Ответов: 4
Просмотров: 1498
Последний ответ 27.03.2014, 13:24:57
от maxsl_89