Новости 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

Голосование

Нужна ли программа для мобильных телефонов для управления Virtuemart'ом?

Да, очень сильно нужна
17 (31.5%)
Да, неплохо было бы
23 (42.6%)
Мне всеравно
1 (1.9%)
Нет, это лишнее
8 (14.8%)
Я не пользуюсь таким софтом
5 (9.3%)

Проголосовало пользователей: 54

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

hardstep

  • Захожу иногда
  • 76
  • 5 / 0
прогу не смотрел, но похоже, что полезная. посмотрел ролик.
для случая коннекта через ssh может стоит делать автоматический повтор попытки соединения, если предыдущая попытка оказалась неудачной?
и логичнее для коннекта через ssh все настройки вводить на одной вкладке, для обычного - на другой.
а то получается там введи то-то, здесь введи то-то и даже опытным сходу не все очевидно будет.


my@so, огромное кол-во товаров удобней забивать sql-запросами к бд. у меня некоторые товары в таблице excel. макросом генерируется 2 запроса для каждого товара. 1 запрос, чтобы внести обычную информацию о товаре, а второй запрос для занесения атрибутов типа товара.
как там в мультике было про крылья, ноги и хвосты? "лучше день потерять, потом за 5 минут долететь" (с) крылья, ноги и хвосты
день - это условно, можно и гораздо быстрей автоматизировать.
*

Soil

  • Захожу иногда
  • 51
  • 10 / 0
  • это я
Благодарю за комментарий. Прислушаюсь к Вашим советам. Очень полезные, т.к. лучший тестер любой программы - это юзер, а программист исправит лишь первичные ошибки)
*

Soil

  • Захожу иногда
  • 51
  • 10 / 0
  • это я
Благодарю всех за поддержку, за багрепорт и тем, кто скинулся по рублю мне на кошелек))
*

Yorik

  • Новичок
  • 6
  • 0 / 0
В багрепорт не поместилось:) :

Операционная
система: WinXP   
Версия программы: 0.4.9.33   
Описание:   

База в УТФ8, а категории и товары нормально показывает при установке 1251 в настройках(при "по умолчанию" - вопросики, при "утф8" - кракозяблы).

Когда заходишь в редактирование уже существующего(созданного не прогой) товара или категории выдает окно "Could not convert variant of type (Null) into type (OleStr)", после "Ок" - открывает окно с товаром(категорией), но с заполненными только названием и артикулом(остальные формы пустые, цена 0).
Если товар создать программой, то заходит в него и всё ок.

В окне товара вместо миниатюры выдает "открытую браузером" директорию .../resized с перечнем картинок(Кстати эта папка может у кого-то отличатся в названии или расположении, так что желательно добавить в настройки путь к картинкам).

Недоработки:
-цена прописывается в рублях, а не в валюте по умолчанию(возможно из-за этого проблемы в товаре);
-нельзя задать кол-во товара на складе и производителя.

« Последнее редактирование: 28.10.2010, 12:09:53 от Yorik »
*

Soil

  • Захожу иногда
  • 51
  • 10 / 0
  • это я
Спасибо за багрепорт. Буду работать в этом направлении

начинающий постойщик сайтов. есть возможность загружать товар прайсами?, т к товара большое количество. виснет ещё как набиваешь товара много.
*

Soil

  • Захожу иногда
  • 51
  • 10 / 0
  • это я
Возможности пока нету - постараюсь сделать в следующем билде (но думаю это будет после нового года уже:(). Но нужно будет подгонять прайс под строгую типизацию-например:
Артикул наименование цена вес...
Поля должны будут в прайсе строго соответствовать которые будут объявлены в программе(т.е. если у вас в прайсе будет: Цена Наименование Артикул ... - то это не подойдет уже). Есть небольшая идея как сделать этот процесс гибче - но пока не знаю, получится ли... Если у кого-то есть предложения как сделать загрузку данных из прайсов - буду очень рад.
*

lakker

  • Осваиваюсь на форуме
  • 21
  • 0 / 0
ПОдскажите не как не могу подключит в консоли ERORR уже менял что угодно сервер на byethost22.com Очень хорошая программа помогите подключить. Файроволы и экраны вырублены. К ФТП подключается а к ССШ нет.
*

Soil

  • Захожу иногда
  • 51
  • 10 / 0
  • это я
оу с byethost22.com - ничем помоч немогу (( у меня у самого там сайт хостится один )) и я даже, честно говоря не нашел там ssh-доступа %) а без него, как я понял, не получить доступ к этому хостингу.
« Последнее редактирование: 14.11.2010, 22:45:16 от Soil »
*

lakker

  • Осваиваюсь на форуме
  • 21
  • 0 / 0
Жаль... программа очент классная буду ради нее переносить на другой хостинг

Не могу подключиться...
Настроил по ролику тунель, все равно не заходит.
В консоле пишет
Opening forwarded connection to localhost:3306
Forwarded port closed

Адрес хоста - localhost, порт - 3306 оба
Через команду, в том же открытом плинке,
mysql -u username -ppassword database_name
заходит.
Уже саппорту хостинга весь мозг съел.
*

terr

  • Давно я тут
  • 824
  • 14 / 6
  • Ученик html-я
а нафиг етот ssh нужен просто база данных и фтп несканают чтоли?
никакмми вариантами не падключается прога, все пароли ввожу правильно толку нет пишет ошибку и все.
поставил другой пароль в проге на ssh пишет доступ запрпщен, значит по паролю пускает, спрашитвается какова фига он мене пишет ошибка логин пароль кароче не падключается к бд вот скрин


в чом касяк(
« Последнее редактирование: 20.12.2010, 15:04:41 от terr »
*

Soil

  • Захожу иногда
  • 51
  • 10 / 0
  • это я
Цитировать
а нафиг етот ssh нужен просто база данных и фтп несканают чтоли?
SSH нужен для того, чтобы получить доступ к базе данных. Дело в том, что многие хостинг-компании не поддерживают прямое соединение с БД с удаленных адресов. SSH делает соединение с БД - локальным (проброс портов).

На скрине вижу, что SSH соединение у вас установлено верно. Скорее всего не верно вводите логины, пароли или распространенная ошибка - неправильные адреса серверов. Напоминаю, что если вы установили ssh-соединение то в качестве удаленного сервера надо указывать localhost.

Рекомендую просмотреть мой обучающий ролик по этому поводу: http://msva.ru/msvaic/video/msvaic_options/.
*

terr

  • Давно я тут
  • 824
  • 14 / 6
  • Ученик html-я
у меня не localhost а db250 идет
хотя и с localhost тоже не подходит, пароли верные я их ввожу когда на phpmyadmin хахожу
ролик сматрел смысла там немного, все и так ясно куда что вписывать, только вот неробит(
Вобщем все я вписываю правильно и адрес сервера ssh поддержка тоже есть, localhost все как надо но он все ровно не пускает...


Сейчас вот так пишет



почему то на сервер не хочет подключать хотя все правильно указываю
« Последнее редактирование: 20.12.2010, 16:52:28 от terr »
*

terr

  • Давно я тут
  • 824
  • 14 / 6
  • Ученик html-я
*

xTMx

  • Захожу иногда
  • 145
  • 4 / 0
увы,хостер обрубил удаленный доступ к базе данных ((( я так понимаю что проблема подключения именно из за этого(( а жаль( хотелось очень проверить прогу(
*

Soil

  • Захожу иногда
  • 51
  • 10 / 0
  • это я
Причём только когда редактирую товары, а категории нормально редактирует. И ещё по сути у меня кодировка стоит UTF-8 но правильно показывает только когда выбираю win или автомат....

Да, ошибка появляется изредка - я пока не могу ее отловить. Не знаю по какой причине.

P.S. А так идея крутая....( не подскажешь где чем и на каком языке программируешь? Я в этом толька не знаю но хотел бы учиться )

Программирую на Delphi в среде Embarcadero Delphi 2010 без .NET. Если учиться, то не на этой программе, тут уже более 7 000 строк исходного кода. А, если есть желание - уже хорошо!
« Последнее редактирование: 28.12.2010, 10:59:17 от Soil »
*

Soil

  • Захожу иногда
  • 51
  • 10 / 0
  • это я
увы,хостер обрубил удаленный доступ к базе данных ((( я так понимаю что проблема подключения именно из за этого(( а жаль( хотелось очень проверить прогу(

Да, очень жаль ((
*

Soil

  • Захожу иногда
  • 51
  • 10 / 0
  • это я
у меня не localhost а db250 идет
хотя и с localhost тоже не подходит, пароли верные я их ввожу когда на phpmyadmin хахожу
ролик сматрел смысла там немного, все и так ясно куда что вписывать, только вот неробит(
Вобщем все я вписываю правильно и адрес сервера ssh поддержка тоже есть, localhost все как надо но он все ровно не пускает...


Сейчас вот так пишет


почему то на сервер не хочет подключать хотя все правильно указываю

Вам надо обратиться к Вашему хостеру и уточнить все настройки.
*

xTMx

  • Захожу иногда
  • 145
  • 4 / 0
попробывал прогу локально!  охрененно! Естественно есть куда расти, но даже сейчас уже отлично некоторые функции выполнять на ней)
Знаю немножечко кодинг под дотнет\си шарп. Нужны будут какие советы, спрашивайте,авось смогу помочь)
*

nick71

  • Завсегдатай
  • 1145
  • 12 / 12
  • Сайты любой сложности - обращайтесь
Программу не тестил, все руки не доходят, но из описания понял что вещь полезная. Но у меня вопрос в другом: а насколько реально как-то автоматизировать процесс выгрузки товаров из 1С и загрузки заказов из магазина в 1С? Т.е. чтоб процесс происходил автоматом через определенный промежуток времени?
*

Soil

  • Захожу иногда
  • 51
  • 10 / 0
  • это я
Автоматом - я не знаю как сделать. Максимум, что сейчас могу сделать это экспорт заказов в текстовые файлы или *.csv, может быть даже по определенному промежутку времени, а дальше уже сами настраиваете 1С. А импорт товаров из 1С сейчас можно сделать через .csv файлы, правда программа пока не умеет определять категории и разделы.
*

Messir

  • Давно я тут
  • 532
  • 73 / 0
  • могу укусить:)
Цитировать
Максимум, что сейчас могу сделать это экспорт заказов в текстовые файлы или *.csv, может быть даже по определенному промежутку времени
ИМХО, идеальный вариант: один заказ - один файл, имя файла - номер заказа с каким-то префиксом. Делать проверку, например, по статусу заказа, чтобы выгружать не все, а только новые. Такую модель дальше обработать в 1С не составляет труда.
Что же касается выгрузки товаров из 1С, то с этим неплохо справляется CSVI, может быть и не нужно заморачиваться? Хотя иметь все в одном флаконе - заманчиво)))))
*

Soil

  • Захожу иногда
  • 51
  • 10 / 0
  • это я
Цитировать
ИМХО, идеальный вариант: один заказ - один файл, имя файла - номер заказа с каким-то префиксом. Делать проверку, например, по статусу заказа, чтобы выгружать не все, а только новые. Такую модель дальше обработать в 1С не составляет труда.
Что же касается выгрузки товаров из 1С, то с этим неплохо справляется CSVI, может быть и не нужно заморачиваться? Хотя иметь все в одном флаконе - заманчиво)))))

Ну, в принципе, идея хорошая. Я с 1С не работал почти совсем и не знаю насколько легко или сложно там делается Импорт/экспорт. Может еще у кого идеи есть? А так, я доведу до ума обработку заказов и сделаю автоэкспорт заказов - может быть, это будет включаться в настройках как то.
*

nick71

  • Завсегдатай
  • 1145
  • 12 / 12
  • Сайты любой сложности - обращайтесь
в принципе есть готовые решения, если погуглить "синхронизация VirtueMart и 1С" то найдется несколько. Но во-первых платные, во вторых не всегда удачные по разным причинам. А хотелось бы иметь под рукой инструмент благодаря которому можно легко и без особых знаний настроить синхронизацию магазина и 1С, а то пока разберешься как там все настраивать - труба! Вот бы кто сделал инструмент, доступный для всех и простой в использовании
*

Messir

  • Давно я тут
  • 532
  • 73 / 0
  • могу укусить:)
Цитировать
Вот бы кто сделал инструмент, доступный для всех и простой в использовании
Да нереально это, в плане куска, который связан с 1С... Конфигураций куча, все нюансы не предусмотришь...
Поэтому и говорю, что нужна просто выгрузка. Когда в наличии имеется текстовый файл - с ним можно делать все, что угодно.
*

nick71

  • Завсегдатай
  • 1145
  • 12 / 12
  • Сайты любой сложности - обращайтесь
ну можно основные параметры предусмотреть, т.е. артикул, наименование, описания, фотки, цены и т.д., в идеале - чтоб можно было самостоятельно включать-выключать необходимое. Ну и чтоб заказы автоматом загружались в 1С.
*

Soil

  • Захожу иногда
  • 51
  • 10 / 0
  • это я
Я не знаю, существует ли такая возможность написать какой-нибудь модуль для 1С, универсальный, который подойдет ко всем 1С базам и который можно как то настроить для каждой конкретной базы... а дальше я уже сделаю, чтобы программа ему подсовывала в нужном формате инфу.
*

Messir

  • Давно я тут
  • 532
  • 73 / 0
  • могу укусить:)
Делал для одной фирмы ИМ, надо было связать с 1С. Конфигурация 1С весьма далека от базовой. Думал, думал.... плюнул, обратился к первому пробегавшему мимо 1Снику и через 2 часа получил обработку, которая необходимую инфу вытаскивала в csv и присваивала нужные названия полям. После этого скормить этот файлик CSVI не составляло труда. Ради интереса попробовал обработку на другой базе 1С, не запустилась. Это я к тому, что сильно сомнительно получить универсальный модуль. Играет роль и конфигурация базы, и релиз оболочки и куча дополнительных факторов. ИМХО, эффективнее работать через внешний файл, тогда специалисту проще подогнать действительное под желаемое))
*

Mixxxa

  • Захожу иногда
  • 86
  • 0 / 0
По описанию программа хорошая, но я так и не понял поддерживается ли загрузка картинок к товарам?
« Последнее редактирование: 09.07.2013, 23:57:57 от Mixxxa »
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Панель управления поиск по производителю

Автор newjey

Ответов: 6
Просмотров: 1602
Последний ответ 11.07.2014, 12:32:47
от newjey
Общая форма для управления множеством товаров

Автор Александр216

Ответов: 1
Просмотров: 1462
Последний ответ 12.07.2012, 12:33:27
от fsv
VirtueMart Products Manager: Программа для управления товарами

Автор BTStudio

Ответов: 11
Просмотров: 5442
Последний ответ 31.12.2011, 11:07:56
от tefun
Система управления товарами off-line

Автор riamax

Ответов: 9
Просмотров: 3579
Последний ответ 12.01.2011, 15:25:35
от Aleks_El_Dia