Новости 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

Компания 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

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

dmydry

  • Новичок
  • 9
  • 0 / 0
только куда разделитель, как, например этот - ""&nbsp;|"&nbsp;" сюда засунуть подскажите плз
*

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
только куда разделитель, как, например этот - ""&nbsp;|"&nbsp;" сюда засунуть подскажите плз
засунуть к примеру после $row->prevTitle ссылки, но тогда он будет показываться если нет следующей статьи (ну или не будет если нет предыдущей)
Нужна дополнительная проверка на наличие каждой из ссылок и вставлять разделитель.
Я этим вопросом не задавался, потому готового кода не предложу
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

dmydry

  • Новичок
  • 9
  • 0 / 0
beliyadm поставил br, меня устроило вполне, но ещё, если не замучал вопросами (возможно другим новичкам пригодится)
куда добавить:
Код
.pages a{float:right;}
.pages a:first-child {float:left !important;}
?
*

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
dmydry - Палыч это писал для версии мамбота для 1.0, в 1.5 я стили немного поменял, нужно (но не в всех браузерах работать будет)
Код: css
.pagenav a{float:right;}
.pagenav a:first-child {float:left !important;}
Лучше использовать классы для каждой отдельной ссылки (они есть)
Код: css
a.PageNavPrev {}
a.PageNavNext {}
Вписывать в CSS файл tooltip.css плагина либо файл стилей шаблона шаблона (лучше куда нибудь в одно место, чтобы не дублировать)
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

dmydry

  • Новичок
  • 9
  • 0 / 0
а можно сделать так, чтоб кирилицу распознало? я пишу в коде
Код
$html .= '<p style="text-align: left;">Предыдущая - <a href="'. $row->prev .'" class="PageNavPrev" title="'. $introPrev. '">'. mb_substr($row->prevTitle, 040). '...</a></p><br>';
выводит символы... пишу англ - всё ок
*

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
а можно сделать так, чтоб кирилицу распознало?
сохранить файл плагина как UTF-8 (любой редактор начиная с notepad обычного) это позволяет
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

dmydry

  • Новичок
  • 9
  • 0 / 0
beliyadm
СПАСИБО!
мамбот получился незаменимым!
« Последнее редактирование: 26.05.2009, 21:26:31 от dmydry »
*

fortunato

  • Осваиваюсь на форуме
  • 17
  • 0 / 0
  • 3D studio
А как можно сделать чтоб страницы зациклить....тоесть с первой страницы будет ссылка не только на вторую, но и на последнию?
*

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
А как можно сделать чтоб страницы зациклить....тоесть с первой страницы будет ссылка не только на вторую, но и на последнию?
исправлять, а скорей всего вводить еще один SQL запрос на получение граничных данных, сам не занимался и в ближайшее время руки не дойдут
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

fortunato

  • Осваиваюсь на форуме
  • 17
  • 0 / 0
  • 3D studio
Понятно...может просто поставлю на первой и последней странице ссылку вручную тогда))
А так просто хотелось вот это реализовать
http://digits.ru/articles/promotion/pagerank.html
где-то на форуме вроде обсуждалось...не нашел через поиск
*

Sulpher

  • Живу я здесь
  • 2126
  • 402 / 16
  • Шаблоны и расширения Joomla
Петь, поправь описание xml'ки для 1.5. у тебя опечатка в настройках плагина:

Both - тут всё правильно
before content - правильно будет Above content (вверху контента)
after content - правильно будет Below content (внизу контента)

Ну и еще мелкие очепятки есть, если нужно, поправлю и описание на иглише краткое составлю.

Пожелания:
1. Брать 150-200 символов описания из интротекст пред. или след. статьи и пихать их в title ссылки.
2. Регулировать кол-во этих символов (150 или 200 - ввести вручную) в настройках плагина.

Jquery для декорации тут на фиг не нужен, имхо. А вообще респект за доработку плагина! +1
*

Aleks_El_Dia

  • Живу я здесь
  • 3671
  • 353 / 0
  • AEDStudio Joomla! Direction
Заметил такую вещь:
Есть статистические статьи: Сало, Мясо, Хлеб. Есть меню со ссылками на эти статьи: Сало (site.ru/salo.html), Мясо (site.ru/mjaso.html),Хлеб (site.ru/hleb.html)
При переходе на пункт меню, например Сало, открывается страница site.ru/salo.html
По клику на следующую статью Мясо - открывается статья о Мясе по адресу site.ru/salo/mjaso.html
То есть реальная ссылка на Мясо - site.ru/mjaso.html но при переходе из предыдущего (или следующего) материала вклинивается название статьи из которой мы начали просмотр - site.ru/salo/mjaso.html или site.ru/salo/hleb.html

При этом если отключить плагин PageNav и включить стандартный - все работает корректно
Включен стандартный сеф

По-моему это немного не корректная работа плагина, ибо получается несколько разных ссылок на один материал.
Есть идеи?
« Последнее редактирование: 11.09.2009, 22:07:38 от Aleks_El_Dia »
Спам придумали боги в отместку за наши молитвы (с) Рома Воронежский
На молоко: Z369038872422 || R210017695494 || U247040729215 || ЯД 410011288250383
Мигрирую сайты, переношу расширения J!1.0->J!1.5->J!2.5. Более 50 успешных миграций.
*

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
Алекс - это для версии 1.0 или 1.5? В 1.5 же нет статичных материалов, а логика плагина в принципе работает в пределах категорий\разделов, для статичных материалов не продумывал алгоритм
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

Aleks_El_Dia

  • Живу я здесь
  • 3671
  • 353 / 0
  • AEDStudio Joomla! Direction
Алекс - это для версии 1.0 или 1.5? В 1.5 же нет статичных материалов, а логика плагина в принципе работает в пределах категорий\разделов, для статичных материалов не продумывал алгоритм
Для версии 1.5. Статичных нету - но я имел ввиду неприкрепленные к разделам/категориям
Могу продемонстрировать наглядно. (только в личку:) )

Реально это реализовать в твоем плагине по аналогии со стандартным по отношению к незакрепленным за раделами/категориями материалов?
« Последнее редактирование: 11.09.2009, 22:54:51 от Aleks_El_Dia »
Спам придумали боги в отместку за наши молитвы (с) Рома Воронежский
На молоко: Z369038872422 || R210017695494 || U247040729215 || ЯД 410011288250383
Мигрирую сайты, переношу расширения J!1.0->J!1.5->J!2.5. Более 50 успешных миграций.
*

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
Реально это реализовать в твоем плагине по аналогии со стандартным по отношению к незакрепленным за раделами/категориями материалов?
думаю да, надо подумать :)
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

Aleks_El_Dia

  • Живу я здесь
  • 3671
  • 353 / 0
  • AEDStudio Joomla! Direction
Ну как, подвижки есть? :)
Спам придумали боги в отместку за наши молитвы (с) Рома Воронежский
На молоко: Z369038872422 || R210017695494 || U247040729215 || ЯД 410011288250383
Мигрирую сайты, переношу расширения J!1.0->J!1.5->J!2.5. Более 50 успешных миграций.
*

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
есть, сейчас закончу с срочными делами и вечером сяду еще раз посмотреть, есть идея, осталось только реализовать
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
Алекс, извини, вник в проблему, скорей всего разобраться не получится, либо знаний не хватает либо я прав что это особенность стандартного SEF
Кстати и стандартный плагин точно также отрабатывает. Создал три непривязанных материала, на каждый повесил ссылку в меню static1.html static2.html static2.html
При входе в static2.html ссылки "назад\вперед" имеют вид static2/55-staticitem3.html и static2/53-staticitem1.html соответственно, как в моем плагине, так и в стандартном.

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

Aleks_El_Dia

  • Живу я здесь
  • 3671
  • 353 / 0
  • AEDStudio Joomla! Direction
Ок,спасибо за проделанную работу, будем изворачиваться ;)
Спам придумали боги в отместку за наши молитвы (с) Рома Воронежский
На молоко: Z369038872422 || R210017695494 || U247040729215 || ЯД 410011288250383
Мигрирую сайты, переношу расширения J!1.0->J!1.5->J!2.5. Более 50 успешных миграций.
*

dimsa

  • Захожу иногда
  • 135
  • 32 / 0
Может кто привести для примера код CSS, чтобы посмотреть как правильно разнести влево и вправо ссылки на предыдущую и следующую статью. 
Просто я запутался в стилях.... как ни пытаюсь, одна галиматья... обе ссылки прижаты к друг другу :(
Верьте в будущее и оно наступит.
*

djbob2000

  • Захожу иногда
  • 96
  • 4 / 0
У меня при наведении на ссылку всплывает подсказка с интротекстом, только показывается не текст, а его нтмл-код. Это у меня такая запарка или текст нужно обрабатывать?
*

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
У меня при наведении на ссылку всплывает подсказка с интротекстом, только показывается не текст, а его нтмл-код. Это у меня такая запарка или текст нужно обрабатывать?
откройте файл плагина PageNav.php и замените
Код: php
$intro = htmlspecialchars( $row->prevIntro );
$introPrev = '<span>'.$intro.'</span>';
$intro = htmlspecialchars( $row->nextIntro );
$introNext = '<span>'.$intro.'</span>';
на
Код: php
$intro = strip_tags( $row->prevIntro );
$introPrev = '<span>'.$intro.'</span>';
$intro = strip_tags( $row->nextIntro );
$introNext = '<span>'.$intro.'</span>';
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

djbob2000

  • Захожу иногда
  • 96
  • 4 / 0
Вот уже 2 года как читаю этот форум, самый лучший человек который всегда везде помогает, это beliyadm. ИМХО.
Может кто привести для примера код CSS, чтобы посмотреть как правильно разнести влево и вправо ссылки на предыдущую и следующую статью. 
Да какой там стиль, все выводится одним дивом. Я тупо наставил 10 пробелов между ними. Можешь символы какие-то интересные вставить или картинки, как душа пожелает.
*

ksergeys

  • Осваиваюсь на форуме
  • 49
  • 0 / 0
работает на ура...
« Последнее редактирование: 09.04.2010, 20:46:49 от ksergeys »
*

newleax

  • Захожу иногда
  • 234
  • 23 / 0
Цитировать
Мамбот внутренней навигации (Content Item Navigation) для j! 1.0.хх
Версия плагина PageNav ver. 1.0.5 для !Joomla 1.5.х
Как-то запутанно написано. Все-таки... версия для 1.5 есть?
« Последнее редактирование: 03.08.2010, 22:43:36 от newleax »
*

Aleks_El_Dia

  • Живу я здесь
  • 3671
  • 353 / 0
  • AEDStudio Joomla! Direction
Есть, второй архив во вложении первого поста.
Спам придумали боги в отместку за наши молитвы (с) Рома Воронежский
На молоко: Z369038872422 || R210017695494 || U247040729215 || ЯД 410011288250383
Мигрирую сайты, переношу расширения J!1.0->J!1.5->J!2.5. Более 50 успешных миграций.
*

redeye

  • Захожу иногда
  • 61
  • 4 / 0
Поставил PageNav ver. 1.0.5
Почему то не работает.. Не совсем понял,это где? - "в глобальной конфигурации в вкладке CONTENT установить опцию "Content Item Navigation:" в NO"
*

petyp

  • Захожу иногда
  • 214
  • 0 / 0
Тоже поставил плагин PageNav ver. 1.0.5  менюотображается (но оно отображается в одну строчку, ну думаю в CSS я это изменю) но блин при наведении на ссылку всплывает весь HTML текст статьи, предыдущий хак не помогает (((
а именно
откройте файл плагина PageNav.php и замените
Код

$intro = htmlspecialchars( $row->prevIntro );
$introPrev = '<span>'.$intro.'</span>';
$intro = htmlspecialchars( $row->nextIntro );
$introNext = '<span>'.$intro.'</span>';

на
Код

$intro = strip_tags( $row->prevIntro );
$introPrev = '<span>'.$intro.'</span>';
$intro = strip_tags( $row->nextIntro );
$introNext = '<span>'.$intro.'</span>';


Результат тот же (((
*

TRIGUN

  • Захожу иногда
  • 95
  • 0 / 0
Здравствуйте!

Каким образом сделать вывод навигации у PageNav для Joomla 1.5, как и у Nearest Article, под самим материалом как на скрине?
В самом тексте вывод не удобен в любой позиции.

*

Velascues

  • Осваиваюсь на форуме
  • 25
  • 0 / 0
  • www.dizaynru.ru
Представляю вашему вниманию маленький, но полезный мамбот, заменяющий в режиме просмотра полного текста материала кнопки "назад - вперед" на сочетание "название предыдущей статьи - название следующей статьи"

А для Joomla 2.5 есть такой же мамбот?
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Мамбот HSImage - всплывающие картинки (подсказки) в материалах v.1.1.4

Автор yunoshev

Ответов: 642
Просмотров: 264494
Последний ответ 23.12.2012, 14:05:58
от yunoshev