Новости 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 Ответов
  • 2169 Просмотров
*

Шмайсер

  • Давно я тут
  • 801
  • 35 / 3
Всем привет, может у кого есть в заначке, всё облазил не нашел, а писать самому именно это сейчас и времени, и желания нету. В общем, нужна реализация переключателя языков такого вида: иконка земной шар, по клику на него выпадает список языков. Заранее спасибо!
« Последнее редактирование: 30.03.2019, 12:54:22 от Шмайсер »
Разработка сайтов любой сложности, на Joomla 3.9-4.x и не только на ней. Пишу компоненты, модули и плагины на заказ. Переношу сайты с ветки 2.5.х на 4-ю версию Joomla. Пишу любые скрипты и интерфейсы.
*

Шмайсер

  • Давно я тут
  • 801
  • 35 / 3
В итоге сам написал простенькую переключалку, может кому пригодится. Что бы все работало, надо переопределить шаблон mod_language в HTML папку своего шаблона, стереть все, что есть в default.php и вставить вот этот код

Код
<?php
/**
 * @package Joomla.Site
 * @subpackage mod_languages
 * [member=126442]copyright[/member] Copyright (C) 2005 - 2012 Open Source Matters, Inc. All rights reserved.
 * @license GNU General Public License version 2 or later; see LICENSE.txt
 */

// no direct access
defined('_JEXEC') or die('Restricted access');
?>



<style>
#slow_nav > ul{

    margin:0px auto 0;
}
 
#slow_nav > ul > li{
    list-style: none;
    position:relative;
    padding:0;
}
 
#slow_nav a{text-decoration:none;}
 
#slow_nav > ul > li > a{
    font-size:16px;
    padding:5px;
    color:#333;
}
 
#slow_nav li ul{
width:200px;
    position:absolute;
    list-style:none;
    text-align:center;
    top:32px;
    font-size:15px;
    left:-5px;
    margin:0;
    padding:0;
 z-index:99999999999;
/* Данные строки нужны для правильной работы анимации */
    max-height:0px;
    overflow:hidden;
    -webkit-transition:max-height 0.4s linear;
    -moz-transition:max-height 0.4s linear;
    transition:max-height 0.4s linear;
/* конец */
}
 
#slow_nav li:hover ul{
    max-height:300px;
z-index:99999999999;
}
 
#slow_nav li ul li{
    background-color:#f3f4f4;padding:5px;
    border-bottom:1px solid #ededed;
}

#slow_nav li ul li img {width:18px;height:12px;margin:3px 8px 3px 0px;}
 
#slow_nav li ul li:last-child{
    border-bottom:none;
}
 
#slow_nav li ul li a{
    padding:5px 12px;
    color:#333;
    display:flex;
}
 
#slow_nav li ul li:hover{
    background-color:#ededed;
}
 
#slow_nav li ul li:first-child{
    margin-top:20px;
    position:relative;
}
 
#slow_nav li ul li:first-child:before{
    content:'';
    position:absolute;
    width:1px;
    height:1px;
    border:5px solid transparent;
    border-bottom-color:#f3f4f4;
    left:10px;
    top:-10px;
}
</style>

<nav id="slow_nav">
    <ul>
        <li>
        <a><img src="/templates/youtemplate/path-to-images/get_language.png" width="20px" height="20px" /></a>
            <ul>
  <?php foreach ($list as $language) : ?>
                <li>
<a href="<?php echo htmlspecialchars_decode(htmlspecialchars($language->link, ENT_QUOTES, 'UTF-8'), ENT_NOQUOTES); ?>">
<?php echo JHtml::_('image', 'mod_languages/' . $language->image . '.gif', '', null, true); ?>
<span><?php echo $language->title_native; ?></span>
</a>
</li>
              <?php endforeach; ?>
            </ul>
        </li>
       
    </ul>
</nav>



не забыв загрузить в папку с картинками иконку при наведении на которую будет выпадать список языков.
демка недолго будет http://vashost.nichost.ru/ (на сам сайт не смотреть, он пока на уровне прототипа, еще неизвестно что заказчик надумает в итоге)
« Последнее редактирование: 30.03.2019, 13:34:02 от Шмайсер »
Разработка сайтов любой сложности, на Joomla 3.9-4.x и не только на ней. Пишу компоненты, модули и плагины на заказ. Переношу сайты с ветки 2.5.х на 4-ю версию Joomla. Пишу любые скрипты и интерфейсы.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Поехал дизайн главной страницы одного из трех языков

Автор hlitov

Ответов: 3
Просмотров: 10017
Последний ответ 23.12.2024, 16:12:59
от enrikebosko288
Локализация Joomla 3.x (обсуждение перевода, инструкции и рекомендации)

Автор smart

Ответов: 363
Просмотров: 207184
Последний ответ 16.05.2022, 16:56:45
от SK
Falang и переключатель языка

Автор max_1985

Ответов: 3
Просмотров: 4815
Последний ответ 22.11.2021, 22:19:11
от max_1985
Нужен узбекский для Joomla 3

Автор nick71

Ответов: 6
Просмотров: 8947
Последний ответ 18.08.2021, 08:47:42
от Zaynidin
Как создать много страниц с названиями - Joomla 3?

Автор mig4you

Ответов: 20
Просмотров: 6476
Последний ответ 20.12.2020, 21:40:40
от gartes