Новости Joomla

Joomla 6 нуждается в вашей помощи с тестированием.Вышел недавно релиз Joomla 6 alpha1

Joomla 6 нуждается в вашей помощи с тестированием.Вышел недавно релиз Joomla 6 alpha1

👩‍💻 Joomla 6 нуждается в вашей помощи с тестированием.Вышел недавно релиз Joomla 6 alpha1. Это релиз, в который включены уже проверенные изменения, но ещё очень многие исправления и улучшения ждут своей очереди. Joomla следит за качеством и безопасностью своего кода и каждое изменение должно быть успешно протестировано как минимум ещё двумя участниками сообщества. Разработка Joomla ведётся на платформе GitHub.Филипп Уолтон (Philip Walton) - один из разработчиков, кто активно вносит свой вклад в ядро Joomla. Он уже несколько месяцев посвящает свои послеполуденные часы пятницы работе с Joomla и предлагает присоединиться к нему. 📆 Пятница, 30 мая 2025, с 15:00 до 17:00 по UTC (Лондон) - с 18:00 до 20:00 по Москве.В чате Google Meet Филипп готов помочь с тестированием тем, кто будет делать это в первый раз. А так же он подготовил список лёгких Pull Request, которые можно протестировать довольно быстро. Чем больше тестов будет проведено сейчас, тем меньше ошибок вылезет потом. На данный момент 148 (уже 147 на момент написания заметки) PR на GitHub Joomla ждут тестирования.👩‍💻 Open to all. All together.Также вам поможет сделать первые шаги это видео.GitHub JoomlaДа, это вечер пятницы. Но тестирование занимает порой минут 15, а доброе дело сделано. Просто убедитесь, что разработчик чего-то не пропустил и всё работает как ожидается.#joomla #joomla6 #community

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

skylord

  • Захожу иногда
  • 64
  • 0 / 0
mod_menu
« : 13.02.2018, 23:56:44 »
всем привет

вот такая ситуацыя:

предположим есть меню из четырех пунктов, у второго пункта имеется  2 подменю, компонент mod_menu формирует вот такую HTML структуру
<ul>
  <li><a href="">P1</a></li>
  <li><a href="">P2</a>
    <ul>
      <li><a href="">PP1</a></li>
      <li><a href="">PP2</a></li>
    </ul>
  </li>
  <li><a href="">P3</a></li>
  <li><a href="">P4</a></li>
</ul>
ВОПРОС: в каком файле Joomla формирует строку: <a href="">P</a>

мне надо добавить внутрь <а> вот такую конструкцию <i class="fas fa-caret-down"></i>
в итоге должно получится:

<ul>
  <li><a href="">P1<i class="fas fa-caret-down"></i></a></li>
  <li><a href="">P2<i class="fas fa-caret-down"></i></a>
    <ul>
      <li><a href="">PP1</a></li>
      <li><a href="">PP2</a></li>
    </ul>
  </li>
  <li><a href="">P3<i class="fas fa-caret-down"></i></a></li>
  <li><a href="">P4<i class="fas fa-caret-down"></i></a></li>
</ul>


можете подсказать?
« Последнее редактирование: 14.02.2018, 00:00:14 от skylord »
*

Efanych

  • Глобальный модератор
  • 4683
  • 644 / 0
  • Меняю свою жизнь на 360°!
Re: mod_menu
« Ответ #1 : 14.02.2018, 00:01:06 »
Смотря какой тип меню... default_component.php для ссылок компонентов...
Создание сайтов, шаблонов, помощь в решении проблем.
*

skylord

  • Захожу иногда
  • 64
  • 0 / 0
Re: mod_menu
« Ответ #2 : 14.02.2018, 00:11:03 »
у меня URL и у них есть порменю
я смотрел в файл deafult_url.php и не нашел, вот код этого файла:

------------------------------
Код
<?php
/**
 * @package     Joomla.Site
 * @subpackage  mod_menu
 *
 * [member=126442]copyright[/member]   Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved.
 * @license     GNU General Public License version 2 or later; see LICENSE.txt
 */

defined('_JEXEC') or die;

$attributes = array();

if ($item->anchor_title)
{
$attributes['title'] = $item->anchor_title;
}

if ($item->anchor_css)
{
$attributes['class'] = $item->anchor_css;
}

if ($item->anchor_rel)
{
$attributes['rel'] = $item->anchor_rel;
}

$linktype = $item->title;

if ($item->menu_image)
{
if ($item->menu_image_css)
{
$image_attributes['class'] = $item->menu_image_css;
$linktype = JHtml::_('image', $item->menu_image, $item->title, $image_attributes);
}
else
{
$linktype = JHtml::_('image', $item->menu_image, $item->title);
}

if ($item->params->get('menu_text', 1))
{
$linktype .= '<span class="image-title">' . $item->title . '</span>';
}
}


if ($item->browserNav == 1)
{
$attributes['target'] = '_blank';
}
elseif ($item->browserNav == 2)
{
$options = 'toolbar=no,location=no,status=no,menubar=no,scrollbars=yes,resizable=yes';

$attributes['onclick'] = "window.open(this.href, 'targetWindow', '" . $options . "'); return false;";
}
/*added*/
if ($item->parent)
{
$linktype =  $item->title . '<i class="fas fa-caret-down"></i>';
}
/*end*/
echo JHtml::_('link', JFilterOutput::ampReplace(htmlspecialchars($item->flink, ENT_COMPAT, 'UTF-8', false)), $linktype, $attributes);

------------------------------
« Последнее редактирование: 14.02.2018, 00:20:44 от Efanych »
*

Efanych

  • Глобальный модератор
  • 4683
  • 644 / 0
  • Меняю свою жизнь на 360°!
Re: mod_menu
« Ответ #3 : 14.02.2018, 00:21:29 »
Добавил в ваш код перед нижней строчкой нужное.
P.S. А чтоб не затёрлось при обновлении, скопируйте этот файл и default.php в
templates/ваш_шаблон/html/mod_menu
« Последнее редактирование: 14.02.2018, 00:33:53 от Efanych »
Создание сайтов, шаблонов, помощь в решении проблем.
*

skylord

  • Захожу иногда
  • 64
  • 0 / 0
Re: mod_menu
« Ответ #4 : 14.02.2018, 00:39:49 »
огромное спасибо
а подскажите пожалуйста если в той же конструкции мне надо добавить вне тэга <а>, например вот так строка 3, после </а> но перед <ул> подменю:

<ul>
  <li><a href="">P1</a></li>
  <li><a href="">P2</a> <i class="fas fa-caret-down"></i>
    <ul>
      <li><a href="">PP1</a></li>
      <li><a href="">PP2</a></li>
    </ul>
  </li>
  <li><a href="">P3</a></li>
  <li><a href="">P4</a></li>
</ul>
*

Efanych

  • Глобальный модератор
  • 4683
  • 644 / 0
  • Меняю свою жизнь на 360°!
Re: mod_menu
« Ответ #5 : 14.02.2018, 00:44:37 »
Тогда вот так
Код
<?php
/**
 * @package     Joomla.Site
 * @subpackage  mod_menu
 *
 * [member=126442]copyright[/member]   Copyright (C) 2005 - 2018 Open Source Matters, Inc. All rights reserved.
 * @license     GNU General Public License version 2 or later; see LICENSE.txt
 */

defined('_JEXEC') or die;

$attributes = array();

if ($item->anchor_title)
{
$attributes['title'] = $item->anchor_title;
}

if ($item->anchor_css)
{
$attributes['class'] = $item->anchor_css;
}

if ($item->anchor_rel)
{
$attributes['rel'] = $item->anchor_rel;
}

$linktype = $item->title;

if ($item->menu_image)
{
if ($item->menu_image_css)
{
$image_attributes['class'] = $item->menu_image_css;
$linktype = JHtml::_('image', $item->menu_image, $item->title, $image_attributes);
}
else
{
$linktype = JHtml::_('image', $item->menu_image, $item->title);
}

if ($item->params->get('menu_text', 1))
{
$linktype .= '<span class="image-title">' . $item->title . '</span>';
}
}

if ($item->browserNav == 1)
{
$attributes['target'] = '_blank';
}
elseif ($item->browserNav == 2)
{
$options = 'toolbar=no,location=no,status=no,menubar=no,scrollbars=yes,resizable=yes';

$attributes['onclick'] = "window.open(this.href, 'targetWindow', '" . $options . "'); return false;";
}

echo JHtml::_('link', JFilterOutput::ampReplace(htmlspecialchars($item->flink, ENT_COMPAT, 'UTF-8', false)), $linktype, $attributes);
/*added*/
if ($item->parent)
{
echo '<i class="fas fa-caret-down"></i>';
}
/*end*/
Создание сайтов, шаблонов, помощь в решении проблем.
*

skylord

  • Захожу иногда
  • 64
  • 0 / 0
Re: mod_menu
« Ответ #6 : 14.02.2018, 00:53:24 »
огомное спсибо
*

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
Re: mod_menu
« Ответ #7 : 14.02.2018, 01:15:20 »
Оффтоп конечно, но не пробовали работать через псевдоэлементы before, вставлять иконки? На уровне CSS при ховере опять же удобней менять как иконку так и оформление будет
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

demis

  • Захожу иногда
  • 67
  • 2 / 0
Re: mod_menu
« Ответ #8 : 10.06.2018, 16:43:10 »
Добрый день.

Подскажите, а как добавить в default_url в <а>, class="..." или другой атрибут например: data-fresco-caption=""

Спасибо.
*

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
Re: mod_menu
« Ответ #9 : 10.06.2018, 16:47:29 »
Нет, атрибут data вы через админку модуля меню не добавите
Нужно лезть в код шаблона меню, ну или его переопределять
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

demis

  • Захожу иногда
  • 67
  • 2 / 0
Re: mod_menu
« Ответ #10 : 10.06.2018, 16:49:22 »
Нет, атрибут data вы через админку модуля меню не добавите
Нужно лезть в код шаблона меню, ну или его переопределять
Да, я имею ввиду как в шаблоне default_url добавить
*

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
Re: mod_menu
« Ответ #11 : 10.06.2018, 16:56:28 »
Вы можете создать свой вид меню, к примеру в \templates\шаблон\html\mod_menu\
создать свои копии файлов default.php и default_component.php (это базовые стандартные файлы типов меню, если нужно можете и default_heading default_separator default_url скопировать
При копировании файлов изменяем часть названия до подчеркивания
В новом измененном default.php изменяем строку после 74 где идет переключение типов
Код
case 'url':
require JModuleHelper::getLayoutPath('mod_menu', 'default_' . $item->type);
break;

default:
require JModuleHelper::getLayoutPath('mod_menu', 'default_url');
break;
endswitch;
Меняем default_ на наш новый префикс файлов (это если нам нужны измененные типы урлов внешнего урла\разделителя
В противном случае этот шаг пропускаем
Ну и все, в нашем новом файле catmenu_component.php пишем любые нужные нам атрибуты ссылки

А ну и да - в модуле меню после создания всех этих типов выбрать наш новый шаблон
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

demis

  • Захожу иногда
  • 67
  • 2 / 0
Re: mod_menu
« Ответ #12 : 10.06.2018, 17:19:48 »
Вы можете создать свой вид меню, к примеру в \templates\шаблон\html\mod_menu\
С этим понятно.

Я не соображу как добавить атрибуты в самом файле default_url
*

NewUsers

  • Живу я здесь
  • 2310
  • 216 / 0
  • +375 (25) 627-16-99 (WhatsApp, Telegram)
Re: mod_menu
« Ответ #13 : 13.06.2018, 06:58:23 »
С этим понятно.

Я не соображу как добавить атрибуты в самом файле default_url
Код: php
$attributes['data-fresco-caption'] = 'че_нибудь';

Если атрибут должен быть постоянно в ссылке то сделай так
Код: php
$attributes = array('data-fresco-caption' => 'че_нибудь');
« Последнее редактирование: 13.06.2018, 07:02:10 от NewUsers »
Занимаюсь создание расширений для Joomla 4.2.x | Доработка и настройка сайтов. Занимаюсь создание Интернет магазинов с нуля на собственном компоненте + оптимизация загрузки страницы (после предоставляю техподдержку).
*

demis

  • Захожу иногда
  • 67
  • 2 / 0
Re: mod_menu
« Ответ #14 : 13.06.2018, 16:19:06 »
Спасибо всем откликнувшимся и отдельно - NewUsers, то что нужно.
Вопрос закрыт.
*

NIKOLY

  • Захожу иногда
  • 84
  • 1 / 0
Re: mod_menu
« Ответ #15 : 25.09.2021, 15:57:17 »
Здравствуйте! Подскажите пожалуйста где копать если нужно добавить значение в href? Например так идёт < a href="/stranica.html" > а мне нужно < a href="/stranica.html#blok" > т.е. добавка к адресу конкретно значение #blok
Спасибо!
*

sivers

  • Живу я здесь
  • 2577
  • 357 / 0
Re: mod_menu
« Ответ #16 : 25.09.2021, 17:08:27 »
Здравствуйте! Подскажите пожалуйста где копать если нужно добавить значение в href? Например так идёт < a href="/stranica.html" > а мне нужно < a href="/stranica.html#blok" > т.е. добавка к адресу конкретно значение #blok
Спасибо!
Добавить обычный пункт меню, чтоб работала ссылка /stranica.html, а затем добавить еще один пункт меню с типом "внешняя ссылка" и в нем указать /stranica.html#blok.
На связи в telegram @sivers
sivers @ inbox . ru
https://sivers.su/
*

draff

  • Гуру
  • 5801
  • 434 / 7
  • ищу работу
Re: mod_menu
« Ответ #17 : 25.09.2021, 17:18:40 »
Подскажите пожалуйста где копать если нужно добавить значение в href? Например так идёт < a href="/stranica.html" > а мне нужно < a href="/stranica.html#blok" > т.е. добавка к адресу конкретно значение #blok
JavaScript - хеш
window.location.hash = 'blok' ;
*

effrit

  • Легенда
  • 10132
  • 1118 / 13
  • effrit.com
Re: mod_menu
« Ответ #18 : 25.09.2021, 17:49:30 »
в зависимости от шаблона. на некоторых свои системы меню класса "сломай мозг".
но для обычных можно в поле Note пункта меню (первая вкладка, снизу справа) вписать #mylink и потом создать переопределение меню или свой шаблон вывода сюда
html\mod_menu\
и там прописать после
Код
foreach ($list as $i => &$item)
{
   вот это
Код
$item->flink .= $item->note;
лучше делать проверку на наличие в note, скажем, #-символа, на случай если есть заполненные комментарии, хотя обычно никто не юзает его.
*

NIKOLY

  • Захожу иногда
  • 84
  • 1 / 0
Re: mod_menu
« Ответ #19 : 27.09.2021, 13:30:45 »
в зависимости от шаблона. на некоторых свои системы меню класса "сломай мозг".
но для обычных можно в поле Note пункта меню (первая вкладка, снизу справа) вписать #mylink и потом создать переопределение меню или свой шаблон вывода сюда
html\mod_menu\
и там прописать после
Код
foreach ($list as $i => &$item)
{
   вот это
Код
$item->flink .= $item->note;
лучше делать проверку на наличие в note, скажем, #-символа, на случай если есть заполненные комментарии, хотя обычно никто не юзает его.
Спасибо! Дельное решение!
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Создать дополнительный шаблон в mod_menu

Автор SLdieR11

Ответов: 3
Просмотров: 588
Последний ответ 28.04.2021, 16:49:46
от gartes
Помогите с mod_menu, как выделить родительский пункт меню?

Автор mrN

Ответов: 3
Просмотров: 1223
Последний ответ 18.12.2017, 11:50:37
от kern.USR
Помогите написать шаблон для меню mod_menu Joomla 3.6.4

Автор DjumaI

Ответов: 4
Просмотров: 1668
Последний ответ 15.03.2017, 22:49:17
от Porohok
Редактирование default_component.php mod_menu Joomla 3.6

Автор DjumaI

Ответов: 2
Просмотров: 1403
Последний ответ 17.12.2016, 21:50:26
от DjumaI
Запутался в default.php mod_menu

Автор BSB

Ответов: 1
Просмотров: 953
Последний ответ 21.09.2016, 03:58:04
от Arkadiy