Новости Joomla

Вышел WT Quick links v.2.4.0 - релиз модуля для Joomla

Вышел WT Quick links v.2.4.0 - релиз модуля для Joomla.Это модуль-конструктор для быстрого создания набора элементов. Это могут быть ссылки на компоненты Joomla, пункт меню или пользовательская ссылка. Есть условия для исключений показа элементов списка. Вы можете создавать собственные макеты вывода модуля, создавая таким образом почти всё, что угодно: от простого списка ссылок до стены фотографий на главную страницу или ссылки-теги для перелинковки категорий интернет-магазина, список FAQ, табы или аккордеоны. Модуль позволяет выводить изображения, адаптивные изображения, видео, адаптивные видео.v.2.4.0. Что нового?Добавлена поддержка новых компонентов. Добавлены новые типы ссылок и исключений для них: - Phoca Download, - Phoca Gallery, - RadicalMart (@radicalmart).Joomla 6. Успешно протестирована работа модуля на Joomla 6-alpha2.РазработчикамПроведён большой рефакторинг кода. Для типов ссылок созданы классы-драйверы. Теперь для того, чтобы добавить новый тип ссылки в модуль достаточно скопировать класс-образец из
modules/mod_wt_quick_links/src/Driver/Collection и наполнить его данными по образцу, а так же добавить необходимые языковые константы в панели администратора Joomla.Модуль бесплатный. Страница расширенияGitHub расширенияJoomla Extensions Directory👩‍💻 Подпишись на @joomlafeed.#joomla #разработка

Свои типы полей в Joomla.Это большая тема, о которой можно говорить очень много

Свои типы полей в Joomla.Это большая тема, о которой можно говорить очень много

👩‍💻 Свои типы полей в Joomla.Это большая тема, о которой можно говорить очень много. Самое главное, что возможности применения ограничиваются только вашей больной фантазией. Вы строите интерфейс своего модуля или плагина и вам нужно подтянуть данные из сторонней системы (список чего-нибудь по какому-нибудь API), чтобы сохранить выбранный id в Joomla. Или сделать какую-то проверку и в зависимости от неё показать то или иное сообщение пользователю. Для этого подойдут свои пользовательские типы полей. Интерфейс Joomla по большей части описан в XML-файлах. У каждого из них свои параметры. Некоторые не описаны в документации (manual.joomla.org), поэтому самым любопытным будет полезно заглянуть в собственно файлы фреймворка по пути

libraries/src/Form/FormField.php, а так же в
libraries/src/Form/Fields. У каждого класса поля перечислены его специфические свойства, которые можно описывать в XML. А в своём типе поля вы можете устанавливать эти значения программно. В моём модуле WT Quick links под капотом происходят изменения. Теперь для работы (в админке) ему нужен вспомогательный плагин. А в самом модуле нам бы проверить, а не выключен ли он? В Joomla есть тип поля Note - заметка. Его можно использовать для вывода примечаний.

<field type="note"     name="your_note_for_user"     label="Заголовок примечания"     title="Альтернативный способ для заголовка"     description="Текст примечания"     class="col-12 alert alert-info"     heading="h1"     close="true"/>
heading - указывать уровень заголовка.
close - позволяет закрыть это примечание. В классе поля
libraries/src/Form/Field/NoteField.php описана логика вывода. И в принципе оно нам подходит для нашей задачи. Но оно будет выводить сообщение всегда, а нам нужно только тогда, когда плагин отключён.Поэтому берём и создаём свой класс поля, который мы унаследуем от
NoteField. Это значит, что у нас в руках будет весь инструментарий стандартного поля
Note + то, что мы сами добавим. В XML-манифест добавляем наше поле
<field type="systempluginstatus"      name="systempluginstatus"     addfieldprefix="Joomla\Module\Wtquicklinks\Site\Fields"/>
-
type - имя файла и класса,-
addfieldprefix - указываем namespace к нашему классу, может быть любой нам нужный-
name - нельзя полю без имени...Это означает, что Joomla будет использовать класс поля из файла
modules/mod_wt_quick_links/src/Fields/SystempluginstatusField.php.А в классе поля будет написано следующее:
<?php// namespace для атрибута addfieldprefixnamespace Joomla\Module\Wtquicklinks\Site\Fields;// нельзя напрямую обращаться к этому файлуdefined('_JEXEC') or die;// подключаем родительский класс для переопределенияuse Joomla\CMS\Form\Field\NoteField;use Joomla\CMS\Language\Text;use Joomla\CMS\Plugin\PluginHelper;// имя класса и имя файла точь-в-точьclass SystempluginstatusField extends NoteField{     protected $type = 'Systempluginstatus';     protected function getLabel()          {               // если плагин не включён               if(PluginHelper::isEnabled('system','wtquicklinks')) {                    // меняем свойства родительского класса                    $this->class = 'alert alert-danger w-100';                    $this->element['label'] = '⚠️ А-а-а-а!';                    $this->element['description'] = 'Плагин не включён!!';                    // и просто рендерим его с нашими свойствами                    return parent::getLabel();               }          // А иначе всё хорошо, скрываем поле из виду.          $this->parentclass = 'd-none';          return '';     }}
Просто и удобно. И людям приятно, что о них позаботились и рассказали почему что-то не работает.@webtolkru#joomla #php #webdev #разработка

Обновлена информация в Плане развития Joomla

👩‍💻 Обновлена информация в Плане развития Joomla.Здесь собрана информация о датах релизов, описаны принципы версионирования, указаны ответственные за релизы, а так же даты окончания поддержки релизов. Опираясь на эту информацию вы можете планировать развитие ваших интернет-проектов.👩‍💻 Что нового?⛔️ Joomla 4.Дата окончания исправления ошибок безопасности в версии 4.x - 14 октября 2025г. ⚠️ После этой даты Joomla 4 прекратит получать какие-либо обновления, в том числе безопасности - вообще. Рекомендуем обновить ваши сайты до актуальной Joomla 5.✅ Joomla 5.- Дата окончания исправления ошибок в версии 5.x - 13 октября 2026г.- Дата окончания исправления ошибок безопасности в версии 5.x - 12 октября 2027 года.- Текущая актуальная (на момент написания заметки) версия - 5.3.1.- Опубликовано расписание выхода релизов Joomla 5.4. Стабильный релиз ожидается 14 октября 2025 года.✅ Joomla 6.- Дата окончания исправления ошибок в версии 6.x - 17 октября 2028г.- Дата окончания исправления ошибок безопасности в версии 6.x - 16 октября 2029г.- Опубликовано расписание выхода релизов Joomla 6.0. Стабильный релиз ожидается 14 октября 2025 года.- Для разработчиков уже доступна Joomla 6.0.0-alpha1.✅ Joomla! Framework.Обновлена информация о Joomla! Framework - полноценном PHP-фреймворке для разработки. Он в версиях 1.х и 2.х был самостоятельным параллельным проектом, однако начиная с версии Joomla 4.0 стал её основой. Добавлена информация о Joomla! Framework 3.x, который вышел 6 октября 2023 года. Его можно использовать в тех случаях, когда вам в проекте не нужна CMS Joomla целиком.Подробнее на сайте Joomla-сообщества Joomlaportal.ru#joomla #community

0 Пользователей и 1 Гость просматривают эту тему.
  • 36 Ответов
  • 3884 Просмотров
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
J3.2.2 Как правильно реализовать альтернативный шаблон блога категории?

Если я правильно понял из вычитанного здесь: http://joomlaforum.ru/index.php/topic,239802.0.html, то мне нужно:
1. в уже переопределенном /templates/mytempl/html/com_content/category/ сделать копию blog.php и произвести в нем необходимые изменения, как мне надо;
2. скопировать из /components/com_content/ в /templates/mytempl/html/com_content/category/ (или в другое место?) metadata.xml (других xml-файлов я там не нашел, или же надо какой-то другой?) и произвести в нем необходимые изменения, чтобы J смогла увидеть мой альтернативный шаблон.

А что нужно писать в metadata.xml, если по умолчанию он пуст:
Код: xml
<?xml version="1.0" encoding="utf-8"?>
<metadata>
</metadata>
?
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
Создал копию blog.php -> blog_ss.php,
Следующий код что вызовет, blog_item.php или blog_ss_item.php:
Код
        <div class="leading-<?php echo $leadingcount; ?><?php echo $item->state == 0 ? ' system-unpublished' : null; ?>">
          <?php
            $this->item = &$item;
            echo $this->loadTemplate('item');
          ?>
        </div>
?
*

fbr

  • Завсегдатай
  • 1661
  • 206 / 7
...
2. скопировать .. metadata.xml (других xml-файлов я там не нашел, или же надо какой-то другой?)..
Плохо искали.
components/com_content/views/tmpl/category/default.xml

Создал копию blog.php -> blog_ss.php,
Следующий код что вызовет, blog_item.php или blog_ss_item.php:
Код
       <div class="leading-<?php echo $leadingcount; ?><?php echo $item->state == 0 ? ' system-unpublished' : null; ?>">
          <?php
            $this->item = &$item;
            echo $this->loadTemplate('item');
          ?>
        </div>
?
да
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
components/com_content/views/tmpl/category/default.xml
хмм... components/com_content/views/category/tmpl/default.xml ? виноват, проглядел
переименовать в blog_ss.xml?
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
Вопрос:
Создал копию blog.php -> blog_ss.php,
Следующий код что вызовет, blog_item.php или blog_ss_item.php:
Код:
        <div class="leading-<?php echo $leadingcount; ?><?php echo $item->state == 0 ? ' system-unpublished' : null; ?>">
          <?php
            $this->item = &$item;
            echo $this->loadTemplate('item');
          ?>
        </div>
?

Ответ:
да

очень оригинально отвечать утверждением или отрицанием на запрос значения списка выбора (или-или).

Так 1 (blog_item.php) или 2(blog_ss_item.php)?
*

fbr

  • Завсегдатай
  • 1661
  • 206 / 7
а проверить слабо? :)

как файл XML переименуете и отредактируете, так и вызовет...

(с) "Как вы яхту назовете, так она и поплывет"
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
Да я бы проверил, да J его не цепляет. Он правильно лежит в /templates/mytempl/html/com_content/category/ или его еще куда-то положить надо?
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
И как можно получить в blog.php алиас категории? $this->item->alias ?
*

fbr

  • Завсегдатай
  • 1661
  • 206 / 7
что значит не цепляет?
должен появиться новый тип пункт меню, который нужно выбрать для вашего блога
появился?
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
нет, не появился. кеш чистил, даже денвер перезапустил (так, на всякий пожарный)
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
в xml:
  <layout title="Список материалов категории коротких новостей" option="COM_CONTENT_CATEGORY_VIEW_DEFAULT_OPTION">
    <help key = "JHELP_MENUS_MENU_ITEM_ARTICLE_CATEGORY_LIST" />
    <message><![CDATA[Отображает список коротких новостей ввиде блога категории]]></message>
  </layout>

то, что напрямую, а не через константы титл указан, ничего?
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
И как можно получить в blog.php алиас категории? $this->item->alias ?
*

Shustry

  • Moderator
  • 6434
  • 745 / 3
xml-ка нужна тут только в случае назначения пункта меню на этот блог. Вообще альтернативные шаблоны автоматом подтягиваются.
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
а если я не хочу привязывать категорию к пункту меню, мне ее надо открыть по ссылке из материала из другой категории, как быть?
*

Shustry

  • Moderator
  • 6434
  • 745 / 3
Вот тут проблема. Придётся в ссылке передавать ещё и параметр layout
*

Shustry

  • Moderator
  • 6434
  • 745 / 3
AlekVolsk, самое простое решение: это создать ещё и пункт меню на эту категории. Т.е. xml-ка таки понадобится. Тогда при переходе откуда угодно будет подгружаться именно ваш альт.шаблон блога.
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
Тогда почему xml-ка не подгружается? Пункт меню - создать - тип меню - выбрать - в диалоге ничего нового не появляется, только родное J-кое
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
ОК. Альтернативный вариант альтернативному шаблону.
В com_content/article/default.php доступен id родительской категории материала: $this->item->catid;
там это (в самом начале):
<div class="item-page<?php echo $this->pageclass_sfx?>">
меняем на это:
<div class="catid-<?php echo $this->item->catid ?> item-page<?php echo $this->pageclass_sfx?>">
таким образом мы получаем уникальное оформление item-page для конкретной категории: в стилях задаем для конкретного catid-*.item-page все необходимое и радуемся.

Что-то подобное хочу реализовать в com_content/category/blog.php, можно по id, а еще лучше по алиасу, но как их там получить?
*

b2z

  • Глобальный модератор
  • 7284
  • 778 / 0
  • Разраблю понемногу
Код: php
$this->category->id

А алиас не камильфо - вдруг Вы его поменяете...
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
b2z, спасибо!
А зачем мне менять алиас?
*

b2z

  • Глобальный модератор
  • 7284
  • 778 / 0
  • Разраблю понемногу
А зачем мне менять алиас?
Да всякое в жизни бывает. Может у Вас была категория "Новости", а Вы решили переименовать в "Слухи". Это как пример :)
*

Shustry

  • Moderator
  • 6434
  • 745 / 3
Не там xml-ку смотрите. Нужно брать за основу эту: components\com_content\views\category\tmpl\blog.xml
А там дофига всего.
*

Shustry

  • Moderator
  • 6434
  • 745 / 3
b2z, ну это уж совсем частный случай. Сам делал по-альасу раньше. Для такого редкого момента, когда захочу поменять альас, я открою шаблон и поменяю условие.
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
А все равно не цепляет. Я его (xml) бросаю в /templates/mytempl/html/com_content/category/ - правильно? и меняю в нем layout
*

Shustry

  • Moderator
  • 6434
  • 745 / 3
Переименовать не забыли?
Как-то так должно быть:
newblog.xml
newblog.php
newblog_item.php
*

fbr

  • Завсегдатай
  • 1661
  • 206 / 7
Не там xml-ку смотрите. Нужно брать за основу эту: components\com_content\views\category\tmpl\blog.xml
А там дофига всего.
извиняюсь, ступил .. конечно этот
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
blog_ss.xml
blog_ss.php
blog_ss_item.php

Неправильно?
*

fbr

  • Завсегдатай
  • 1661
  • 206 / 7
Правильно, но

что-то мне подсказывает, что лучше не blog_ss, а blog-ss
подчеркивание лучше не надо ...

последний файл тогда будет blog-ss_item.php
*

Shustry

  • Moderator
  • 6434
  • 745 / 3
Всё верно. Только в XML не забудьте прописать вместо…
<layout title="COM_CONTENT_CATEGORY_VIEW_BLOG_TITLE" option="COM_CONTENT_CATEGORY_VIEW_BLOG_OPTION">
нужно
<layout title="Это SS-блог!" option="COM_CONTENT_CATEGORY_VIEW_BLOG_OPTION">

Файл перекодить в UTF8 без BOM и сохранить. Ну можно и переменную языковую заюзать, если хотите. Теперь у вас при создании нового пункта меню в типе появится эта надпись (в блоке материалов)
*

Shustry

  • Moderator
  • 6434
  • 745 / 3
fbr прав, кстати, уберите нижнее подчёркивание. Его для подшаблонов юзают.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Как убрать tooltip в регистрации в Joomla 3?

Автор KoloS

Ответов: 13
Просмотров: 8475
Последний ответ 24.08.2021, 19:00:51
от coolplaymaster
Шаблон VTEM CLEAN (не работает с русскими буквами) - ?

Автор warlocksp

Ответов: 6
Просмотров: 1169
Последний ответ 15.10.2018, 17:59:59
от Frost68
Как вывести alt для изображения в карточке?

Автор Anna01

Ответов: 6
Просмотров: 1813
Последний ответ 24.04.2017, 12:04:22
от Anna01
Стили пагинации в Helix 3

Автор stepan39

Ответов: 0
Просмотров: 1264
Последний ответ 30.03.2017, 12:30:13
от stepan39
При увелечении масштаба исчезает модуль

Автор Egordj

Ответов: 0
Просмотров: 973
Последний ответ 08.02.2017, 20:56:41
от Egordj