Новости 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 для атрибута addfieldprefix namespace 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 Гость просматривают эту тему.
  • 16 Ответов
  • 5663 Просмотров
*

altvvc

  • Давно я тут
  • 523
  • 23 / 0
В общем обстановка такая! Есть полностью настроенный и работающий сайт! Вот только материалов на нем уже порядка 8000... Соответственно ID последнего материала у меня 8489. Возможно ли при удалении всего контента сайта обнулить и ID материалов? Просто сборка хорошая получилась и очень ни хочется чтобы URL на новом сайте сразу выглядел где то так site.ru/blog/statia8489.html
Готовый сайт ставлю на локалке на новый хост---> удаляю все статьи все категории и все разделы....
Надо бы заново наполнять но одно смущает---->
---->В общем то и у меню ID очень высокие... Люди подскажите может как то можно Все к почти чистой Joomla вернуть?
Красота спасет мир, а пофигизм спасет нервы.
*

danik.html

  • Живу я здесь
  • 2650
  • 353 / 4
Re: Как обнулить ID материалов?
« Ответ #1 : 16.10.2010, 23:14:10 »
phpMyAdmin->jos_content->Операции->Опции таблицы->auto_increment
【Мегапак Virtuemart:
 • метатеги (description,keywords)
 • заголовки (title)
 • красивые алиасы (чпу) без тормозов и дублей!
*

altvvc

  • Давно я тут
  • 523
  • 23 / 0
Re: Как обнулить ID материалов?
« Ответ #2 : 17.10.2010, 00:49:42 »
Спасибо большое...  Просто поиск по сайту на ветку 1.0 все время выносит... Хотя возможно база ни особо отличается...
« Последнее редактирование: 12.12.2013, 14:38:51 от altvvc »
Красота спасет мир, а пофигизм спасет нервы.
*

altvvc

  • Давно я тут
  • 523
  • 23 / 0
Re: Как обнулить ID материалов?
« Ответ #3 : 17.10.2010, 22:43:53 »
Нашел :D
Красота спасет мир, а пофигизм спасет нервы.
*

altvvc

  • Давно я тут
  • 523
  • 23 / 0
Re: Как обнулить ID материалов?
« Ответ #4 : 05.07.2011, 19:46:32 »
Тему можно в FAQ перенести.
Красота спасет мир, а пофигизм спасет нервы.
*

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
Re: Как обнулить ID материалов?
« Ответ #5 : 05.07.2011, 20:25:18 »
Обнулите инкрементное поле и прямые ссылки на материалы у вас перестанут работать, зачем вообще это делать - не пойму
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

altvvc

  • Давно я тут
  • 523
  • 23 / 0
Re: Как обнулить ID материалов?
« Ответ #6 : 05.07.2011, 21:39:06 »
Если сайт с нуля делать то все нормально. Новые пункты меню, новые разделы и категории. Autoincrement везде 1 изначально стоит.
Красота спасет мир, а пофигизм спасет нервы.
*

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
Re: Как обнулить ID материалов?
« Ответ #7 : 05.07.2011, 21:41:50 »
Если сайт с нуля делать то все нормально. Новые пункты меню, новые разделы и категории. Autoincrement везде 1 изначально стоит.
Да, но всегда удаляются пункты меню, категории, разделы, материалы, вот автоинкремент и будет шпарить по порядку дальше а ID будут сбиты, ну и что? Который год этот вопрос задается, устали уже отвечать, что никакого смысла в сбросе счетчика нет, один вред
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

Taatshi

  • Гуру
  • 5258
  • 481 / 2
  • Верстаем и кодим. Обращайтесь ;)
Re: Как обнулить ID материалов?
« Ответ #8 : 06.07.2011, 00:27:31 »
Который год этот вопрос задается, устали уже отвечать, что никакого смысла в сбросе счетчика нет, один вред

А вот интересно - у этого счетчика есть предел и кто-нибудь его когда-нибудь достигал?

Это как на край мира попасть)))
ВЕРСТКА, САЙТЫ ПОД КЛЮЧ, УДАЛЕНИЕ ВИРУСОВ, МИГРАЦИЯ НА JOOMLA 3, ОБНОВЛЕНИЕ  |  ОТЗЫВЫ 
Связь: telegram - Taatshi, почта - Taatshi на яндексе, Skype - Taatshi
*

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
Re: Как обнулить ID материалов?
« Ответ #9 : 06.07.2011, 00:35:11 »
А вот интересно - у этого счетчика есть предел и кто-нибудь его когда-нибудь достигал?
Зависит только от длины поля с данным типом
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

SmokerMan

  • Гуру
  • 5291
  • 720 / 26
Re: Как обнулить ID материалов?
« Ответ #10 : 07.07.2011, 10:44:38 »
А вот интересно - у этого счетчика есть предел и кто-нибудь его когда-нибудь достигал?
есть
Цитировать
Тип поля INT использует 4 байта для хранения значения. Минимально значение -2147483648, максимальное 2147483647. Беззнаковый INT (unsigned) хранит значения от 0 до 4294967295.
достичь думаю будет проблематично.
*

Taatshi

  • Гуру
  • 5258
  • 481 / 2
  • Верстаем и кодим. Обращайтесь ;)
Re: Как обнулить ID материалов?
« Ответ #11 : 07.07.2011, 17:28:02 »
есть от 0 до 4294967295   достичь думаю будет проблематично.

Фигассе))) Про обнуление - забить и забыть)))
ВЕРСТКА, САЙТЫ ПОД КЛЮЧ, УДАЛЕНИЕ ВИРУСОВ, МИГРАЦИЯ НА JOOMLA 3, ОБНОВЛЕНИЕ  |  ОТЗЫВЫ 
Связь: telegram - Taatshi, почта - Taatshi на яндексе, Skype - Taatshi
*

raf75

  • Новичок
  • 1
  • 0 / 0
Re: Как обнулить ID материалов?
« Ответ #12 : 11.12.2013, 23:07:56 »
Здравствуйте! У меня Joomla 3, JoomShopping, NR Import UTF8. Скажите пожалуйста. Я загружал товар, потом удалял, потом опять загружал и т.д. В итого у меня получился не ровный id номер по счету 556, 557, 1087, 1088 и т.д. А можно, чтобы счет id номер был по порядку 556, 557, 558, 559 и т.д.? Или не стоит того? Заранее спасибо.
*

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
Re: Как обнулить ID материалов?
« Ответ #13 : 12.12.2013, 13:43:21 »
Не стоит, может у вас к материалам привязаны пункты меню, модули или прочее
А вообще конечно можно все
Код: sql
ALTER TABLE <имя таблицы> AUTO_INCREMENT=0
Только вот смысла в этом действии нет
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

dvd-obzor

  • Осваиваюсь на форуме
  • 28
  • 0 / 0
Re: Как обнулить ID материалов?
« Ответ #14 : 19.03.2015, 16:11:15 »
В 2.5 это сделать.

Параметры таблицы
AUTO_INCREMENT  
« Последнее редактирование: 19.03.2015, 16:20:44 от dvd-obzor »
*

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
Re: Как обнулить ID материалов?
« Ответ #15 : 19.03.2015, 16:19:06 »
AUTO_INCREMENT  ставлю 1005
А он всё равно присваивает след материалу 999260
Версия движка никакой роли  не играет.
Если я правильно помню логику работы мускуля на AUTO_INCREMENT, то он делает так - пока не исчерпан лимит свободных значений по типу поля - он берет следующее за последним существующим, когда доходит до конца - пойдет перебор с значения 0 в поисках дыр и будет подставлять пропущенные (удаленные) значения. Ну а потом уже будет ошибка базы.
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

dvd-obzor

  • Осваиваюсь на форуме
  • 28
  • 0 / 0
Re: Как обнулить ID материалов?
« Ответ #16 : 19.03.2015, 16:21:32 »
Версия движка никакой роли  не играет.
Если я правильно помню логику работы мускуля на AUTO_INCREMENT, то он делает так - пока не исчерпан лимит свободных значений по типу поля - он берет следующее за последним существующим, когда доходит до конца - пойдет перебор с значения 0 в поисках дыр и будет подставлять пропущенные (удаленные) значения. Ну а потом уже будет ошибка базы.
Я сам тупанул, в бекапе менял).
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Вывод материалов в архиве или вывод категории

Автор -GREY-

Ответов: 0
Просмотров: 1496
Последний ответ 27.10.2014, 01:17:16
от -GREY-
Добавление материалов пользователями

Автор Afterlife

Ответов: 11
Просмотров: 2533
Последний ответ 15.07.2013, 10:35:03
от Afterlife
Редактирование материалов автором статьи

Автор hgd

Ответов: 3
Просмотров: 2666
Последний ответ 19.01.2012, 08:35:29
от peterk
Обновил до 1.5.23 - исчезли кнопки в менеджере материалов

Автор NitroProton

Ответов: 2
Просмотров: 2021
Последний ответ 01.08.2011, 21:53:27
от NitroProton
отображение материалов в виде блога

Автор monstrello72

Ответов: 1
Просмотров: 1905
Последний ответ 16.05.2011, 14:42:10
от Gruz