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

Здравствуйте! Прошу помочь разобраться с таким вопросом: зарегистрированный на моем сайте пользователь должен получить (на е-майл или распечатать на сайте) именной купон (со своими регистрационными данными) с логотипом компании и рекламным текстом. Подобная схема реализована на сайте http://www.union-fpg.ru/discount.htm С помощью чего можно это организовать? Заранее благодарен за ответы.
*

chtec

  • Захожу иногда
  • 230
  • 100 / 1
Re: Создание регистрационного купона
« Ответ #1 : 09.03.2008, 15:51:36 »
Мне представляется несложный вроде бы модуль, вытягивающий данные об авторизованном пользователе из базы... Привязка к отдельному пункту меню, отдельный - очень упрощенный - шаблон.
Можно модуль авторизации переделать под это...
Осень тоже хорошо.

Re: Создание регистрационного купона
« Ответ #2 : 09.03.2008, 18:23:11 »
Спасибо за ответ, но хотелось бы более детального описания решения... Я далеко не специалист по написанию/редактированию скриптов...
*

chtec

  • Захожу иногда
  • 230
  • 100 / 1
Re: Создание регистрационного купона
« Ответ #3 : 09.03.2008, 19:34:11 »
В аттаче архив, в архиве - папочка с 2 файлами, типа модуль mod_kupon. Устанавливается, как все порядочные модули. Выводит имя пользователя, его логин, почтовый адрес, тип пользователя и дату регистрации.
До всего этого показывает претекст, после - посттекст.
И претекст, и посттекст - вводятся в админской части модуля (привет модулю mod_login  ^-^ )

Спасибо за ответ, но хотелось бы более детального описания решения... Я далеко не специалист по написанию/редактированию скриптов...

Лично я - специалист по международным экономическим отношениям. ::)
Что не мешает иногда покопаться в файликах и посмотреть, как они устроены.

ЗЫ: все исключительно в качестве примера...


[вложение удалено Администратором]
« Последнее редактирование: 10.03.2008, 00:22:38 от chtec »
Осень тоже хорошо.
*

infobody

  • Захожу иногда
  • 52
  • 2 / 0
  • заряжен
Re: Создание регистрационного купона
« Ответ #4 : 30.12.2008, 12:06:01 »
А можно ли модифицировать этот модуль так что бы при создании купона, в этот купон вписывался некий произвольный код (ass23dw56gr)
и этот же код дублировался в какой-нибодь файл.

Вобщем нужно что бы у продавца всегда был доступ к файлу с кодами купонов, а у пользователя сгенерированный купон с уникальным кодом.

Я рекламирую на своем сайте услуги или товары, и магазин делает скидку посетителям моего сайта.
*

chtec

  • Захожу иногда
  • 230
  • 100 / 1
Re: Создание регистрационного купона
« Ответ #5 : 30.12.2008, 18:01:53 »
Использовать-то можно, но модуль в твоем случае - последнее дело ))

1 пользователь = 1 код, так?

1) Нужно создать новое поле в таблице jos_users (вместо jos - твой префикс). Ага, прямо в базе данных. При этом можно задать ему уникальность, но не обязательно - у "продавца" все равно будет таблица соответствия клиент / код, да и вряд ли попадутся одинаковые.
Почитай FAQ форума, там была статья о добавлении поля в эту таблицу.

2) Теперь компонент регистрации. Открываешь файл /components/com_registration/registration.php
Допустим, поле, которое ты создал называется consumer.
Чтобы в это поле при регистрации пользователя заносилось (и там и оставалось) случайное число в каком-то диапазоне - нужно написать такое:
Код
	$row->consumer = mt_rand(1000000, 9999999);

вместо 1000000 и 9999999 ставишь начало и конец своего диапазона.
Можно еще использовать функцию mosMakePassword - тогда вообще код мозгосломительный получается:

Код
	$row->consumer = md5( mosMakePassword() );

Вписать эту строчку нужно где-то внутри function saveRegistration(), можно сразу после объявления глобальных переменных:
Код
function saveRegistration() {
global $database, $acl;
global $mosConfig_sitename, $mosConfig_live_site, $mosConfig_useractivation, $mosConfig_allowUserRegistration;
global $mosConfig_mailfrom, $mosConfig_fromname, $mosConfig_mailfrom, $mosConfig_fromname;

3) Тааак... Теперь файл includes/joomla.php
Находим кусок
Код
			$user->params 			= $my->params;
$user->name = $my->name;
$user->email = $my->email;
$user->block = $my->block;
$user->sendEmail = $my->sendEmail;
$user->registerDate = $my->registerDate;
$user->lastvisitDate = $my->lastvisitDate;
$user->activation = $my->activation;

и сразу после него дописываем

Код
			$user->consumer		= $my->consumer;

В этом же файле меняем

Код
$query = "SELECT id, name, email, block, sendEmail, registerDate, lastvisitDate, activation, params"

на

Код
$query = "SELECT id, name, email, block, sendEmail, registerDate, lastvisitDate, activation, params, consumer"

4) Вот теперь - mod_kupon.php
Ну, там проще - дописываешь после
Код
$name = $my->name;
$username = $my->username;
$email = $my->email;
$usertype = $my->usertype;
$registerDate = $my->registerDate;

вот это:
Код
$consumer = $my->consumer;

и в нужном месте выводишь
Код
<?php echo $consumer; ?>

Где и как продавцам получить таблицу всех кодов - другой разговор.


ЗЫ: к делу это не относится совсем, но Господи, как же полезно, оказывается, внимательно читать FAQ!!!
ЗЗЫ: я дура...
ЗЗЗЫ: сама же сослалась на статью из FAQ, сама же не дочитала ее до конца - в результате пришлось самой же разбираться, как с помощью глобальной my выводить этот чертов consumer )))  О, бесценные 20 минут моей жизни! Если бы не баночка пива, вы были бы потрачены впустую!
ЗЗЗЗЫ: читайте FAQ  ;)
« Последнее редактирование: 30.12.2008, 18:10:01 от chtec »
Осень тоже хорошо.
*

infobody

  • Захожу иногда
  • 52
  • 2 / 0
  • заряжен
Re: Создание регистрационного купона
« Ответ #6 : 30.12.2008, 18:57:11 »
А если бы вы свои мысли облачили в код!
Цены бы вам небыло!
(я полный ламерюга в PHP)
*

chtec

  • Захожу иногда
  • 230
  • 100 / 1
Re: Создание регистрационного купона
« Ответ #7 : 30.12.2008, 19:07:23 »
А если бы вы свои мысли облачили в код!

Как ни странно, я это уже сделала - куски кода есть? есть! И в какие файлы их вставлять - тоже указано. Думаю, было бы понятно, даже если бы все было на китайском.
Ты себя таким нехорошим словом не называй, пожалуйста - с ламерами общаться никому не нравится (чайники* - другое дело). Тем более, что о знании php уже и речь не идет, все, что от тебя требуется - это ctrl+c  и  ctrl+v
А если тебе нужен полноценный рабочий компонент, чтоб нажал на кнопочку и все работает - это уже в коммерческий раздел.

* основное отличие чайника от ламера состоит в том, что он потенциально обучаем.
Осень тоже хорошо.
*

infobody

  • Захожу иногда
  • 52
  • 2 / 0
  • заряжен
Re: Создание регистрационного купона
« Ответ #8 : 31.12.2008, 07:53:24 »
Согласен!
тогда я чайник с накипью :) (раз такое сделал - http://bobrolog.ru)
Купоны тоже сделаю тогда!
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Создание новой странице на сайте

Автор seojka

Ответов: 6
Просмотров: 2404
Последний ответ 16.06.2009, 21:21:33
от seojka
Создание своего RSS канала

Автор PILIGRIM

Ответов: 2
Просмотров: 2319
Последний ответ 06.05.2009, 14:49:44
от PILIGRIM
Создание фотоблока из превью в статье

Автор Kaspot

Ответов: 2
Просмотров: 1819
Последний ответ 05.02.2009, 17:28:16
от Kaspot
создание английской версии сайта

Автор max1m

Ответов: 4
Просмотров: 2907
Последний ответ 17.01.2009, 11:41:27
от fishka
Создание статической страницы

Автор Шерх

Ответов: 3
Просмотров: 2166
Последний ответ 20.10.2008, 18:08:12
от Шерх