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

chup

  • Новичок
  • 7
  • 1 / 0
Доброй ночи, уважаемые знатоки.
Сделав свой первый сайт на Joomla, из шаблона ju_interior (ссылка ниже) никак не могу решить одну проблему -- после публикации на хостинге, перестал подгружаться переделанный под мои требования header.swf, причём если вместо него поставить какой-нибудь посторонний header.swf, его он отображает нормально. Также пробовал ставить изначальную версию этого файла, его сайт тоже соглашается загружать. (header.swf правился программой Flash Decompiler Trillix, и на локальном компе отображался на ура.)
Внимание вопрос: может ли это быть защита шаблона ? И, соответственно, можно ли её как-то обойти ?

[spoiler title=шаблон ju_interior]http://demo5.joomla2you.com/index.php?mod_change_template_43=ju_interior[/spoiler]
[spoiler title=здесь отдельно можно глянуть на header.swf]http://www.comfors.ru/templates/ju_interior/images/[/spoiler]
[spoiler title=на всякий случай - мой сайт)]азимут-спб.рф[/spoiler]


« Последнее редактирование: 02.03.2011, 00:33:22 от chup »
*

al-teen

  • Глобальный модератор
  • 2385
  • 224 / 10
  • im
Re: Защита шаблона или кривые руки ?
« Ответ #1 : 02.03.2011, 05:31:53 »
Автор,придекомпиляции swf файла вполне обоснованна потеря изначальных данных.Флеш приложение само по себе не предусматривает декомпиляции.Для возможноого редактирования(если разработчик допускает его) к файлу swf добавляется его исходник в формате fla,вот его как раз можно изменять и перекраивать.А иначе проще создать ролик с нуля.
*

chup

  • Новичок
  • 7
  • 1 / 0
Re: Защита шаблона или кривые руки ?
« Ответ #2 : 02.03.2011, 10:10:19 »
Но ведь на локальном то компе всё отображается как надо, значит критичного ничего не похерено, я так понимаю ? Может всё-таки какая-то валидация при размещении в вебе имеет место ?
*

al-teen

  • Глобальный модератор
  • 2385
  • 224 / 10
  • im
Re: Защита шаблона или кривые руки ?
« Ответ #3 : 02.03.2011, 17:01:26 »
Вы сами ответили на свой вопрос
Цитировать
причём если вместо него поставить какой-нибудь посторонний header.swf, его он отображает нормально
*

staticlight

  • Завсегдатай
  • 1086
  • 65 / 0
  • Staticlight
Re: Защита шаблона или кривые руки ?
« Ответ #4 : 02.03.2011, 17:09:36 »
У меня появляется надпись Made by Joomla2You и пропадает - на твоем сайте, и на локальной машине.
Руководитель отдела сервисного обслуживания систем безопасности.
Устали от com_content - поставьте com_k2.
TRIPLE "F" POWER: Firefox+FireShot+Firebug. Chrome + Ctrl+Shift+I
*

chup

  • Новичок
  • 7
  • 1 / 0
Re: Защита шаблона или кривые руки ?
« Ответ #5 : 02.03.2011, 19:21:26 »
Цитировать
У меня появляется надпись Made by Joomla2You и пропадает - на твоем сайте, и на локальной машине.
это как раз и есть "родное" начало ролика header.swf, если я ставлю свой, в котором надпись изменена, то он вообще ничего не показывает. Причём на локальном, повторюсь ещё разок, отображается всё как надо и с моим хедером.
*

chup

  • Новичок
  • 7
  • 1 / 0
Re: Защита шаблона или кривые руки ?
« Ответ #6 : 02.03.2011, 19:24:31 »
Цитировать
Вы сами ответили на свой вопрос
тогда я не понял что именно я сам себе ответил)
*

chup

  • Новичок
  • 7
  • 1 / 0
Re: Защита шаблона или кривые руки ?
« Ответ #7 : 02.03.2011, 20:01:18 »
может кто знает Язык Машин, подскажет, есть ли здесь какие-нибудь зацепки за его родные файлы, которые не дают ставить свои?
[spoiler title=ActionScript header.swf]
bannerWidth = 766;
bannerHeight = 250;
transitions = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30];
useRandomTransitions = true;
useRandomImages = true;
alphaSpeed = 2;
duration = 4;
var XML = new XML();
xml.ignoreWhite = true;
function nextMask(current) {
   if (transitions.length == 1) {
      return current;
    }
    if (useRandomTransitions) {
        rand = current;
        while (current == rand) {
           rand = Math.round(Math.random() * (transitions.length - 1));
        }
        return rand;
        return;
    }
    if (current == transitions.length-1) {
        current = 0;
    } else {
        ++current;
    }
    return current;
}
var images = new Array();
var urls = new Array();
var mcLoader = new MovieClipLoader();
var loadListener = new Object();
i = 0;
currentImage = 0;
duration = duration * 1000;
currentMask = 0;
banner = createEmptyMovieClip("banner", 0);
loadXML = function ()
{
    var __reg4 = this.firstChild.childNodes;
    total = __reg4.length;
    var __reg3 = 0;
    while (__reg3 < total)
    {
        images.push(__reg4[__reg3].attributes.image);
        urls.push(__reg4[__reg3].attributes.url);
        ++__reg3;
    }
    holder = banner.createEmptyMovieClip("holder0", 0);
    inner = holder.createEmptyMovieClip("inner", 0);
    loadMovie(images[currentImage], inner);
    banner.onRelease = function ()
    {
        getURL(urls[currentImage], "");
    }
    ;
    intervalId = setInterval(_root, "changeImage", duration);
}
;
xml.onLoad = loadXML;
xml.load("templates/ju_interior/images/photos.xml");
changeImage = function ()
{
    ++i;
    i2 = i - 2;
    removeMovieClip(banner["holder" + i2]);
    if (useRandomImages)
    {
        cI = currentImage;
        while (cI == currentImage)
        {
            currentImage = Math.round(Math.random() * (total - 1));
        }
    }
    else
    {
        ++currentImage;
        if (currentImage > images.length - 1)
        {
            currentImage = 0;
        }
    }
    if (transitions[currentMask])
    {
        holder = banner.createEmptyMovieClip("holder" + i, i);
        inner = holder.createEmptyMovieClip("inner", 0);
        loadListener.onLoadInit = function ()
        {
            masc = holder.attachMovie("mask" + transitions[currentMask], "masc", 1);
            masc._width = bannerWidth;
            masc._height = bannerHeight;
            holder.setMask(masc);
            currentMask = nextMask(currentMask);
        }
        ;
        mcLoader.addListener(loadListener);
        mcLoader.loadClip(images[currentImage], inner);
        return;
    }
    holder.onEnterFrame = function ()
    {
        if (this._alpha > 0)
        {
            this._alpha = this._alpha - alphaSpeed;
            return;
        }
        removeMovieClip(this);
    }
    ;
    holderr = banner.createEmptyMovieClip("holder" + i, i);
    inner = holderr.createEmptyMovieClip("inner", 0);
    loadListener.onLoadInit = function ()
    {
        holderr._alpha = 0;
        holderr.onEnterFrame = function ()
        {
            if (this._alpha < 100)
            {
                this._alpha = this._alpha + alphaSpeed;
                return;
            }
            delete this.onEnterFrame;
        }
        ;
        currentMask = nextMask(currentMask);
    }
    ;
    mcLoader.addListener(loadListener);
    mcLoader.loadClip(images[currentImage], inner);
}
;
stop();[/spoiler]
*

al-teen

  • Глобальный модератор
  • 2385
  • 224 / 10
  • im
Re: Защита шаблона или кривые руки ?
« Ответ #8 : 02.03.2011, 23:00:48 »
На ПК флеш плейер иного типа, нежели для браузера. Вы не обращали внимание, что при установленном adobe flash новый браузер просит установить еще и плагин плейера для себя? Они разные. Если для десктопной версии разработчикам вполне обоснованно закладывать в интерпретатор кода исправленное отображение кривых роликов, то в браузерной модели подобное увеличит вес кода во много раз. И что значит "машинного языка"? Машинный язык - это то, что вы можете видеть открыв блокнотом тот же флеш - ролик. Компилированный машинный код. Видимо Вы обратную компиляцию проводили той же самой программой, потому не удивляйтесь в том, что ролик отказывает в стабильной работе. Нормальный профессиональный компилятор бы вообще выполнять операцию не стал при существующих ошибках.  Посему, если Вы хотите чтобы все работало, закажите НОВУЮ флешку и не трепите нервы ни себе не людям.
*

al-teen

  • Глобальный модератор
  • 2385
  • 224 / 10
  • im
Re: Защита шаблона или кривые руки ?
« Ответ #9 : 02.03.2011, 23:08:22 »
После второй группы в коде встречаются пересеченные элементы.Это уже измененный Вами код?Впечатление складывается,будто вырезали куски не заботясь о принципе вложенности и наследования.
*

chup

  • Новичок
  • 7
  • 1 / 0
Re: Защита шаблона или кривые руки ?
« Ответ #10 : 02.03.2011, 23:32:55 »
После второй группы в коде встречаются пересеченные элементы.Это уже измененный Вами код?Впечатление складывается,будто вырезали куски не заботясь о принципе вложенности и наследования.
нет, я ничего не изменял, это то, что было в шаблоне изначально.
спасибо за компетентные ответы. Но вопрос всё-же не закрыть. Не пойму всё-равно, почему когда я ставлю на веб-сайт изначальный, не тронутый мной header.swf, он грузит только первую свою часть -- надпись "Joomla for you", а картинки, которые лежат, насколько я могу судить, в правильной папке и под правильными именами, никак не хочет показывать ?
Вы, кстати, не подскажете у кого заказать эту нормальную флешку ? и сколько стоит это удовольствие ?
*

al-teen

  • Глобальный модератор
  • 2385
  • 224 / 10
  • im
Re: Защита шаблона или кривые руки ?
« Ответ #11 : 02.03.2011, 23:52:13 »
нет, я ничего не изменял, это то, что было в шаблоне изначально.
спасибо за компетентные ответы. Но вопрос всё-же не закрыть. Не пойму всё-равно, почему когда я ставлю на веб-сайт изначальный, не тронутый мной header.swf, он грузит только первую свою часть -- надпись "Joomla for you", а картинки, которые лежат, насколько я могу судить, в правильной папке и под правильными именами, никак не хочет показывать ?
Вы, кстати, не подскажете у кого заказать эту нормальную флешку ? и сколько стоит это удовольствие ?
В Вашем коде стоит создание XML документа с последующей выборкой данных из него. Не пойму только на каком уровне происходит работа. Путь к изображению приложение берет из файла XML. Заказать возможно на фрилансе. Цена зависит от Вас самого, плюс от профессионализма исполнителя. В среднем же от 3000р. Если есть желание и возможность заказать, то можем с Вами обсудить условия и сроки.
*

chup

  • Новичок
  • 7
  • 1 / 0
Re: Защита шаблона или кривые руки ?
« Ответ #12 : 03.03.2011, 23:51:31 »
Алгоритм там такой : header.swf проигрывает надпись"Made by Joomla2you", потом, ссылается на photos.xml, который содержит пути к файлам-картинок и адреса ссылок, на которые при клики на ту или иную картинку попадаешь.
Я исправил только надпись про Joomla и ссылки в photos.xml, не понимаю, неужели так эти изменения сильно сказались на всём файле целиком ?!
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Как вывести путь до шаблона с помощью API Joomla?

Автор elche

Ответов: 13
Просмотров: 15821
Последний ответ 11.09.2018, 23:48:50
от DK-Scorp
Стили шаблона

Автор karkan25

Ответов: 12
Просмотров: 4548
Последний ответ 21.05.2017, 16:40:32
от karkan25
Проблема с изменением логотипа штатного шаблона rhuk_milkyway Joomla_1.5

Автор Porohok

Ответов: 6
Просмотров: 4878
Последний ответ 22.03.2017, 10:34:23
от Porohok
Настройка неадаптивного шаблона

Автор Zegeberg

Ответов: 4
Просмотров: 4595
Последний ответ 21.06.2016, 00:21:06
от Zegeberg
Редактирование шаблона

Автор gdmitry

Ответов: 1
Просмотров: 4430
Последний ответ 04.06.2016, 20:25:32
от Taatshi