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

BHy4eK

  • Захожу иногда
  • 110
  • 1 / 0
Есть такой модуль icevmfilter для вывода информации по сортировке товаров virtuemart
Выглядит он по умолчанию следующим образом:


А задача стоит сделать его горизонтальным:


Подскажите, как это можно реализовать.
*

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
Re: Изменение внешнего вида icevmfilter
« Ответ #1 : 11.11.2011, 01:17:17 »
нужно смотреть хтмл вывод модуля, если там каждый блок в диве - достаточно сделать его float: left
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

BHy4eK

  • Захожу иногда
  • 110
  • 1 / 0
Re: Изменение внешнего вида icevmfilter
« Ответ #2 : 11.11.2011, 01:30:00 »
Там 2 файла style.css

Код
p.ice-vmfilter-textabove {
        padding-top:.6em;
        margin-bottom:1.3em;
        font-size:1.1em;}

.ice-vmfilter-type h4 {
        font-size:1.2em}

.ice-vmfilter-hide{
    display:none}

.ice-vmfilter-show{}

.ice-vmfilter-gp{
    cursor: pointer;
    cursor: hand;
        font-style:italic;
    background: none!important;}

.ice-vmfilter-active{
   color: red;}

li.ice-vmfilter-selected {
    font-weight: bold;
        list-style-type:none;
        margin-left:-1.45em;}

        span.ice-vmfilter-remove img {
                float:left;
                margin:.15em .5em 0 0}

и default.php

Код
<?php if( $params->get('show_text_above','1') ): ?>
<p class="ice-vmfilter-textabove">
<?php echo $textAbove; ?>
</p>
<?php endif; ?>
<?php foreach( $types as $type ) : ?>
<div class="ice-vmfilter-type">
    <h4><?php echo $type->parameter_label; ?></h4>
     <ul>
    <?php
        $fields = explode( ";", $type->parameter_values );
        $idex=0;
        $tmpfield = '';

        $urlAdded = $currentURL;
        foreach ($fields as  $field ):
            $tmplURL = "&product_type_".$type->product_type_id."_".$type->parameter_name."_comp=find_in_set_any";
            if( !preg_match('/'.$tmplURL.'/', $currentURL) ){
             //   $currentURL = "&product_type_id=". $type->product_type_id.$tmplURL;
                $fields['_'.$field]['addURLAdded'] =    $tmplURL."&product_type_id=". $type->product_type_id;
               //  echo   $fields[$field]['addURLAdded'];die;
            }

            if( isset($fields['_'.$field]['addURLAdded']) ){
                $p = $fields['_'.$field]['addURLAdded'] ."&product_type_".$type->product_type_id."_".$type->parameter_name."[]=".$field;
            } else {
                $p ="&product_type_".$type->product_type_id."_".$type->parameter_name."[]=".$field;
            }            $output = modIceVmFilterHelper::getFieldsInfor( $field, $type, true );
            $isExisted = in_array(  substr($p, 1), $urlparams);
            if( !$isExisted ){
                $url =$currentURL.$p;
            }else {
                $url = str_replace( $p, "", $currentURL);
                if( count(explode("&product_type_".$type->product_type_id."_".$type->parameter_name."[]", $url)) <= 1 ){
                    $url = str_replace( $tmplURL, "", $url );
                    $url = str_replace("&product_type_id=". $type->product_type_id, "",$url);

                }


            }
     ?>
        <?php if ( $output['count'] ) : ?>
         <?php
              ++$idex;
                if( ($idex-1) == $maxParamsDisplay ) {
                    echo '<li class="ice-vmfilter-gp" id="ice-vmfilter-gp-'.$type->parameter_name.'"><span>'.$params->get('text_whenhide','See more...').'</span></li>';
                     $class='class="ice-vmfilter-gp-'.$type->parameter_name.' ice-vmfilter-hide '. ($isExisted ? ' ice-vmfilter-selected':'').'"';
                } elseif( $idex > $maxParamsDisplay ) {  // die;
                    $class='class="ice-vmfilter-gp-'.$type->parameter_name.' ice-vmfilter-hide'. ($isExisted ? ' ice-vmfilter-selected':'').'"';
                }else {
                    $class= $isExisted ? 'class="ice-vmfilter-selected"':'';
                }

           ?>
         <li <?php echo $class;?>>
            <a href="<?php echo  $url; ?>">
                <span><?php echo $field . ' ' . $type->parameter_unit; ?> </span>
                <?php if( $isExisted ) : ?>
                        <span class="ice-vmfilter-remove"><img title="<?php echo JText::_("Close");?>" src="<?php echo JURI::base();?>modules/mod_ice_vmfilter/assets/remove.png" ><span>
                <?php endif?>
                </a>
               <?php if( $isCountProducts ) : ?>
               (<?php echo $output['count']; ?>)
               <?php endif; ?>


        </li>
        <?php  endif; ?>
    <?php endforeach; ?>
    </ul>
</div>
<?php endforeach; //  die; ?>

Тыкните пожалуйста пальцем ! а то не хватает головы :(
*

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
Re: Изменение внешнего вида icevmfilter
« Ответ #3 : 11.11.2011, 01:32:46 »
попробовать
Код: css
.ice-vmfilter-type {float: left;}
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

BHy4eK

  • Захожу иногда
  • 110
  • 1 / 0
Re: Изменение внешнего вида icevmfilter
« Ответ #4 : 11.11.2011, 01:38:06 »
Код: css
.ice-vmfilter-type {float: left;}

Сползло немного влево :) сикось накось :)
*

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
Re: Изменение внешнего вида icevmfilter
« Ответ #5 : 11.11.2011, 01:40:18 »
Сползло немного влево :)
куда влево? Если смотреть исходный код - в див ice-vmfilter-type обрамлен каждый блок модуля (страна, бренд, цвет и пр)?
Сайт в сети?
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

BHy4eK

  • Захожу иногда
  • 110
  • 1 / 0
Re: Изменение внешнего вида icevmfilter
« Ответ #6 : 11.11.2011, 01:42:10 »
Нет не всети на локал хосте, сейчас выложу скрин , 1 мин
*

BHy4eK

  • Захожу иногда
  • 110
  • 1 / 0
Re: Изменение внешнего вида icevmfilter
« Ответ #7 : 11.11.2011, 01:48:04 »
Вот так было:

а вот так стало:
*

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
Re: Изменение внешнего вида icevmfilter
« Ответ #8 : 11.11.2011, 01:50:38 »
даже не знаю :)
Код: css
.ice-vmfilter-type {
float: left; display: block; width: 200px; height: 150px;
border: 1px solid #000;
}
так что будет?
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

BHy4eK

  • Захожу иногда
  • 110
  • 1 / 0
Re: Изменение внешнего вида icevmfilter
« Ответ #9 : 11.11.2011, 01:53:59 »
*

BHy4eK

  • Захожу иногда
  • 110
  • 1 / 0
Re: Изменение внешнего вида icevmfilter
« Ответ #10 : 11.11.2011, 01:56:33 »
Я чувствую ! что где то рядом !  вот вот  ....
*

BHy4eK

  • Захожу иногда
  • 110
  • 1 / 0
Re: Изменение внешнего вида icevmfilter
« Ответ #11 : 11.11.2011, 02:25:12 »
Код: css
.ice-vmfilter-type {
float: left; display: block; width: 200px; height: 150px;
border: 1px solid #000;
}

Да этот Код правельный спасибо больше ! +1 Вам к Репутации ! Вы гений !
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Поправка внешнего вида модулей

Автор Leo1986

Ответов: 23
Просмотров: 1272
Последний ответ 08.10.2018, 15:29:36
от Leo1986
Изменение размера textarea в модуле

Автор Leo1986

Ответов: 3
Просмотров: 963
Последний ответ 04.10.2018, 16:19:09
от Leo1986
JEvents, изменение формата даты

Автор miscwrk

Ответов: 12
Просмотров: 1846
Последний ответ 28.07.2015, 18:26:37
от miscwrk
Изменение стиля модуля rapid contact

Автор yaroslav-soyuz

Ответов: 5
Просмотров: 1152
Последний ответ 30.03.2015, 16:53:45
от yaroslav-soyuz
Не работают подстановки вида {SocButtons} в Joomla3

Автор nelgondar

Ответов: 1
Просмотров: 1241
Последний ответ 02.01.2015, 21:08:10
от DragonZX