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

Morh

  • Захожу иногда
  • 118
  • 11 / 0
Как Убрать пункт меню "главная"? Чтобы переход на главную страницу остался только по нажатию логотипа сайта? Удалить или снять с публикации не получается. Пишет, что "хотя бы один пункт меню должен указывать на главную страницу".
« Последнее редактирование: 21.11.2012, 14:42:33 от b2z »
*

SK

  • Живу я здесь
  • 2155
  • 164 / 0
Можно, например, таким образом сделать.
Оставьте в модуле меню только один пункт меню "Главная", который будет иметь тип "По умолчанию".
И этот модуль меню не публикуйте на сайте ни в какой позиции.
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
файл default_component.php
сделай так
Код: php-brief
switch ($item->browserNav) :
default:
case 0:
if (in_array($item->id, $path)){
echo '<span '.$class.'>'.$linktype.'</span>';
}else {
?><a <?php echo $class; ?>href="<?php echo $item->flink; ?>" <?php echo $title; ?>><?php echo $linktype; ?></a><?php
}
break;
case 1:
*

Morh

  • Захожу иногда
  • 118
  • 11 / 0
Спасибо. Заработало по методу SK. При использовании метода Poznakomlus, пункт меню остался на своём месте. Снять с публикации или удалить его не получилось все-равно. (с него просто слетели стили оформления).
*

b2z

  • Глобальный модератор
  • 7284
  • 778 / 0
  • Разраблю понемногу
Метод SK самый надежный. Внес в FAQ, по моему насущный вопрос  ::)
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
Метод SK самый надежный.
Я предложил решение убирать ссылку <a> с активного пункта меню всех  пунктов. Это решение совсем иное. Позволяет не дублировать ссылки на себя
для 1,5      Чтобы страница не могла ссылаться сама на себя?
*

b2z

  • Глобальный модератор
  • 7284
  • 778 / 0
  • Разраблю понемногу
Я предложил решение убирать ссылку <a> с активного пункта меню всех  пунктов. Это решение совсем иное. Позволяет не дублировать ссылки на себя
Не спорю. Правда у ТС что-то не получилось. Давайте разберемся, почему не сработало.

P.S.
Способ необходимо дополнить, чтобы новички не пытались модуль меню править напрямую.
*

ukrsem

  • Осваиваюсь на форуме
  • 20
  • 0 / 0
файл default_component.php
сделай так
Код: php-brief
switch ($item->browserNav) :
default:
case 0:
if (in_array($item->id, $path)){
echo '<span '.$class.'>'.$linktype.'</span>';
}else {
?><a <?php echo $class; ?>href="<?php echo $item->flink; ?>" <?php echo $title; ?>><?php echo $linktype; ?></a><?php
}
break;
case 1:

мне тоже не помогло, "Главная" на месте
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
1. Копируем все файлы из modules/mod_menu/tmpl в ваш_шаблон/html/mod_menu/
2. Правим файлы default_url.php и default_component.php
3. Вставляем нижеследующий код.(Добавил обработку псевдонимов)
Код: php-brief
switch ($item->browserNav) :
default:
case 0:
if (in_array($item->id, $path) || in_array($aliasToId , $path)){
echo '<span '.$class.'>'.$linktype.'</span>';
}else {
?><a <?php echo $class; ?>href="<?php echo $item->flink; ?>" <?php echo $title; ?>><?php echo $linktype; ?></a><?php
}
break;
case 1:
Главная и будет на месте, но без ссылки уже, обернутая в span
*

Efanych

  • Глобальный модератор
  • 4683
  • 644 / 0
  • Меняю свою жизнь на 360°!
Так это же не то условие. Надо
if ($item->id == $active_id) {
или даже так
if ($item->flink == $_SERVER['REQUEST_URI']){
« Последнее редактирование: 22.04.2013, 19:34:03 от Efanych »
Создание сайтов, шаблонов, помощь в решении проблем.
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
Так это же не то условие. Надо
Проверял, перед тем как писать?
*

Efanych

  • Глобальный модератор
  • 4683
  • 644 / 0
  • Меняю свою жизнь на 360°!
Нет, не проверял. Бросилась в глаза проверка на активные дочерние пункты. Проверил, так и есть. При активном дочернем пункте родительский не является ссылкой.
Создание сайтов, шаблонов, помощь в решении проблем.
*

jurassik

  • Давно я тут
  • 692
  • 52 / 1
1. Копируем все файлы из modules/mod_menu/tmpl в ваш_шаблон/html/mod_menu/
2. Правим файлы default_url.php и default_component.php
3. Вставляем нижеследующий код.(Добавил обработку псевдонимов)
Код: php-brief
switch ($item->browserNav) :
default:
case 0:
if (in_array($item->id, $path) || in_array($aliasToId , $path)){
echo '<span '.$class.'>'.$linktype.'</span>';
}else {
?><a <?php echo $class; ?>href="<?php echo $item->flink; ?>" <?php echo $title; ?>><?php echo $linktype; ?></a><?php
}
break;
case 1:
Главная и будет на месте, но без ссылки уже, обернутая в span
на его основе удалить ссылку можно
default.php
в начале цикла вывода li
if (in_array($item->id, $path)==101) continue; \\ главная почти всегда 101
сам шучу - сам смеюсь
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
jurassik in_array($item->id, $path) проверит есть ли значение $item->id в $path. Вы же этот результат сравниваете с 101. Тогда если нужно убрать определенный пункт меню по Id можно такое условие:
Код: php-brief
if ($item->id==101) continue;
Еще раз, вы не внимательно прочитали, в моем решении убирается ссылка (<a>) не только с главной, а со всех активных пунктов меню и их псевдонимов. При этом сам пункт (название меню) выводится обрамленное в <span>
*

wbmsk

  • Осваиваюсь на форуме
  • 21
  • 3 / 0
1. Копируем все файлы из modules/mod_menu/tmpl в ваш_шаблон/html/mod_menu/
2. Правим файлы default_url.php и default_component.php
3. Вставляем нижеследующий код.(Добавил обработку псевдонимов)
Код: php-brief

switch ($item->browserNav) :
default:
case 0:
if (in_array($item->id, $path) || in_array($aliasToId , $path)){
echo '<span '.$class.'>'.$linktype.'</span>';
}else {
?><a <?php echo $class; ?>href="<?php echo $item->flink; ?>" <?php echo $title; ?>><?php echo $linktype; ?></a><?php
}
break;
case 1:
Главная и будет на месте, но без ссылки уже, обернутая в span

Здравствуйте!
Этот способ работает на 2,5?
У меня стоит не дефолтный шаблон (cerulean) и такой папки нет ваш_шаблон/html/mod_menu/, есть ваш_шаблон/html/mod_roknavmenu/
Я пробовал вносить правки (то есть изменять код на Ваш), но ничего не вышло(((
Или нужно не заменять, а добавлять?
Также не подскажете как убрать ссылку с логотипа на главной странице?
Спасибо.
*

wbmsk

  • Осваиваюсь на форуме
  • 21
  • 3 / 0
Никто не подскажет?
*

Roinmana

  • Захожу иногда
  • 108
  • 2 / 0
1. Копируем все файлы из modules/mod_menu/tmpl в ваш_шаблон/html/mod_menu/
2. Правим файлы default_url.php и default_component.php
3. Вставляем нижеследующий код.(Добавил обработку псевдонимов)
Код: php-brief
switch ($item->browserNav) :
default:
case 0:
if (in_array($item->id, $path) || in_array($aliasToId , $path)){
echo '<span '.$class.'>'.$linktype.'</span>';
}else {
?><a <?php echo $class; ?>href="<?php echo $item->flink; ?>" <?php echo $title; ?>><?php echo $linktype; ?></a><?php
}
break;
case 1:
Главная и будет на месте, но без ссылки уже, обернутая в span

Не получается реализовать эту полезную доработку. Делаю как описано, но вместо сайта становится белый экран с исходным кодом:
Код
<ul class="nav menu">
<li class="item-101 current active">
Может я что-то не так делаю. В какую часть исходного кода вставлять этот код? И файлы копировать в ваш_шаблон/html/mod_menu/ или ваш_шаблон/html/mod_menu/tmpl
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
в ваш_шаблон/html/mod_menu/
откройте оригинальный файл и замените часть его кода на приведенный выше там же не 100л строк, чтобы запутатся
если ошибка включайте в общих настройках сайта показывать ошибки для рпзработчиков
код рабочй
*

Roinmana

  • Захожу иногда
  • 108
  • 2 / 0
замените часть его кода на приведенный выше
Спасибо! Все работает, просто я поначалу добавлял вместо замены...
*

gillmor

  • Захожу иногда
  • 53
  • 1 / 0
1. Копируем все файлы из modules/mod_menu/tmpl в ваш_шаблон/html/mod_menu/
2. Правим файлы default_url.php и default_component.php
3. Вставляем нижеследующий код.(Добавил обработку псевдонимов)
Код: php-brief
switch ($item->browserNav) :
default:
case 0:
if (in_array($item->id, $path) || in_array($aliasToId , $path)){
echo '<span '.$class.'>'.$linktype.'</span>';
}else {
?><a <?php echo $class; ?>href="<?php echo $item->flink; ?>" <?php echo $title; ?>><?php echo $linktype; ?></a><?php
}
break;
case 1:
Главная и будет на месте, но без ссылки уже, обернутая в span
Fedor Vlasenko
Спасибо тебе огромное за этот код. Я уже давно хотел решить проблему с меню, но все руки не доходили, да и разбираться было некогда. А теперь все работает.
*

raftol

  • Осваиваюсь на форуме
  • 19
  • 0 / 0
1. Копируем все файлы из modules/mod_menu/tmpl в ваш_шаблон/html/mod_menu/
2. Правим файлы default_url.php и default_component.php
3. Вставляем нижеследующий код.(Добавил обработку псевдонимов)
Код: php-brief
switch ($item->browserNav) :
default:
case 0:
if (in_array($item->id, $path) || in_array($aliasToId , $path)){
echo '<span '.$class.'>'.$linktype.'</span>';
}else {
?><a <?php echo $class; ?>href="<?php echo $item->flink; ?>" <?php echo $title; ?>><?php echo $linktype; ?></a><?php
}
break;
case 1:
Это решение работает только для стандартных материалов и категорий Joomla.
А можно как-то модифицировать Ваше решение для связки Joomla 3.2 + JoomShopping 4.4.0?
*

sega

  • Захожу иногда
  • 272
  • 5 / 0
все отлично но если у пункта есть подпункты то почему родительский так и остается без ссылки?
*

orel115

  • Новичок
  • 2
  • 0 / 0
1. Копируем все файлы из modules/mod_menu/tmpl в ваш_шаблон/html/mod_menu/
2. Правим файлы default_url.php и default_component.php
3. Вставляем нижеследующий код.(Добавил обработку псевдонимов)
Код: php-brief
switch ($item->browserNav) :
default:
case 0:
if (in_array($item->id, $path) || in_array($aliasToId , $path)){
echo '<span '.$class.'>'.$linktype.'</span>';
}else {
?><a <?php echo $class; ?>href="<?php echo $item->flink; ?>" <?php echo $title; ?>><?php echo $linktype; ?></a><?php
}
break;
case 1:
Главная и будет на месте, но без ссылки уже, обернутая в span
Почему при этом методе слетает стиль главного меню?
*

grevzi

  • Новичок
  • 8
  • 0 / 0
Подскажите, пожалуйста, как сделать тоже самое для Joomla 3.2? Как нужно изменить код?
Спасибо!
*

too_good

  • Осваиваюсь на форуме
  • 12
  • 0 / 0
Помогите, пожалуйста, разобраться, сделала по методу SK, теперь один модуль меню с "главной" никуда не выводится, вроде бы все в порядке. Но материал, который был к этому пункту привязан, продолжает выводиться на главной. Если его удалить или снять с публикации, то главная страница просто не грузится. Как с этим справиться?
*

sega

  • Захожу иногда
  • 272
  • 5 / 0
Помогите, пожалуйста, разобраться, сделала по методу SK, теперь один модуль меню с "главной" никуда не выводится, вроде бы все в порядке. Но материал, который был к этому пункту привязан, продолжает выводиться на главной. Если его удалить или снять с публикации, то главная страница просто не грузится. Как с этим справиться?
логично, этот материал привязан к главной и он будет выводиться на главной, а вы что хотите сделать?
*

too_good

  • Осваиваюсь на форуме
  • 12
  • 0 / 0
логично, этот материал привязан к главной и он будет выводиться на главной, а вы что хотите сделать?
Убрать его вообще, снять с публикации, чтоб его не видно было. Помогите, пожалуйста, а?
*

sega

  • Захожу иногда
  • 272
  • 5 / 0
скиньте доступы в админку в личку, помогу чем смогу
*

ma-mix-1

  • Новичок
  • 9
  • 0 / 0
Удаляется через базу данных легко, в яндексе просто забей удалить ссылку на главную страницу, 3 й результат. А вот вопрос, как чтобы этого алиаса потом в сроке ссылки не было, кто знает? Чтобы было не site.ru/home/about, а без алиаса главной site.ru/about ?
*

asdg

  • Новичок
  • 2
  • 0 / 0
Fedor Vlasenko, подскажите пожалуйста, какие правки внести чтобы ваш код заработал на J3.3?
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Алиас пункта меню совпадает с именем подкаталога в каталоге с сист.файлами

Автор Andrey N.

Ответов: 14
Просмотров: 3226
Последний ответ 07.10.2021, 23:57:15
от Garrr
Главное меню

Автор Анастасия87

Ответов: 7
Просмотров: 1568
Последний ответ 21.05.2021, 08:40:40
от arma
Как сократить вертикальное расстояние между меню сайта и баннером?

Автор MultiMatrix83

Ответов: 2
Просмотров: 1424
Последний ответ 16.02.2020, 19:30:25
от MultiMatrix83
Редактирование Модуля - в меню не удаляется пункт

Автор bovinkm

Ответов: 4
Просмотров: 1617
Последний ответ 16.08.2019, 15:00:22
от bovinkm
Не выбирается материал в Joomla при создании меню. Как быть?

Автор elliotos

Ответов: 8
Просмотров: 3221
Последний ответ 09.07.2019, 16:38:31
от cerxx