Новости 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 Гость просматривают эту тему.
  • 14 Ответов
  • 6978 Просмотров
*

fox_zi

  • Новичок
  • 7
  • 0 / 0
Работаю над проектом, где поребутся единая авторизация на многих сайтам. Много чего видел, пробывал.
Хакать Joomla не хочется. Пришла в голову мысль, что синхронизировать пользователей и не толлько можно средствами mysql..Нужно просто использовать одну базу на несколько сайтов, но с разными префиксами. а нужным таблицам привязать тригеры, которые будут реагировать на insert и создавать  дубли пользовательских записей в таблицах других сайтов.
Сам mysql знаю плохо, но думаю, что просто тригерами не обойтись, нужно еще правильно процедуры составить для тригеров.
Прошу помощи в этом непростом, но многим полезным деле  ^-^
*

fox_zi

  • Новичок
  • 7
  • 0 / 0
Всем привет.

Проблема решилась проще.
Если у кого то есть группа порталов на одном сервере и Вы хотите чтобы на разных сайтах была одна и таже база пользователей, то нужно либо синхронизировать как то таблицы:
jos_users
jos_core_acl_aro
jos_core_acl_aro_groups
jos_core_acl_aro_maps
jos_core_acl_aro_sections
jos_core_acl_groups_aro_map

либо "слинковать" таблицы.

Допустим у Вас есть две базы сайтов с Joomla - site1 и site2. Удаляем через шел у выше перечисленных таблиц базы site2 файлы типа MYI и MYD и создаём вместо этих файлов симлинки на теже файлы из базы site1.

*Линковать таблицы можно только на "юниксах", если имеешь доступ к базе через шелл и базы типа MyISAM.
**Подробности "линковки" тут http://dev.mysql.com/doc/refman/5.0/en/symbolic-links-to-tables.html
*

chtec

  • Захожу иногда
  • 230
  • 100 / 1
Осень тоже хорошо.
*

fox_zi

  • Новичок
  • 7
  • 0 / 0
Все предложенные в той категории системы либо платны, либо под 1.0, либо глючны.
Предложенный вариант имеет много плюсов, например таким макаром можно иметь не только одну базу пользователей, но и  профили в CB.  Если вы используете PMS, например uddeim, то и единую систему обмена сообщениями на все сайты и всё это без дополнительных хаков и компонентов.
*

era

  • Администратор
  • 1588
  • 392 / 5
  • В туалете лучше быть пользователем, чем админом.
помоему слинковать не получится, т.к. (помоему) MySQL блокирует доступ к файлу, поэтому когда второй раз будет открывать этот файл (то-быишь таблицу в БД) то она упадёт с ошибкой
*

fox_zi

  • Новичок
  • 7
  • 0 / 0
а у меня получилось :)
поначалу тоже одна из таблиц крашилась, потом погуглил и оказалось нельзя линковать файлы с расширением .frm
*

era

  • Администратор
  • 1588
  • 392 / 5
  • В туалете лучше быть пользователем, чем админом.
*

neGODnic

  • Захожу иногда
  • 140
  • 4 / 0
Народ, ну ка расскажите как сделали, плиз? Joomla 1.5.8
У мну 2 сайта и форум.. Нужно базу юзеров общую сделать.
*

Mitrich

  • Захожу иногда
  • 289
  • 524 / 13
  • Все можно. Но сначала учиться, учиться и учиться.
Мне кажется это нормальная ситуация на форумах вообще.
Задали пять вопросов
Потом нашли решение где то на стороне.
НА форуме отписались постом типа "решение найдено, тему можно закрыть"

Неужели сложно даже не запостить решение, а просто дать ссылку на ресурс где оно было найдено.

PS Это относится не только к этой теме. Очень многие пользователи задав вопрос у нас на форуме, получив наводки по теме находят решения где то еще, но 95% не публикуют решений, а просто откупаются фразами типа "всем спасибо, проблема решена".

Давайте чтоль станем сообществом и свои решения будем отдавать всем (вспомнив как когда то брали чужие решения на таких же форумах)
*

neGODnic

  • Захожу иногда
  • 140
  • 4 / 0
Mitrich спасибо за поддержку, полностью согласен.
К томуже это вопрос я уже лично поднимая почти 1.5 месяца, и внятного ответа так и не получил  :'(

Посмотрите тут. Честно говоря мало что понял!!!
http://www.jms2win.com/faq/faq-joomla-multi-sites#cat-24
« Последнее редактирование: 29.11.2008, 01:17:18 от neGODnic »
*

fox_zi

  • Новичок
  • 7
  • 0 / 0
Re: Мультисайтовость - танцы вокруг mysql
« Ответ #10 : 01.12.2008, 21:54:50 »
Вообще проблема полностью не решаема, но частичное решение описано во втором посте.
*

sega

  • Захожу иногда
  • 272
  • 5 / 0
Re: Мультисайтовость - танцы вокруг mysql
« Ответ #11 : 29.03.2011, 15:49:10 »
фу, наверное пол дня читал про мультисайтовость и ещё часов 10 код Joomla перегребал((((
Сделал как писали во втором посте - на остальных сайтах в коде заменил имена таблиц относящиеся к пользователем на единые таблицы.
В итоге получилась единая авторизация, регистрация и сохранение входа пользователя если он вошёл на другом сайте, а сейчас гуляет на другом.
Минус конечно большой - при обновлении Joomla снова нужно будет всё проделывать.
Хотя второй раз уже проще)))) и есть смутное подозрение что файлов то на замену не сильно много, поддаётся систематизации так сказать...
*

Egor_admin2003

  • Захожу иногда
  • 64
  • 0 / 1
Re: Мультисайтовость - танцы вокруг mysql
« Ответ #12 : 07.05.2011, 17:42:30 »
Интересует синхронное отображение Юзеров, регистрация, сообщение.
А есле на втором сайте явно указать таблицы для для компонентов ком_юзер, и тд. никтоне пробовал?
*

RegrZ

  • Новичок
  • 8
  • 0 / 0
Re: Мультисайтовость - танцы вокруг mysql
« Ответ #13 : 30.11.2011, 12:21:47 »
Ребята подскажите, в контексте одного сайта как лучше организовать единую регистрацию-авторизацию для сайта и его компонентов VirtueMart + kunena?
*

vadim s. sabinich

  • Захожу иногда
  • 139
  • 11 / 0
  • переводчик-любитель
Re: Мультисайтовость - танцы вокруг mysql
« Ответ #14 : 18.12.2011, 11:50:59 »
как бе, если все устанволено в одной Joomla, то все пользователи синхронизированы
VPS-хостинг на FirstVDS.ru || VPS/хостинг на ISPserver.com -- рефералам онлайн поддержка!
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Как заставить Joomla 1.5 работать на сервере с MySQL версии 5.7 и выше?

Автор Palomnik

Ответов: 14
Просмотров: 8654
Последний ответ 01.10.2024, 00:22:40
от jesus
перенесенная Joomla не видит MySQL - в логах MySQL старт нормальный

Автор ommy

Ответов: 23
Просмотров: 6041
Последний ответ 23.01.2018, 11:20:48
от altvvc
MAMP и MySQL

Автор boq

Ответов: 7
Просмотров: 6103
Последний ответ 08.01.2017, 02:25:47
от SeBun
The MySQL adapter "mysqli" is not available

Автор inko_gnito

Ответов: 13
Просмотров: 37457
Последний ответ 27.09.2016, 20:58:27
от lukinalek
[Решено] Unable to connect to the database:Could not connect to MySQL

Автор dircell

Ответов: 82
Просмотров: 168975
Последний ответ 22.01.2016, 19:22:10
от Template_user