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

koshsh

  • Захожу иногда
  • 278
  • 8 / 0
Ошибка в модуле mod_ja_header
« : 24.11.2010, 19:41:07 »
Здравствуйте, перенес на другой хост сайт и возникла вот такая ошибка в работе модуля анимации картинок mod_ja_header:


Код
Warning: opendir(/home/virtwww/w_harbinglobal-ru_83ddd0b5/http/templates/ja_antares/images/header) [function.opendir]: failed to open dir: No such file or directory in /home/virtwww/w_harbinglobal-ru_83ddd0b5/http/modules/mod_ja_header/mod_ja_header.php on line 82

Warning: readdir(): supplied argument is not a valid Directory resource in /home/virtwww/w_harbinglobal-ru_83ddd0b5/http/modules/mod_ja_header/mod_ja_header.php on line 84

Вот поглядите www.harbinglobal.ru

Это модуль на который ссылается ошибка:

Код
<?php



defined( '_JEXEC' ) or die( 'Restricted access' );

$ja_header_type = $params->get('ja_header_type');
$ja_header_imgtype = $params->get('ja_header_imgtype');
$ja_header_folder = $params->get('ja_header_folder');
$ja_header_timer = intval($params->get('ja_header_timer'));
$ja_header_order = $params->get('ja_header_order');
$ja_header_fadetime = intval($params->get('ja_header_fadetime'));
$ja_header_looping = $params->get('ja_header_looping');
$ja_header_xpos = intval($params->get('ja_header_xpos'));
$ja_header_ypos = intval($params->get('ja_header_ypos'));
$ja_header_width = $params->get('ja_header_width');
$ja_header_height = $params->get('ja_header_height');
switch ($ja_header_type) {
case 'flash':
//write to ja.headerxml.php file
$dir = $ja_header_folder;
$ja_header_imgtype = explode (',', $ja_header_imgtype);
for ($i=0;$i<count ($ja_header_imgtype); $i++) $ja_header_imgtype[$i] = "(\\.".$ja_header_imgtype[$i].")";

$regex = '/'.@implode ('|', stripcslashes($ja_header_imgtype)).'$/i';
$headerimage = "";

$live_path = JURI::base().$dir;
$abs_path = JPATH_SITE."/".$dir;
$dh  = opendir($abs_path);
$files = array();
$write_string = "<gallery timer=\"".$ja_header_timer."\" order=\"".$ja_header_order."\" fadetime=\"".$ja_header_fadetime."\" looping=\"".$ja_header_looping."\" xpos=\"".$ja_header_xpos."\" ypos=\"".$ja_header_ypos."\">\n";

while (false !== ($filename = readdir($dh))) {
if (is_file($abs_path."/".$filename) && preg_match($regex, $filename)) {
$write_string .= "<image path=\"$live_path/$filename\" />\n";
}
}
$write_string .= "</gallery>";
$fp=fopen(JPATH_SITE.'/modules/mod_ja_header/ja_header/ja.headerxml.php','w');
fwrite($fp, $write_string) or die("Error writing to file");
fclose($fp);
//
echo "<script type=\"text/javascript\" src=\"".JURI::base()."modules/mod_ja_header/ja_header/swfobject.js\"></script>\n";
?>

<script type="text/javascript">
var flashvars = {
xml_input: "<?php echo JURI::base(); ?>modules/mod_ja_header/ja_header/ja.headerxml.php"
};

var params = {
  wmode: "transparent"
};

var attributes = {
  id: "ja-flash",
  name: "ja-flash"
};

swfobject.embedSWF("<?php echo JURI::base(); ?>modules/mod_ja_header/ja_header/ja.header.swf", "ja_header_flash", "<?php echo $ja_header_width; ?>", "<?php echo $ja_header_height; ?>", "9.0.0","", flashvars, params, attributes);

</script>
<div id="ja_header_flash">
</div>
<?php
break;
case 'js_fade':
echo "<script type=\"text/javascript\" src=\"".JURI::base()."modules/mod_ja_header/ja_header/ja.header.js\"></script>\n";
echo "<script type=\"text/javascript\">fadetime = ".($ja_header_fadetime*1000).";</script>";
echo "<div id=\"ja_header_jsfade\" style=\"position:relative;width:$ja_header_width;height:$ja_header_height;overflow:hidden;;z-index:1;\">\n";

$dir = $ja_header_folder;
$ja_header_imgtype = explode (',', $ja_header_imgtype);
for ($i=0;$i<count ($ja_header_imgtype); $i++) $ja_header_imgtype[$i] = "(\\.".$ja_header_imgtype[$i].")";

$regex = '/'.@implode ('|', stripcslashes($ja_header_imgtype)).'$/i';
$headerimage = "";

$live_path = JURI::base().$dir;
$abs_path = JPATH_SITE."/".$dir;
$dh  = opendir($abs_path);
$files = array();
while (false !== ($filename = readdir($dh))) {
if (is_file($abs_path."/".$filename) && preg_match($regex, $filename)) {
echo "<img src=\"$live_path/$filename\" alt=\"\" title=\"\" style=\"position:absolute;top:0;left:0;display:none;z-index:1;\"/>\n";
}
}
echo "</div>\n";
break;
}



?>


Как я понял дело в этом параметре наверное $dh  = opendir($abs_path); Что делать?
*

koshsh

  • Захожу иногда
  • 278
  • 8 / 0
Re: Ошибка в модуле mod_ja_header
« Ответ #1 : 24.11.2010, 22:38:39 »
Тему можно закрыть, решил вопрос тупо удалив модуль и закачав идентичный. Правда почему то по умолчанию стоит папка с другим шаблоном, поэтому будьте внимательны. :D
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

YOOtheme pro ошибка фото

Автор andersonov

Ответов: 1
Просмотров: 1279
Последний ответ 20.12.2024, 19:16:38
от Missile
Получение полей формы регистрации в своём модуле

Автор vanguger

Ответов: 1
Просмотров: 2449
Последний ответ 24.05.2023, 19:04:29
от vanguger
Ошибка после обновления Templater manager от разработчика Regular Labs

Автор fbr

Ответов: 2
Просмотров: 1045
Последний ответ 24.03.2021, 21:17:35
от fbr
Ошибка при установке DJ Reviews

Автор Kijv

Ответов: 0
Просмотров: 944
Последний ответ 15.02.2021, 14:52:09
от Kijv
Как убрать ограничение количества символов в html модуле?

Автор Bozhkov2

Ответов: 2
Просмотров: 1131
Последний ответ 05.11.2020, 14:48:38
от Bozhkov2