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

GRIG

  • Осваиваюсь на форуме
  • 38
  • 2 / 0
Привет всем! Помогите кто чем может - у меня уже мозги кипят.
На компе установлен следующий набор софта: Windows7 Home Edition, Apache 2.2.17, PHP 5.3.5, MySQL 5.5.10, Joomla 1.5.15rus, Mozilla Firefox 3.6.14
Связка "винды + апач + PHP + мозилла" работает нормально. Это проверено тем, что я на этой связке простой сайт склепал - и он работает даже после переноса на внешний хостинг.
Решил поэкспериментировать с Joomla и поставил мускул, а потом ее. Все встало нормально. Демо-данные сайта показываются.
Захотел поэкспериментировать с администрированием - и обломался. После ввода логина "admin" и правильного пароля снова выдается запрос логина и пароля. Если ввести логин admin и неправильный пароль - то система сообщает, что логин и пароль не соответствуют друг другу.
Порыскал по сети в поисках ответов - толку мало.
Во-первых, встретил рекомендацию поискать в файле php.ini настройку session.save_path и правильно ее установить. Сделал - не помогло.
Во-вторых, встретил рекомендацию через mysql прописать в таблице jos_users в поле password результат md5() от другого пароля. Сильно сомневаюсь, что это поможет, ибо соответствующее поле в записи не выглядит как результат применения md5() к чему-либо. И точно так же он не выглядит как результат применения sha1() или sha2().
Были еще слова "куки включить" - так в мозилле без них вообще невозможно. Они всегда включены.
Чего еще можно сделать?
*

Mihanja80

  • Завсегдатай
  • 1918
  • 168 / 4
  • Всю жизнь учусь...
Joomla 1.5.15rus
А почему не последняя версия?
Я с таким не сталкивался ни на локальном сервере ни на хостингах... Тем более если установка прошла нормально, что говорит о корректной работе сервера. Пробуйте последнюю версию Joomla 1.5
Я с мобильного, в основном...
*

GRIG

  • Осваиваюсь на форуме
  • 38
  • 2 / 0
Joomla 1.5.15rus
А почему не последняя версия?
Потому что такая была на диске, приложенном к книжке.
Цитировать
Я с таким не сталкивался ни на локальном сервере ни на хостингах... Тем более если установка прошла нормально, что говорит о корректной работе сервера. Пробуйте последнюю версию Joomla 1.5
Сейчас попробую что скажет 1.5.22rus
*

GRIG

  • Осваиваюсь на форуме
  • 38
  • 2 / 0
Попробовал. 1.5.22 в этом смысле оказалась еще хуже - выдала ошибку Table 'joomla.jos_content' doesn't exist SQL=INSERT INTO `jos_content` (`id` ....
*

palexa

  • Завсегдатай
  • 1108
  • 88 / 0
поставьте денвер и не парьтесь со своими настройками php и mysql
*

GRIG

  • Осваиваюсь на форуме
  • 38
  • 2 / 0
поставьте денвер и не парьтесь со своими настройками php и mysql
Спасибо за совет. Но я им воспользоваться не могу. (Почему - обсуждать не буду)
*

GRIG

  • Осваиваюсь на форуме
  • 38
  • 2 / 0
Попробовал. 1.5.22 в этом смысле оказалась еще хуже - выдала ошибку Table 'joomla.jos_content' doesn't exist SQL=INSERT INTO `jos_content` (`id` ....
С этим оказалось все довольно просто - надо было в файле installation/sql/mysql/joomla.sql в двух местах заменить сочетание букв "jos" на "#_". После этого установка прошла до конца.
Но ситуация с непусканием повторилась :-(
*

Mihanja80

  • Завсегдатай
  • 1918
  • 168 / 4
  • Всю жизнь учусь...
joomlaforum.ru/index.php/topic,49815.0.html
У меня на 64бит, все по статье, все работает.

Вам не движок ковырять нужно а настройки сервера!
« Последнее редактирование: 02.04.2011, 19:19:21 от Mihanja80 »
Я с мобильного, в основном...
*

palexa

  • Завсегдатай
  • 1108
  • 88 / 0
Во-вторых, встретил рекомендацию через mysql прописать в таблице jos_users в поле password результат md5() от другого пароля. Сильно сомневаюсь, что это поможет

Почему сомневаетесь ? в поле password выбираете в функция MD5 и в Значение пишете любимый пароль. Сохраняете

Но думаю Вам действительно надо ковырять сборку сервера. Это легко можно проверить. Забекапить базу, файлы, развернуть на любом хостинге (можно взять тестовый период) отредактировать конфиг, если всё работает ? значит точно сборку сервера надо править
*

Mihanja80

  • Завсегдатай
  • 1918
  • 168 / 4
  • Всю жизнь учусь...
я думаю 1.5.22 проверять не стОит! Она просто работает у всех...
Я с мобильного, в основном...
*

GRIG

  • Осваиваюсь на форуме
  • 38
  • 2 / 0
joomlaforum.ru/index.php/topic,49815.0.html
У меня на 64бит, все по статье, все работает.

Вам не движок ковырять нужно а настройки сервера!
Сделал все как написано (хотя у меня все 32-битное стоит) Не помогло
*

GRIG

  • Осваиваюсь на форуме
  • 38
  • 2 / 0
Почему сомневаетесь ? в поле password выбираете в функция MD5 и в Значение пишете любимый пароль. Сохраняете
Потому что результат функции md5() - строка из 16-ричных цифр (и только из них!). А вот это:
1b5b6a9996126f85c47615aebc7f2a19:ZCmRPeBaNrm3aXcbuuBMDUhIzcr0P4Ph
на 16-ричные цифры как-то слабо похоже. Ну разве только то, что стоит до двоеточия.
И кроме того, результат md5() от того пароля, который я ввел, начинается на 4b5e. Что тоже не добавляет уверенности в правильности методики.
*

GRIG

  • Осваиваюсь на форуме
  • 38
  • 2 / 0
Почему сомневаетесь ? в поле password выбираете в функция MD5 и в Значение пишете любимый пароль. Сохраняете

Но думаю Вам действительно надо ковырять сборку сервера. Это легко можно проверить. Забекапить базу, файлы, развернуть на любом хостинге (можно взять тестовый период) отредактировать конфиг, если всё работает ? значит точно сборку сервера надо править
Да вот как раз хотелось все локально проверить прежде чем по-серьезному в это дело ввязываться. А оно не сложилось.
*

Mihanja80

  • Завсегдатай
  • 1918
  • 168 / 4
  • Всю жизнь учусь...
отключите UAC. Кто не знает, отключаем UAC так: Откройте панель управления, выберите Учетные записи
пользователей и нажмите ссылку - Включение и отключение контроля
учетных записей- В открывшемся окне снимите птичку с параметра - Используйте контроль учетных
записей для защиты компьютера.
Где-то так, если ещё не отключили...
Я с мобильного, в основном...
*

GRIG

  • Осваиваюсь на форуме
  • 38
  • 2 / 0
отключите UAC. Кто не знает, отключаем UAC так: Откройте панель управления, выберите Учетные записи
пользователей и нажмите ссылку - Включение и отключение контроля
учетных записей- В открывшемся окне снимите птичку с параметра - Используйте контроль учетных
записей для защиты компьютера.
Где-то так, если ещё не отключили...
Во-первых, в Вин7 это делается слегка по-другому. Во-вторых, не помогло :-(
*

palexa

  • Завсегдатай
  • 1108
  • 88 / 0
Потому что результат функции md5() - строка из 16-ричных цифр (и только из них!).
Можете верить, а можете нет, я сейчас так сделал и пароль поменялся
*

GRIG

  • Осваиваюсь на форуме
  • 38
  • 2 / 0
Можете верить, а можете нет, я сейчас так сделал и пароль поменялся
С этим моментом я более-менее разобрался. Правда, для этого пришлось в код лазить. А дело там такое: в процессе инсталляции при создании пользователя-админа к введенному паролю прицепляется еще последовательность из 32 случайных знаков (букв и цифр), и уже на то, что получилось, напускается md5(). А в базу пишется результат md5(), двоеточие и та случайная последовательность. При логине опознание пароля идет аналогично.
Да дело, похоже, не в пароле. Когда я ввожу правильный логин и неправильный пароль - система ругается, что они друг другу не соответствуют. А когда правильный логин и правильный пароль - заново выходит на запрос пароля без ругани.
*

Mihanja80

  • Завсегдатай
  • 1918
  • 168 / 4
  • Всю жизнь учусь...
MySQL 5.5.10
Попробуйте сменить на более старую, MySQL 5.0.90 например.
Я с мобильного, в основном...
*

GRIG

  • Осваиваюсь на форуме
  • 38
  • 2 / 0
Все, о чем я писал выше, я делал из дома. А сегодня попробовал сделать аналогичное дело на работе. Правда, там у меня конфигурация другая:
Linux + Apache 2.2.3 + Php 5.3.3 + MySQL 5.0.77 + Mozilla Firefox 3.6.15 + Joomla 1.5.22rus
За исключением уже отмеченного выше глюка с именованием таблиц при инсталляции, все прошло великолепно.
ВОПРОС: можно ли глядя на эту работающую связку понять почему не заработала связка на домашнем компе? Если да - то куда смотреть и что сравнивать?
*

GRIG

  • Осваиваюсь на форуме
  • 38
  • 2 / 0
Все, я нашел причину проблемы.
Оказалось, что Joomla очень не любит имена файлов и пути, в которых наличествует что-то помимо латинских букв, цифр и некоторых других стандартных знаков. А у меня винда русифицированная, и сайт я хотел разместить под своим виндовым пользователем. Т.е. полный путь к установке Joomla получался что-то вроде C:\Users\Мое имя по русски\Documents\Site\Joomla. Что именно происходит внутри системы - я разбираться не стал. Но когда я избавился от русских букв в полном пути установки - все заработало.
Интересно, в 1.6 эта проблема решена?
*

Mihanja80

  • Завсегдатай
  • 1918
  • 168 / 4
  • Всю жизнь учусь...
я думаю что не решена, так как любой сервер не любит кириллицу :) и некоторые программы тоже.
Именно поэтому я, при установке винды задаю имя на английском...
Я с мобильного, в основном...
*

GRIG

  • Осваиваюсь на форуме
  • 38
  • 2 / 0
я думаю что не решена, так как любой сервер не любит кириллицу :) и некоторые программы тоже.
Апача я смог обмануть - сделал симлинк в обход русскоязычной части имени. А вот с Joomla этот финт не прокатил.
Цитировать
Именно поэтому я, при установке винды задаю имя на английском...
В моем случае это невозможно - домашний комп, к которому имеет доступ вся семья.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Как заставить Joomla 1.5 работать на сервере с MySQL версии 5.7 и выше?

Автор Palomnik

Ответов: 14
Просмотров: 8298
Последний ответ 01.10.2024, 00:22:40
от jesus
Как установить Joomla 1.5 на php 7?

Автор Marius

Ответов: 8
Просмотров: 3945
Последний ответ 30.05.2021, 21:11:21
от Marius
При попытке войти в админку 404 ошибка компонента - Joomla 1.5: Общие вопросы

Автор omezik

Ответов: 1
Просмотров: 3556
Последний ответ 30.08.2019, 16:10:56
от voland
Нужно починить модуль импорта на сайте Joomla

Автор matus-8

Ответов: 0
Просмотров: 3347
Последний ответ 22.08.2019, 15:09:17
от matus-8
Восстановление Joomla на локальном компьютере из резерной копии

Автор raf88

Ответов: 6
Просмотров: 8352
Последний ответ 28.12.2018, 01:48:46
от natalileto