Новости Joomla

Компания JetBrains рассказала о своей поддержке Joomla

Компания JetBrains рассказала о своей поддержке Joomla

JetBrains - один из мировых лидеров в разработке программного обеспечения для разработчиков. Её программные продукты - это IDE - профессиональные среды разработки, которые отличаются от простого блокнота/редактора с плагинами набором всевозможных инструментов для разработчиков, глубоким анализом кодовой базы, подсказками по ней и по языку программирования, отладкой ошибок и многим-многим другим. Одним из самых известных продуктов компании является IDE PHP Storm, который можно назвать отраслевым стандартом PHP-разработчика.

В статье How PhpStorm Helps Maintain PHP Open-Source Projects: Interviews and Real-World Examples в блоге компании описываются Open Source проекты, которым JetBrains оказывает поддержку (это могут быть бесплатные лицензии для разработчиков для некоммерческих проектов).

В список попали:

  • PHPUnit - фреймворк для unit-тестирования в PHP
  • Doctrine DBAL - библиотека для PHP, которая предоставляет лёгкий и гибкий слой для коммуникации с базой данных. Она поддерживает различные базы данных через единый и согласованный API.
  • CodeIgniter — популярный MVC-фреймворк для разработки на PHP
  • Joomla! - наша любимая CMS.

Эти названия (кроме "Joomla") чаще всего не слышат вебмастера и разработчики обычных сайтов и интернет-магазинов. Но эти названия хорошо знакомы PHP-разработчикам, которые создают сложные и высоконагруженные проекты и микросервисы. То, что Joomla оказалась в одном ряду с такими программными инструментами - делает ей честь.

🙏 За ссылку спасибо участнику нашего сообщества Ринату Кажетову (@rkazhet).

Подпишитесь на @joomlafeed

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

d.zasypkin

  • Новичок
  • 4
  • 0 / 0
Задача следующая:

В главном меню есть несколько разделов, для каждого из которых используются в дизайне разные цвета и картинки.

На данный момент это реализовано следующим образом:
Код: php
<body id="body" class="page<?php echo JRequest::getInt( 'Itemid' )?>">

По классам, заданным id, настроены СSS.

В php я не силён, этот способ посчитал для себя наиболее подходящим.

Проблема в том, что у дочерних пунктов в главном меню свои id, и, во-первых, получается слишком громоздкий код в CSS, а во вторых, непосвященный юзер вообще не может адекватно создать новый подпункт меню.
Подскажите, как можно выводить id только пунктов меню первого уровня, или как иначе можно решить задачу.

Плодить темплейты тоже не хотелось бы.
*

danik.html

  • Живу я здесь
  • 2650
  • 353 / 4
Код
<?php
$menu = &JSite::getMenu();
$active = $menu->getActive();
$chapter = isset($active)? $active->tree[0] : null;
?>
<body id="body" class="page<?php echo $chapter ?>">

Вот только я не помню там дерево идет от предков к потомкам или наоборот... Если наоборот то вместо $active->tree[0] будет array_shift($active->tree) (кажется)
【Мегапак Virtuemart:
 • метатеги (description,keywords)
 • заголовки (title)
 • красивые алиасы (чпу) без тормозов и дублей!
*

d.zasypkin

  • Новичок
  • 4
  • 0 / 0
Код
<?php
$menu = &JSite::getMenu();
$active = $menu->getActive();
$chapter = isset($active)? $active->tree[0] : null;
?>
<body id="body" class="page<?php echo $chapter ?>">

Вот только я не помню там дерево идет от предков к потомкам или наоборот... Если наоборот то вместо $active->tree[0] будет array_shift($active->tree) (кажется)

Всё работает, большое спасибо!
*

d.zasypkin

  • Новичок
  • 4
  • 0 / 0
Код
<?php
$menu = &JSite::getMenu();
$active = $menu->getActive();
$chapter = isset($active)? $active->tree[0] : null;
?>
<body id="body" class="page<?php echo $chapter ?>">

Вот только я не помню там дерево идет от предков к потомкам или наоборот... Если наоборот то вместо $active->tree[0] будет array_shift($active->tree) (кажется)

Совсем забыл!

Есть ещё сопряжённый вопрос более эстетического толка.

Как можно вызвать Псевдоним раздела меню, а не айдишник?
*

danik.html

  • Живу я здесь
  • 2650
  • 353 / 4
Код: php
<?php
$menu = &JSite::getMenu();
$active = $menu->getActive();
$chapter_id = isset($active)? $active->tree[0] : null;
$chapter = ($menu->getItem($chapter_id))? $menu->getItem($chapter_id) : $menu->getDefault();
$alias = $chapter->alias;
?>
<body id="body" class="page<?php echo $alias ?>">
【Мегапак Virtuemart:
 • метатеги (description,keywords)
 • заголовки (title)
 • красивые алиасы (чпу) без тормозов и дублей!
*

d.zasypkin

  • Новичок
  • 4
  • 0 / 0
Код: php
<?php
$menu = &JSite::getMenu();
$active = $menu->getActive();
$chapter_id = isset($active)? $active->tree[0] : null;
$chapter = ($menu->getItem($chapter_id))? $menu->getItem($chapter_id) : $menu->getDefault();
$alias = $chapter->alias;
?>
<body id="body" class="page<?php echo $alias ?>">

Предел мечтаний)
Еще раз спасибо!
*

HYBRID

  • Захожу иногда
  • 228
  • 47 / 0
  • Они захватят мир
Даник, плюс тебе за то что помог развитию идеи, похожая идея как у d.zasypkin летала где-то в голове а тут бац и готовое решение для этого :)
http://hybrid-lab.com - лаборатория
*

danik.html

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

HYBRID

  • Захожу иногда
  • 228
  • 47 / 0
  • Они захватят мир
пора тебе завести свой блог "полезные рецепты для joomla" ;)
http://hybrid-lab.com - лаборатория
*

Garrison

  • Новичок
  • 5
  • 0 / 0
А подскажите с помощью какого "сниппета" можно добавить id не текущего пункта меню, как в примерах выше а присвоить вложенным пунктам меню id родителя? то. е. к примеру есть меню вида
колбаса
-вареная
-копченная

где id пункта "колбаса" 20
какой "сниппет" добавить в код, чтобы в коде страницы у вложенных пунктах -вареная, и  -копченная присутствовал id родителя 20?
*

danik.html

  • Живу я здесь
  • 2650
  • 353 / 4
Просмотрите сообщения внимательней. Тут как раз эта проблема и решалась. Только второй кусок кода вместо id выводил алиас пункта меню, чтоб было не <body class="page-47" /> а <body class="page-kolbasa" />
【Мегапак Virtuemart:
 • метатеги (description,keywords)
 • заголовки (title)
 • красивые алиасы (чпу) без тормозов и дублей!
*

Garrison

  • Новичок
  • 5
  • 0 / 0
Когда я подставляю код из примера выше у меня выходит не совсем то что нужно...  Вот меню:
Колбаса         (id20) (это сепаратор)
-вареная        (a class= "mainlevel")
-копченая      (a class= "mainlevel")
Деликатесы    (id21) (это сепаратор)
-ветчина        (a class= "mainlevel")
-грудинка       (a class= "mainlevel")


и вот классу mainlevel  нужно приписать  mainlevel-20  для вареной и копченой и mainlevel-21 для ветчины и грудинки. А у меня для всех прописывается mainlevel-20 если я открыл вареную или копченую и mainlevel-21 если соответственно ветчину или грудинку... Иными словами ВСЕМ подпунктам присваевается id того сепаратора, подменю которого сейчас открыто.

« Последнее редактирование: 01.02.2012, 16:59:43 от Garrison »
*

danik.html

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

Garrison

  • Новичок
  • 5
  • 0 / 0
Все очень просто  меню состоит из четырех сепараторов  каждый сепаратор имеет свой id которому соответствует свой цвет фона.  Цвет текста каждого подменю по замыслу должен соответсвовать цвету фона своего сепаратора.  сепаратор и подменю выводится примерно в вледующем виде:  
<div><h3 class="s5_am_toggler">
<p class="pas21">
<span class="separator">
<span>ГИГИЕНА ПРЕДПРИЯТИЯ</span></span>
</p></h3>

и подменю:

ul class="s5_am_innermenu">
<li class="s5_am_inner_li item27">
<a class="mainlevel69" href="/4/hugien/moduli-gigieniceskie.html">
<span>Модули гигиенические</span></a></li></ul></div>

для сепаратора я смог впихнуть в код модуля строку <p class="pas21">  и прописал в CSS для pas21 цвет фона. А вот для подменю цвет текста прописать не могу ибо сыы игнорирует все упрямо делая цвет таким который соответствует а class... Вот я и пытаюсь приписать mainlevel  id родного сепаратора чтобы потом указать ему цвет текста, и чтобы потом в будущем при добавлении новых подпунктов они сразу имели нужный стиль... Как видите сейчас там 69 что соответствует текущему пункту меню (ваш пример в работе)
« Последнее редактирование: 02.02.2012, 08:29:25 от Garrison »
*

danik.html

  • Живу я здесь
  • 2650
  • 353 / 4
Что то вобще непонятная разметка. Такую разметку дает джумловское меню? Или что? где тут вобще джумловское меню используется? Это будет аккордеон? есть же готовые модули нормальные. Уверен все решается гораздо проще. Дайте ссылку на сайт.
【Мегапак Virtuemart:
 • метатеги (description,keywords)
 • заголовки (title)
 • красивые алиасы (чпу) без тормозов и дублей!
*

Garrison

  • Новичок
  • 5
  • 0 / 0
Да разметку дает джумловский модуль   s5 accordion menu. Адрес сайта ****  Там на сайте два одинаковых левых меню аккордеон. Нижнее меню я сделал сначала но оно к сожалению иногда глючит . Поэтому я решил сделать такое же но на основе модуля  s5 accordion menu А он выдает такую вот разметку.
« Последнее редактирование: 02.02.2012, 21:28:21 от Garrison »
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

убрать из меню заголовки h3

Автор nexter

Ответов: 19
Просмотров: 7875
Последний ответ 03.02.2020, 18:49:47
от durte
При добавлении нового пункта меню не отображается содержимое

Автор Denko

Ответов: 2
Просмотров: 3289
Последний ответ 16.01.2020, 18:40:55
от Denko
Не нажимается пункт меню на мобильной версии

Автор Sensession

Ответов: 7
Просмотров: 4784
Последний ответ 04.01.2020, 16:45:27
от xpank
Не отображаются пункты в меню

Автор physic

Ответов: 20
Просмотров: 22996
Последний ответ 20.09.2019, 16:54:01
от beliyadm
Как в ARI Ext Menu добиться работы параметра "Показать в меню"?

Автор vasmed

Ответов: 1
Просмотров: 3535
Последний ответ 01.03.2019, 11:12:18
от vasmed