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

spirit1086

  • Захожу иногда
  • 115
  • 1 / 0
Здравствуйте, в материале есть метки, но ссылки имеют вид http://site.ru/component/tags/tag/4-dizajn-interera, хотя создан пункт меню к которому привязан компонент. Что не так делаю подскажите ?
« Последнее редактирование: 12.02.2015, 11:03:28 от b2z »
*

b2z

  • Глобальный модератор
  • 7284
  • 778 / 0
  • Разраблю понемногу
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Re: Метки Joomla
« Ответ #2 : 12.02.2015, 10:46:22 »
Действительно, это баг TagsHelperRoute(). Создайте в вашем шаблоне папку html/layouts/joomla/content и распакуйте там прикрепленный файл.

updated: перезалил файл.
« Последнее редактирование: 12.02.2015, 12:25:20 от robert »
Не будь паразитом, сделай что-нибудь самостоятельно!
*

spirit1086

  • Захожу иногда
  • 115
  • 1 / 0
Re: Метки Joomla
« Ответ #3 : 12.02.2015, 10:53:30 »
пункт меню создан эффекта 0, залез в helper/route там не прописан для линка Itemd, скопировал в свой шаблон helper/route и там переопределил

Код
public static function getTagRoute($id,$itemid)
{
$needles = array(
'tag'  => array((int) $id)
);
if ($id < 1)
{
$link = '';
}
else
{
if (!empty($needles) && $item = self::_findItem($needles))
{
$link = 'index.php?Itemid=' . $item;
}
else
{
// вот это добавил
                if (!empty($itemid))
                {
                   $link = 'index.php?option=com_tags&view=tag&id=' . $id.'&Itemid='.$itemid;
                }
                else
                {
  $link = 'index.php?option=com_tags&view=tag&id=' . $id;
                }
}
}

return $link;
}


*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Re: Метки Joomla
« Ответ #4 : 12.02.2015, 11:00:55 »
Не лезьте в ядро, переопределите layout, как я вам писал.
Не будь паразитом, сделай что-нибудь самостоятельно!
*

b2z

  • Глобальный модератор
  • 7284
  • 778 / 0
  • Разраблю понемногу
Re: Метки Joomla
« Ответ #5 : 12.02.2015, 11:00:58 »
Это не совсем баг. Больше недоработка, так как view=tags может быть разным, если выставлять родительская метки в параметрах меню. В итоге будет множество view=tags типа view=tags&parent_id=1,  view=tags&parent_id=2 и т.д. По хорошему, надо делать проверку, что в ссылке нет parent_id и при этом сделать пункт меню на все метки без родительской категории.
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
сделать пункт меню на все метки без родительской категории.
Возможно, я об этом не думал.

P.S. Внес проверку в файл.
« Последнее редактирование: 12.02.2015, 12:26:37 от robert »
Не будь паразитом, сделай что-нибудь самостоятельно!
*

spirit1086

  • Захожу иногда
  • 115
  • 1 / 0
Не лезьте в ядро, переопределите layout, как я вам писал.
А я и не лез в ядро я же написал что в своем шаблоне создал папку helper/route, вывод article тоже свой шаблон и в нем прописал путь чтобы использовал мой helper/route в моем шаблоне
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Тогда нормально. Только я не очень понял, откуда у вас берется $itemid?
Не будь паразитом, сделай что-нибудь самостоятельно!
*

spirit1086

  • Захожу иногда
  • 115
  • 1 / 0
Тогда нормально. Только я не очень понял, откуда у вас берется $itemid?

Код
            $db = JFactory::getDbo();
            // Получаем ID пунката меню к которому привязан метки.
            $query = $db->getQuery(true);
            $query->select('e.extension_id, e.name')
                  ->from('#__extensions AS e' )
                  ->where('e.name='. $db->quote('com_tags'))
          ->select('m.id,m.menutype')
      ->join('LEFT', $db->quoteName('#__menu'). ' AS m ON m.component_id = e.extension_id')     
                  ->where('m.menutype='. $db->quote('mainmenu') );
            $db->setQuery($query);
            $Itemid = $db->loadObject();
*

b2z

  • Глобальный модератор
  • 7284
  • 778 / 0
  • Разраблю понемногу
Эмм, а если у Вас не один пункт меню ведет на Метки, а несколько? Код roberta в этом плане надежней.
*

spirit1086

  • Захожу иногда
  • 115
  • 1 / 0
Эмм, а если у Вас не один пункт меню ведет на Метки, а несколько? Код roberta в этом плане надежней.
Вы правы, в данной ситуации просто я знаю что будет всего только один пункт меню привязан, но если бы имело место что в дальнейшем будет несколько, тогда бы я добавил к условию where алиас активного пункта меню.
Кстати не нашел на форуме как закрывать тему?
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
А чем мой вариант не нравится?
Не будь паразитом, сделай что-нибудь самостоятельно!
*

b2z

  • Глобальный модератор
  • 7284
  • 778 / 0
  • Разраблю понемногу
*

VMF22

  • Новичок
  • 1
  • 0 / 0
Здравствуйте!
Все работает. Спасибо!
Подскажите пожалуйста, как еще от ID-шника тега избавится в URL?
*

volovichvv

  • Новичок
  • 4
  • 0 / 0
Добрый день,

Бала такая же проблема. Применил решение предложенное robert и оно почти исправило ситуацию.
У меня на сайте пункты меню созданы для всех меток, а также имеется пункт меню со списком всех меток. Работает также мультиязычность. Раньше ссылки на метки со страниц с материалами работали вообще правильно, но потом после обновления до 3.4.6. они стали отсылать, например, на:
http://vedaj.by/index.php/ru/component/tags/tag/2-kostely
После применения решения предложенного здесь, для метки из примера URL стал таким:
http://vedaj.by/index.php/ru/dostoprim/2-kostely
Спасибо и на этом, эта страница уже хоть как-то логично связана с остальными языковыми версиями, но в меню активным выглядит пункт меню соответствующий не данной метке, а списку всех меток, который расположен по урлу: http://vedaj.by/index.php/ru/dostoprim. Поэтому в идеале хотелось бы чтобы ссылка в метке наконец снова (как и до обновления) стала указывать на созданный для данной метки пункт меню:
http://vedaj.by/index.php/ru/dostoprim/kostely
Такая проблема повторяется естественно со всеми метками. Пожалуйста, подскажите, что еще можно сделать, буду очень благодарен.
*

volovichvv

  • Новичок
  • 4
  • 0 / 0
« Последнее редактирование: 30.01.2016, 23:04:19 от volovichvv »
*

volovichvv

  • Новичок
  • 4
  • 0 / 0
Применил решение со ссылки:

https://github.com/joomla/joomla-cms/compare/staging...b2z:tag-route

Отдельно от решения robertа не работает вообще. Метки в материалах снова ссылаются например на:

http://vedaj.by/index.php/ru/component/tags/tag/2-kostely

Совместно с решением robertа работает также как и только с решением robertа, т.е. ссылки выставляются на страницу:

http://vedaj.by/index.php/ru/dostoprim/2-kostely

Хотя для метки из примера создан отдельный пункт меню с урлом:

http://vedaj.by/index.php/ru/dostoprim/kostely

Для всех меток на сайте созданы пункты меню, и для списков всех меток во всех языках созданы пункты меню. Подскажите может нужно выполнить еще какие-то условия для того чтобы заработало, кроме как просто внести предложенные изменения с Гитхаба в код и поставить "Да" в настройках компонента? Компонент "метки" у меня стандартный. Я пробовал играться с настройками пунктов меню с метками и с другими настройками меток, и вообще какие я только не пробовал менять настройки... Может какой-то компонент или плагин должен быть обязательно включен? Например у меня отключен стандартный плагин "перенаправление"... А может данное решение не совместимо с многоязычными сайтами.
Дело в том, что на всех остальных моих сайтах кроме vedaj.by, работа с метками вообще не поломалась после обновления, и они прекрасно указывают куда нужно, т.е. на урлы специально созданных пунктов в меню. Теперь уже все сайты (в т.ч. и проблемный) работают на версии 3.4.8... А эти все остальные сайты одноязычные.

Огромное спасибо!
« Последнее редактирование: 30.01.2016, 23:33:50 от volovichvv »
*

b2z

  • Глобальный модератор
  • 7284
  • 778 / 0
  • Разраблю понемногу
*

volovichvv

  • Новичок
  • 4
  • 0 / 0
Нет, напрочь не работает. Кроме появившегося пункта в настройках компонента "Метки" в админке, где можно выбрать "Да" или "Нет" нет никаких изменений (выбрано "Да").
Про все остальные сайты я имел ввиду то, что они вообще даже не ломались. Я их также обновил сначала до 3.4.6. а потом и до 3.4.8. и метки все это время работали правильно без всяких моих действий. Я это написал чтобы подчеркнуть то, что не работают ссылки на метки только на единственном моем многоязычном сайте. В том числе и Ваше решение на нем пока не сработало.
« Последнее редактирование: 30.01.2016, 23:37:38 от volovichvv »
*

b2z

  • Глобальный модератор
  • 7284
  • 778 / 0
  • Разраблю понемногу
Похоже, что у Вас другая проблема. Моё решение для того, чтобы не создавать на все метки пункты меню.
*

Wertos

  • Захожу иногда
  • 489
  • 22 / 0
Действительно, это баг TagsHelperRoute(). Создайте в вашем шаблоне папку html/layouts/joomla/content и распакуйте там прикрепленный файл.

updated: перезалил файл.

Вот за это жирный +
Но тут воткнул я модуль http://extensions.joomla.org/extensions/extension/search-a-indexing/tags-a-clouds/vina-tags-popular
Ссылка в модуле такие component/tags/tag/
Вопрос: Как исправить их на нормальные не создавая пункт в меню на каждую метку. На список меток пункт есть.
*

Wertos

  • Захожу иногда
  • 489
  • 22 / 0
такое решение мне не подойдёт, из за того что родительский пункт меню - это блог категории, а дочерний это список меток. А одинаковый алиас не создаёться...
*

Артём 2014

  • Захожу иногда
  • 484
  • 6 / 3
Добрый день, я вот не очень понимаю создать пункт меню для меток, просто мне лишние меню в моем блоге не оч будут уместны... или я может не так это представляю, если не сложно объясните, или покажите пример..
*

b2z

  • Глобальный модератор
  • 7284
  • 778 / 0
  • Разраблю понемногу
Добрый день, я вот не очень понимаю создать пункт меню для меток, просто мне лишние меню в моем блоге не оч будут уместны... или я может не так это представляю, если не сложно объясните, или покажите пример..
Так вы его создайте в меню, которое не опубликовано нигде на сайте.
*

Артём 2014

  • Захожу иногда
  • 484
  • 6 / 3
сейчас тогда попробую, сделать, отпишусь позже что вышло из этого;)
*

Артём 2014

  • Захожу иногда
  • 484
  • 6 / 3
проблема решилась с добавлением одного пункта меню :  когда создавал последующие пункты меню выдавало ошибку, в целом создал меню Создать/опубликовать пункт меню view=tags (Список меток / List of all tags) с алиасом tags
*

Артём 2014

  • Захожу иногда
  • 484
  • 6 / 3
Google проиндексировал неверные ссылки, редирект делать?
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Joomla 3 не пускает в админку (просто перезагружается страница) (гуглил, нашёл решение, не помогло)

Автор lifelover2b

Ответов: 11
Просмотров: 3731
Последний ответ 05.06.2025, 04:48:29
от andrey222
По поводу сессий Joomla 3

Автор azm1n

Ответов: 0
Просмотров: 493
Последний ответ 25.05.2025, 09:26:17
от azm1n
Стоит ли ставить плагин rel="canonical" на Joomla 3

Автор azm1n

Ответов: 2
Просмотров: 660
Последний ответ 09.05.2025, 12:39:18
от azm1n
Вывести поля профиля Joomla

Автор romagromov

Ответов: 11
Просмотров: 1714
Последний ответ 28.04.2025, 10:25:44
от sivers
Максимальная версия PHP для Joomla 3

Автор Dram

Ответов: 8
Просмотров: 2078
Последний ответ 27.03.2025, 10:40:29
от wishlight