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

Аня

  • Давно я тут
  • 745
  • 33 / 0
  • Копатыч нестабилен!
Установила модуль Simple Select Box, у него стиль классический: при наведении курсора на пункт выпадающего списка, буквы становятся белыми, фон синим. А как мне сделать этот фон другого цвета?
Fatal error - это не фатально!!! Я проверила.
*

gdX

  • Глобальный модератор
  • 995
  • 128 / 0
  • Открыт к заказам по дизайну
Re: Изменить стиль модуля Simple Select Box
« Ответ #1 : 30.07.2009, 11:26:27 »
В css файле заменить синий цвет на нужный Вам.
Большего подсказать нечего - не видно ни кода, ни ссылки на проблемную область.
*

Аня

  • Давно я тут
  • 745
  • 33 / 0
  • Копатыч нестабилен!
Re: Изменить стиль модуля Simple Select Box
« Ответ #2 : 31.07.2009, 00:50:38 »
Этот модуль, если разархивировать архив, чтобы посмотреть его устройство, состоит из двух файлов : mod_ssb.php и mod_ssb.xml. Текст пхп - файла такой:
Код
<?php
/**
* Author: Omar Muhammad
* Email: Knightofbaghdad@yahoo.com
* Module: Simple Select Box
* Version: 1.5.4
* Date: 30/5/2009
**/

defined( '_JEXEC' ) or die( 'Restricted access' );
$target = $params->get( 'target', "" );
$pretext= $params->get( 'pretext', "" );
$prepos = $params->get( 'prepos', "" );
$align = $params->get( 'align', "" );
$dir = $params->get( 'direction', "" );
$link[] = "!";
$title[]= $params->get( 'title0', "" );
for ($j=1; $j<=30; $j++)
{
$title[]= $params->get( 'title'.$j , "" );
$link[] = $params->get( 'link'.$j , "" );
}
?>

<!-- Simple Select Box 1.5.4 starts here -->
<script type="text/javascript">
<!--
function openpage(link)
{
if (link!="!")
window.open(link);
return false;
}
-->
</script>
<table cellpadding="0" cellspacing="0" style="width:100%; text-align: <?php echo $align; ?>; direction: <?php echo $dir; ?>;">
<tr>
<td><?php echo $pretext; ?></td>
<?php if ($prepos==1) {echo "</tr><tr>";} ?>
<td>
<form method="get" action="">
<select name="Select" style="width: 200px" onchange="<?php echo (($target==0) ? "top.location.href=this.options[this.selectedIndex].value" : "openpage(this.options[this.selectedIndex].value);") ?>">
<?php
for ($i=0; $i<=30; $i++)
{if ($title[$i] != null) { echo "<option value='$link[$i]'>$title[$i]</option>"; }}
?>
</select>
</form>
</td>
</tr>
</table>
<!-- Simple Select Box 1.5.4 ends here -->

А сами параметры изложены во втором файле, xml. Я думаю, что изменить цвет пункта выпадающего списка, на котором стоит мышка, можно также через параметр, только его надо вписать дополнительно (ну, если я не брежу!). Может, кто подскажет, как это сделать?
Fatal error - это не фатально!!! Я проверила.
*

Аня

  • Давно я тут
  • 745
  • 33 / 0
  • Копатыч нестабилен!
Re: Изменить стиль модуля Simple Select Box
« Ответ #3 : 31.07.2009, 02:32:06 »
Вообще-то мне не надо предлагать на выбор цвет бэкграунда другим админам, до таких высот я еще дошла, чтобы совершенствовать модули, мне лично для себя... Попыталсь вставить такой момент в php-файл:
Код
<form method="get" action="">
<select name="Select" style="width: 200px" OnMouseOver="this.style.backgroundColor = '#FF9966'" onchange="<?php echo (($target==0) ? "top.location.href=this.options[this.selectedIndex].value" : "openpage(this.options[this.selectedIndex].value);") ?>">
При этом меняется цвет фона внутри формы в принципе на розовый, вот еще чуть-чуть бы додумать!!! Единственное, что тема явно не для css-раздела...
Fatal error - это не фатально!!! Я проверила.
*

Аня

  • Давно я тут
  • 745
  • 33 / 0
  • Копатыч нестабилен!
Re: Изменить стиль модуля Simple Select Box
« Ответ #4 : 31.07.2009, 02:59:53 »
Вот ссылка на сайт, где это все пробуется http://www.test.petyaeva.jino.ru/
Товарищи модераторы! Переместите тему куда-нибудь, где она будет в тему! - может в "как сделать"?
Fatal error - это не фатально!!! Я проверила.
*

gdX

  • Глобальный модератор
  • 995
  • 128 / 0
  • Открыт к заказам по дизайну
Re: Изменить стиль модуля Simple Select Box
« Ответ #5 : 31.07.2009, 10:53:31 »
Установила модуль Simple Select Box, у него стиль классический: при наведении курсора на пункт выпадающего списка, буквы становятся белыми, фон синим. А как мне сделать этот фон другого цвета?
Стандартными средствами CSS этого не сделать.
На счет смены фонового цвета (background) через CSS был не прав.
Цвет элементов выпадающего списка можно покрасить, но нельзя изменить цвет фона при наведении одним css.

Этот цвет берется из цветовой схемы системы windows.
У Вас, скорее всего, таким же цветом выделяются и имена файлов в explorer'e.
У каждого посетителя сайта эти фоновые цвета будут браться из той же цветовой схемы.

Чтобы приводить это к одному стилю, придется применять сторонние расширения.
К примеру так: http://www.emblematiq.com/niceforms/v20/niceforms.html
В иннете можно много примеров по стилизации найти.

Можно, в принципе, построить такой список через ul li.
При этом, откроется бОльшая возможность по его оформлению.
*

Аня

  • Давно я тут
  • 745
  • 33 / 0
  • Копатыч нестабилен!
Re: Изменить стиль модуля Simple Select Box
« Ответ #6 : 31.07.2009, 11:05:37 »
Не, в коде этих niceforms я не разберусь! Я пыталась вставить onmouseover во все места php-файла, но менялся либо фон подложки всего модуля, то есть вокруг формы возникала розовая полоса, либо фон всей страницы, либо фон выпадающего списка, но ссылка, на которую заходила мышь, упорно оставалась в классическом виде "синий фон-белый текст". Я думаю, может, это можно через функции яваскрипт передать, ведь там вначале идет функция?
Код
<script type="text/javascript">
<!--
function openpage(link)
{
if (link!="!")
window.open(link);
return false;
}
-->
</script>
И туда же еще что-то добавить про bgColor, но как? Главное, я даже не понимаю, на какой форум пойти за советом - по php или по javascript?
Fatal error - это не фатально!!! Я проверила.
*

gdX

  • Глобальный модератор
  • 995
  • 128 / 0
  • Открыт к заказам по дизайну
Re: Изменить стиль модуля Simple Select Box
« Ответ #7 : 31.07.2009, 11:29:04 »
Думаю, что тут проще реализовать это с помощью ul li.
Так у Вас будет больше возможности все оформить.
И реализуется это не так сложно.
*

Аня

  • Давно я тут
  • 745
  • 33 / 0
  • Копатыч нестабилен!
Re: Изменить стиль модуля Simple Select Box
« Ответ #8 : 31.07.2009, 11:33:10 »
А как ? Можно поподробней? И куда этот список вписывать? В php? Или все-таки впихнуть в php ссылку на класс в css?
Fatal error - это не фатально!!! Я проверила.
*

gdX

  • Глобальный модератор
  • 995
  • 128 / 0
  • Открыт к заказам по дизайну
Re: Изменить стиль модуля Simple Select Box
« Ответ #9 : 31.07.2009, 12:09:40 »
Вот так можно модуль Simple Select Box переделать на теги ul li:
Код: php
<?php
/**
* Author: Omar Muhammad
* Email: Knightofbaghdad@yahoo.com
* Module: Simple Select Box
* Version: 1.5.4
* Date: 30/5/2009
**/

defined( '_JEXEC' ) or die( 'Restricted access' );
$target = $params->get( 'target', "" );
$pretext= $params->get( 'pretext', "" );
$prepos = $params->get( 'prepos', "" );
$align = $params->get( 'align', "" );
$dir = $params->get( 'direction', "" );
$link[] = "!";
$title[]= $params->get( 'title0', "" );
for ($j=1; $j<=30; $j++)
{
$title[]= $params->get( 'title'.$j , "" );
$link[] = $params->get( 'link'.$j , "" );
}
?>

<!-- Simple Select Box 1.5.4 starts here -->
<style><!--
#links_block{position:relative;text-align:left;}
#links_block a{font-size:18px;}
#links,#links li{margin:0;padding:0;}
#links{
position:absolute;
left:0;
display:none;
width:90%;
padding:5px 10px;
border:1px dashed red;
background:#FFDBDB;
list-style:none;
*margin-top:18px;
}
#links a{font-size:11px;display:block;width:100%;}
#links a:hover{color:white;background:red;text-decoration:none;}
--></style>
<table cellpadding="0" cellspacing="0" style="width:100%; text-align: <?php echo $align; ?>; direction: <?php echo $dir; ?>;">
<tr>
<td><?php echo $pretext; ?></td>
<?php if ($prepos==1) {echo "</tr><tr>";} ?>
<td>
<div id="links_block">
<a href="#" onclick="return false;"><?php echo $title[0]; ?></a>
<ul id="links">
<?php
if($target==1) $mytarget=' target="_blank"';
for ($i=1; $i<=30; $i++)
{if ($title[$i] != null) { echo "<li><a href='$link[$i]'".$mytarget.">$title[$i]</a></li>"; }}
?>
</ul>
</div>
</td>
</tr>
</table>
<!-- Simple Select Box 1.5.4 ends here -->

<script type="text/javascript">
<!--
var links_block = document.getElementById("links_block");
var links = document.getElementById("links");
links_block.onmouseover = function(){
links.style.display="block";
}
links_block.onmouseout = function(){
links.style.display="none";
}
-->
</script>

Можете скачать измененный файл mod_ssb.php: mod_SimpleSelectBox_ul_li.zip

Не претендую на чистоту кода. Думаю, что можно уделить время и где-нибудь оптимизировать.
Можете поставить удобные для Вас имена идентификаторов и реализовать свое оформление.
Стили можно вынести в общий стилевой файл сайта.
*

Аня

  • Давно я тут
  • 745
  • 33 / 0
  • Копатыч нестабилен!
Re: Изменить стиль модуля Simple Select Box
« Ответ #10 : 31.07.2009, 14:37:56 »
Что-то он плохо реагирует на такие дополнения, модуль вообще перестает отображаться.
Fatal error - это не фатально!!! Я проверила.
*

gdX

  • Глобальный модератор
  • 995
  • 128 / 0
  • Открыт к заказам по дизайну
Re: Изменить стиль модуля Simple Select Box
« Ответ #11 : 31.07.2009, 14:45:37 »
А в чем проблема отображения?

Да, забыл упомянуть, что нужно заполнить поле «initial value» - содержимое этого поля в стандартном фале было первым в выпадающем списке, как описание того, что делать с этим элементом.
Прописал у себя там «Выбор ссылок», чтобы при наведении на него выпадал ul список.
Наверно в этом и загдоздка.

Устанавливал этот модуль у себя и изменял код напрямую в файле.
Все работает, вроде, нормально. Глюков не заметил.
*

Аня

  • Давно я тут
  • 745
  • 33 / 0
  • Копатыч нестабилен!
Re: Изменить стиль модуля Simple Select Box
« Ответ #12 : 31.07.2009, 15:05:53 »
В вашем коде ведь нет магических слов:
Код
<form method="get" action="">
<select name="Select" style="width: 180px" onchange="<?php echo (($target==0) ? "top.location.href=this.options[this.selectedIndex].value" : "openpage(this.options[this.selectedIndex].value);") ?>">
, которые шли после
Код
<td><?php echo $pretext; ?></td>
<?php if ($prepos==1) {echo "</tr><tr>";} ?>
<td>
и вообще select не упоминается... В том виде, как вы прислали, модуль вообще исчезает, чего-то не хватает:(
Fatal error - это не фатально!!! Я проверила.
*

gdX

  • Глобальный модератор
  • 995
  • 128 / 0
  • Открыт к заказам по дизайну
Re: Изменить стиль модуля Simple Select Box
« Ответ #13 : 31.07.2009, 15:30:52 »
Тех магических строк и не надо.
Я избавился от формы и выпадающего списка, чтобы перевести этот модуль на отображение ссылок с помощью тегов ul li а.

В том виде, как вы прислали, модуль вообще исчезает, чего-то не хватает:(

Да, забыл упомянуть, что нужно заполнить поле «initial value» - содержимое этого поля в стандартном фале было первым в выпадающем списке, как описание того, что делать с этим элементом.
Прописал у себя там «Выбор ссылок», чтобы при наведении на него выпадал ul список.
Наверно в этом и загдоздка.
*

Аня

  • Давно я тут
  • 745
  • 33 / 0
  • Копатыч нестабилен!
Re: Изменить стиль модуля Simple Select Box
« Ответ #14 : 31.07.2009, 15:59:25 »
И что, получилась такая же форма? Увы! Я не могу это постигнуть. Если можно, дайте полный вариант файла, раз уж он есть и работает. Пожалуйста!
Fatal error - это не фатально!!! Я проверила.
*

gdX

  • Глобальный модератор
  • 995
  • 128 / 0
  • Открыт к заказам по дизайну
Re: Изменить стиль модуля Simple Select Box
« Ответ #15 : 31.07.2009, 16:04:11 »
И что, получилась такая же форма?
В смысле форма? Сейчас там нет ни форм, ни выпадающих списков select/option.
Тот листинг, что я привел - это весь код php файла.

Если можно, дайте полный вариант файла, раз уж он есть и работает. Пожалуйста!
Так я же указал ссылку на php файл модуля в этом сообщении:
http://joomlaforum.ru/index.php/topic,73335.msg425063.html#msg425063

И не забудьте заполнить поле «initial value».
*

Аня

  • Давно я тут
  • 745
  • 33 / 0
  • Копатыч нестабилен!
Re: Изменить стиль модуля Simple Select Box
« Ответ #16 : 31.07.2009, 16:17:28 »
А где оно, это поле initial value?
Fatal error - это не фатально!!! Я проверила.
*

gdX

  • Глобальный модератор
  • 995
  • 128 / 0
  • Открыт к заказам по дизайну
*

Аня

  • Давно я тут
  • 745
  • 33 / 0
  • Копатыч нестабилен!
Re: Изменить стиль модуля Simple Select Box
« Ответ #18 : 31.07.2009, 16:32:12 »
А, в парамах! Вот это заменить?
Код
<param name="title0" type="text" default="" label="initial value" description="initial value of the select box" />
А чем?
Fatal error - это не фатально!!! Я проверила.
*

gdX

  • Глобальный модератор
  • 995
  • 128 / 0
  • Открыт к заказам по дизайну
Re: Изменить стиль модуля Simple Select Box
« Ответ #19 : 31.07.2009, 17:04:37 »
В файле настроек mod_ssb.xml ничего менять или чем-то дополнять не нужно.
Поле «initial value» заполняется в настройках модуля в административной части сайта.
*

Аня

  • Давно я тут
  • 745
  • 33 / 0
  • Копатыч нестабилен!
Re: Изменить стиль модуля Simple Select Box
« Ответ #20 : 31.07.2009, 20:26:26 »
Ну... как говорил учитель одному глупому мальчику: "Уже лучше, но пока все равно 2". Кое-что получилось и у меня. Но только работает один модуль, а две его копии почему-то нет, посмотрите: www.test.petyaeva.jino.ru
Но, что ни говори, здорово придумано, спасибо!
Fatal error - это не фатально!!! Я проверила.
*

gdX

  • Глобальный модератор
  • 995
  • 128 / 0
  • Открыт к заказам по дизайну
Re: Изменить стиль модуля Simple Select Box
« Ответ #21 : 31.07.2009, 20:37:40 »
Но только работает один модуль, а две его копии почему-то нет, посмотрите: www.test.petyaeva.jino.ru
Это тоже исправимо. На вскидку не скажу как это исправить.
Поищите на форуме - проскакивали такие темы.
Там строчки какие-то нужно добавить с defined… что-то там…
Не помню.
*

Аня

  • Давно я тут
  • 745
  • 33 / 0
  • Копатыч нестабилен!
Re: Изменить стиль модуля Simple Select Box
« Ответ #22 : 03.08.2009, 15:40:44 »
Вы представляете, я написала автору этого модуля по имени Омар Мухаммад или Рыцарь Багдада, и он мне очень вежливо и быстро прислал ответ. Действительно, задача оказалась нетривиальная - и возможно, добавить именно в форму бэкграунд не удастся, но он подумает над этим. Видимо, действительно, отказаться от формы и обратиться к CSS - единственный выход.
Fatal error - это не фатально!!! Я проверила.
*

gdX

  • Глобальный модератор
  • 995
  • 128 / 0
  • Открыт к заказам по дизайну
Re: Изменить стиль модуля Simple Select Box
« Ответ #23 : 03.08.2009, 16:38:22 »
Ну да, ведь с помощью CSS и js можно полностью повторить выпадающий список.
При этом, можно реализовать более действенный интерактив, чем со списком <select>.
А если придать ему соответствующее оформление, то на выходе можно получить из списка «конфетку».
*

Аня

  • Давно я тут
  • 745
  • 33 / 0
  • Копатыч нестабилен!
Re: Изменить стиль модуля Simple Select Box
« Ответ #24 : 03.08.2009, 17:01:35 »
CSS так трудно настраивать, там накладываются злобные внешние стили, которые все портят - но что делать! Буду работать...
Fatal error - это не фатально!!! Я проверила.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Helix Ultimate - изменить font-weight

Автор kunsaid

Ответов: 3
Просмотров: 1905
Последний ответ 30.04.2024, 18:40:24
от kunsaid
CSS для позиции модуля

Автор tierex

Ответов: 3
Просмотров: 2659
Последний ответ 26.05.2023, 11:06:00
от tierex
Позиционирование модуля

Автор Frost_

Ответов: 4
Просмотров: 2977
Последний ответ 25.01.2023, 11:36:57
от Frost_
Изменить заголовок в шапке сайта

Автор kunsaid

Ответов: 0
Просмотров: 2611
Последний ответ 03.12.2022, 18:34:32
от kunsaid
Как при наведении изменить сразу два класса CSS?

Автор Kanfur

Ответов: 3
Просмотров: 1692
Последний ответ 03.11.2020, 16:53:43
от Nikolay89