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

Web-Simple

  • Захожу иногда
  • 274
  • 1 / 0
Joomla и браузеры (ИЕ, Опреа и Лиса) последней версии. Итак меню HTML:
Код
<td nowrap="nowrap"><a class="mainlevel" href="/Папка сайта/2.html">Главная</a><a class="mainlevel" href="/папка сайта/o-sayte.html">Сайт</a><a id="active_menu" class="mainlevel" href="/foot/obratnaya-svyaz/administratorskiy/kontakti.html">Обратная связь</a></td>
Меню CSS:
Код
td, tr, p, div {
color:#000000;
font-family:Arial,Helvetica,sans-serif;
font-size:13px;
line-height:16px;
}
Код
ul#mainlevel-nav {
  font-family        :  Arial, Helvetica, sans-serif;
  list-style         : none;
  margin             : 0;
  padding            : 0;
  font-size          : 13px;
  }
#mainlevel-nav li {
  display            : inline;
  list-style         : none;
  background-image   : none;
  width    : auto;
  color    : #000000;
}
#mainlevel-nav li a {
      display          : inline;
      width      : auto;
padding      : 13px 6px;
color      : #000000;
      text-decoration  : none;
      background      : none;
font-weight      : normal;
      line-height      : 44px !important;
      background     : url(../images/bg_menu1.jpg) repeat-x top left;
}
#mainlevel-nav li a:hover {
      width : auto;
background     : url(../images/bg_menu2.jpg) repeat-x top left;
color : #B50404;
      padding : 13px 6px;
  font-weight : normal;
text-decoration : none;   
}
ul#mainlevel-nav li #active_menu-nav {
      cursor       : default;
width : auto;
background     : url(../images/bg_menu2.jpg) repeat-x top left;
      padding : 14px 6px;
color : #B50404;
      text-decoration : center;
}
ul#mainlevel-nav li #active_menu-nav:hover {
cursor       : pointer;
width : auto;
background : none;
  padding : 14px 6px;
color : #000000;
      text-decoration : none;
}
Пункты меню слиплись друг с другом, делал и list-style-image:url, magin-left и padding,просто magin, и даже word-spacing. Ничего не помогает, в отношении слов работает, а в отношении пунктов меню нет. Подскажите как их хотя бы разлепить и отцентрировать меню?
Теперь стандартный Джумловский пункт Контакты, не хочет отображаться по центру, а только слева.
HTML:
Код
<td colspan="2">
<br><br>
<form class="form-validate" id="emailForm" name="emailForm" method="post" action="/foot/">
<div class="contact_email">
<label for="contact_name" class="">
&nbsp;Введите ваше имя:
</label>
<br>
<input type="text" value="" class="inputbox" size="30" id="contact_name" name="name">
<br>
<label for="contact_email" id="contact_emailmsg">
&nbsp;E-mail адрес:
</label>
<br>
<input type="text" maxlength="100" class="inputbox required validate-email" value="" size="30" name="email" id="contact_email">
<br>
<label for="contact_subject">
&nbsp;Тема сообщения:
</label>
<br>
<input type="text" value="" class="inputbox" size="30" id="contact_subject" name="subject">
<br><br>
<label for="contact_text" id="contact_textmsg">
&nbsp;Введите текст вашего сообщения:
</label>
<br>
<textarea class="inputbox required" id="contact_text" name="text" rows="10" cols="50"></textarea>
<br>
<input type="checkbox" value="1" id="contact_email_copy" name="email_copy">
<label for="contact_email_copy">
Отправить копию этого сообщения на ваш адрес </label>
<br>
<br>
<button type="submit" class="button validate">Отправить</button>
</div>

<input type="hidden" value="com_contact" name="option">
<input type="hidden" value="contact" name="view">
<input type="hidden" value="1" name="id">
<input type="hidden" value="submit" name="task">
<input type="hidden" value="1" name="80c62fa1497a85af7f264e2da6ad3b40"> </form>
<br>
</td>
CSS:
Код
.contact_email .inputbox {
}
.inputbox {
background:none repeat scroll 0 0 transparent;
border:1px solid #C9C5C4;
color:#333333;
margin:3px 0;
padding:1px;
После пляски аналогичным образом (как и с меню), Контакты по прежнему не хотят отображаться по центру. У кого есть какие, соображения?
*

danik.html

  • Живу я здесь
  • 2650
  • 353 / 4
На что направлено ваше #mainlevel-nav li {} ? я в коде не увидил ни <ul> ни <li> а только какуюто ужасную структуру <td><a>..Чем она сгенерирована? стандартный mod_mainmenu выдает отличную ul li струкуктуру, зачем чтото придумывать еще?
Насчет контактов. Не понимаю почиму они должны отображаться по центру... И вообще что именно вы хотите отцентрировать. Контакты - понятие растяжимое...

На последок: советую избегать испоьзования <br> для отступов, а так же юзать <p> вместо <br> внутри формы. Еще &nbsp; - это не отсутп, а неразрывный пробел, он тут никчему. И советую перейти на XHTML синтаксис, он проще и понятнее.
【Мегапак Virtuemart:
 • метатеги (description,keywords)
 • заголовки (title)
 • красивые алиасы (чпу) без тормозов и дублей!
*

Web-Simple

  • Захожу иногда
  • 274
  • 1 / 0
Цитировать
На что направлено ваше #mainlevel-nav li {} ? я в коде не увидил ни <ul> ни <li> а только какуюто ужасную структуру <td><a>..Чем она сгенерирована? стандартный mod_mainmenu выдает отличную ul li струкуктуру, зачем чтото придумывать еще?
Это стандартный CSS шаблона, я в нём ничего не трогал.
Цитировать
Насчет контактов. Не понимаю почиму они должны отображаться по центру... И вообще что именно вы хотите отцентрировать. Контакты - понятие растяжимое...
Потому что, так намного красивее, чем текущее отображение:

П.С. Вы форумом не ошиблись? Это форум Joomlu, а не HTML и XHTML. Здесь сайты создаются с помощью CMS, а не блокнота.
*

danik.html

  • Живу я здесь
  • 2650
  • 353 / 4
П.С. Вы форумом не ошиблись? Это форум Joomlu, а не HTML и XHTML. Здесь сайты создаются с помощью CMS, а не блокнота.

А вы статусом не ошиблись?
【Мегапак Virtuemart:
 • метатеги (description,keywords)
 • заголовки (title)
 • красивые алиасы (чпу) без тормозов и дублей!
*

danik.html

  • Живу я здесь
  • 2650
  • 353 / 4
Вообщето я хотел помочь вам если вы не заметили. Про mod_mainmenu я не случайно спросил. И вопрос о центрировании вы неправильно поняли.Вы написали:
Цитировать
Контакты по прежнему не хотят отображаться по центру
Но в коде невидно никаких попыток отцентрировать их. Вот об этом я и спросил: "почему они должны отображаться по центру"
【Мегапак Virtuemart:
 • метатеги (description,keywords)
 • заголовки (title)
 • красивые алиасы (чпу) без тормозов и дублей!
*

danik.html

  • Живу я здесь
  • 2650
  • 353 / 4
и судя по всему, это ты какраз таки в блокноте налепил этот идиотский <td><a> вместо использования модуля меню
【Мегапак Virtuemart:
 • метатеги (description,keywords)
 • заголовки (title)
 • красивые алиасы (чпу) без тормозов и дублей!
*

Web-Simple

  • Захожу иногда
  • 274
  • 1 / 0
danik.html,
Цитировать
А вы статусом не ошиблись?
Что вы этим хотите сказать?
Цитировать
Вообщето я хотел помочь вам если вы не заметили. Про mod_mainmenu я не случайно спросил. И вопрос о центрировании вы неправильно поняли.Вы написали:
Цитировать
Контакты по прежнему не хотят отображаться по центру
Но в коде невидно никаких попыток отцентрировать их. Вот об этом я и спросил: "почему они должны отображаться по центру"
Я уже пытался отцентрировать их, но ничего не вышло.
Цитировать
и судя по всему, это ты какраз таки в блокноте налепил этот идиотский <td><a> вместо использования модуля меню
В блокноте я правлю только CSS, как ты должен знать как такового HTML в Joomle нет, есть только PHP. Расскажи мне тогда с примерами, как отцентрировать компонент Контакты, и разделить пункты горизонтального меню (они слипаются друг с другом, именно пункты, а не слова, которые прекрасно разъединяются с помощью word-spacing)? Коль уж хочешь помочь, в долгу не останусь.
*

danik.html

  • Живу я здесь
  • 2650
  • 353 / 4
.contact_email{
    margin: 0 auto;
    width: 400px;
}

для меню поставь в настройках модуля Стиль меню - Наследовать - плоский список, и проконтролируй чтобы в HTML отдавалась ul li структура
【Мегапак Virtuemart:
 • метатеги (description,keywords)
 • заголовки (title)
 • красивые алиасы (чпу) без тормозов и дублей!
*

Web-Simple

  • Захожу иногда
  • 274
  • 1 / 0
Цитировать
.contact_email{
    margin: 0 auto;
    width: 400px;
}
Отцентрировалось, спасибо.
Цитировать
для меню поставь в настройках модуля Стиль меню - Наследовать - плоский список, и проконтролируй чтобы в HTML отдавалась ul li структура
Всё выставил, меню отображается вертикально (т.е. в столбик).
Цитировать
<div id="topmenu">
<ul id="mainlevel"><li><a href="/папка сайта/2.html" class="mainlevel" >Главная</a></li><li><a href="/Папка сайта/o-sayte.html" class="mainlevel" >О сайте</a></li><li><a href="/foot/obratnaya-svyaz/administratorskiy/kontakti.html" class="mainlevel" id="active_menu">Обратная связь</a></li></ul>

</div>
*

danik.html

  • Живу я здесь
  • 2650
  • 353 / 4
У тебя в CSS предполагается суффикс -nav. Проставь в настройках модуля. либо убери в CSS.
【Мегапак Virtuemart:
 • метатеги (description,keywords)
 • заголовки (title)
 • красивые алиасы (чпу) без тормозов и дублей!
*

Web-Simple

  • Захожу иногда
  • 274
  • 1 / 0
Превосходно, всё встало на свои места. Лови +. Кстати, как ты понял насчёт суффикса? Где можно найти толковую информацию по их применению?
*

danik.html

  • Живу я здесь
  • 2650
  • 353 / 4
А что там понимать то? Суффикс - это всеголишь возможность из админки изменить id или class блока.
у тебя в HTML <ul id="mainlevel"> а в твоем CSS идет речь о ul#mainlevel-nav {}. Твои стили "не тому" адресованы. выход либо "адресовать" тому блоку которому нужно, удалив -nav, либо переименовать наш блок в mainlevel-nav - а это позволяет сделать адмика.
суффикс это всеголишь приблуда Joomla, в CSS или HTML нет такого понятия. Можно было аналогично сделать "префикс" - результат тот же - просто возможность изменеия класса из админки. Хотя я вижу в этом другую очень полезную вещь  - задание ВТОРОГО класса.
【Мегапак Virtuemart:
 • метатеги (description,keywords)
 • заголовки (title)
 • красивые алиасы (чпу) без тормозов и дублей!
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Кликабельность псевдоэлемента в пункте меню

Автор vasilii.pupkov

Ответов: 4
Просмотров: 3229
Последний ответ 29.12.2021, 23:15:38
от v42bis
Выпадающее меню

Автор DrShepard

Ответов: 10
Просмотров: 2898
Последний ответ 20.10.2021, 12:36:16
от DrShepard
Как закруглить края выпадающего меню?

Автор coliandra

Ответов: 1
Просмотров: 1401
Последний ответ 11.12.2020, 21:15:57
от effrit
При прокрутке страницы виджет залезает на меню

Автор coliandra

Ответов: 2
Просмотров: 1298
Последний ответ 27.11.2020, 11:33:58
от coliandra
Как убрать маркер только из одного пункта меню.

Автор kuraev64

Ответов: 2
Просмотров: 1537
Последний ответ 20.07.2020, 11:18:44
от kuraev64