Новости Joomla

👩‍💻 События плагинов и порядок их срабатывания при работе с пользовательскими полями Joomla и использовании FieldsHelper.

👩‍💻 События плагинов и порядок их срабатывания при работе с пользовательскими полями Joomla и использовании FieldsHelper.

В процессе работы с Joomla бывает необходимо работать с пользовательским интерфейсом более тонко, чем обычно. Все формы Joomla состоят из стандартных полей, содержанием, стилем отображения, состоянием (включено/выключено, доступно для редактирования или нет и т.д.) можно управлять с помощью плагинов. Да и для нестандартных проектов хорошей практикой является создание одного системного или нескольких плагинов групп "под проект", в которых храниться весь "нестандарт".

В этой статье описаны все триггеры, которые вызываются через Event Dispatcher из administrator/components/com_fields/src/Helper/FieldsHelper.php, с привязкой к жизненному циклу (порядку этапов работы запроса), аргументам, изменяемым данным и дальнейшему распространению по Joomla. Это поможет вам работать с Joomla свободнее и не опасаясь при этом потерять изменения при очередном обновлении движка.

Подходы, описанные в статье, полезны в тех случаях, когда вы работаете с данными в com_fields - механизме создания и редактирования пользовательских полей ядра Joomla и при использовании FieldsHelper. Многие сторонние компоненты не используют эту возможность, поэтому данная статья будет полезна лишь частично.

Читать статью на Хабре.

@joomlafeed

🏆 Открыто голосование за Joomla в премии CMS Critic People’s Choice Awards 2025

🏆 Открыто голосование за Joomla в  премии CMS Critic People’s Choice Awards 2025

🗓 Голосование продлится до 27 февраля 2026 года.

👩‍💻 Проголосовать! 👩‍💻

Номинации, в которых можно проголосовать за Joomla:
⭐️ Best Free CMS
⭐️ Best Open Source CMS
⭐️ Best Enterprise CMS

Также в номинации Best e-Commerce Solution участвуют компоненты интернет-магазинов для Joomla:
⭐️ HikaShop
⭐️ Virtuemart

В номинации Best Website Builder оказались:
⭐️ YooTheme
⭐️ SP Page Builder

Что такое CMS Critic Awards?
С 2012 года премия CMS Critic Awards занимает особое место в сообществе систем управления контентом (CMS). Это единственный в своем роде сайт, который составляет рейтинг системы управления контентом и связанных с ними решений на рынке — от малого до крупного и подчеркивает их инновации и услуги.

Каждый год награда CMS Critic Awards присуждается одному победителю в различных отраслевых категориях, таких как: «Лучшая облачная CMS», «Лучший DXP», «Лучшая Headless CMS и других. Затем результаты оглашаются через СМИ вместе с выбором редакции CMS Critic.
В этом году премия вернулась к своим традициям и только TOP-5 движков по количеству номинаций попали в 2-й этап - голосование.

@joomlafeed

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

Nabla

  • Осваиваюсь на форуме
  • 29
  • 3 / 0
Всем Доброго Дня.

Хотелось бы добавить к компоненту JComments возможность прикрепления файла (изображения).

Может быть кто-то уже занимался этим и имеет представление что и где копать?

Ниже показан пример, как добавить дополнительное поле для формы JComments:

Код
Добавляем новые поля в таблицу jos_jcomments следующими SQL-запросами:

ALTER TABLE jos_jcomments ADD COLUMN `town` varchar(255);
и
ALTER TABLE jos_jcomments ADD COLUMN `acceptterms` tinyint(1) DEFAULT 0;

Открываем файл jcomments.class.php и добавляем данные поля в класс JCommentsDB, например после строчки:
  var $editor = '';
т.е. у нас получится вот так:
  var $editor = '';
  var $town = '';
  var $acceptterms = '';

Открываем файл jcomments.ajax.php и после строчки:
$comment->userid = $my->id ? $my->id : 0;
добавляем еще 2:
$comment->town = isset($values['town'])? $values['town'] : '';
$comment->acceptterms = isset($values['acceptterms'])? $values['acceptterms'] : 0;

Открываем файл /tpl/default/tpl_form.php и перед строчками:
<p>
  <textarea id="comments-form-comment" name="comment" cols="65" rows="8" tabindex="5"></textarea>
</p>

Добавляем наши новые поля:
 <p>
  <input type="text" name="town" value="" id="comments-form-town" />
  <label for="comments-form-town">Town</label>
</p>
<p>
  <input type="checkbox" name="acceptterms" value="1" id="comments-form-acceptterms" />
  <label for="comments-form-acceptterms">Accept Terms of Use</label>
</p>

Все, на этом первая (и основная) часть процесса добавления двух дополнительных полей решена. В результате проделанной модификации в форме добавления комментариев появятся 2 новых поля, которые после отправки комментария будут сохраняться в БД.

В принципе на этом этапе можно было бы и остановиться. Но ведь сразу же возникнет вопрос - поля-то мы добавили, в базу они сохраняются, но как их увидеть в списке комментариев? Поэтому переходим ко второй части...

Открываем файл jcomments.php, находим в нем строчку:
$query = "SELECT c.id, c.object_id, c.object_group, c.userid, c.name, c.username, c.title, c.comment"
и заменяем ее на:
$query = "SELECT c.id, c.object_id, c.object_group, c.userid, c.name, c.username, c.title, c.comment, c.town, c.acceptterms"
Этим самым мы добавляем выборку информации по данным полям из БД.

Теперь открываем файл шаблона: /tpl/default/tpl_comment.php и допустим после строчки:
<span class="comment-date"><?php echo date( 'Y-m-d H:i', $comment->datetime); ?></span>
добавляем вывод нашей информации:
 
<span class="comment-town"><?php echo $comment->town; ?></span>
<span class="comment-accept"><?php echo $comment->acceptterms ? 'Accepted' : 'Not accepted'; ?></span>

Может быть кто-то подскажет, как нужно изменить этот код, чтобы вместо дополнительного поля можно было прикрепить файл?
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Не отправляются комментарии из JComments 3.0.7.9

Автор akteon25

Ответов: 1
Просмотров: 1736
Последний ответ 21.02.2025, 12:41:06
от NewUsers
152-ФЗ jcomments электронная почта комментатора

Автор basn

Ответов: 1
Просмотров: 1734
Последний ответ 12.02.2025, 12:01:20
от basn
Как отключить капчу в jcomments 4?

Автор Алено4ка

Ответов: 1
Просмотров: 2752
Последний ответ 02.08.2024, 20:53:02
от ProtectYourSite
Вышла новая версия JComments Fork 4.0.16

Автор ProtectYourSite

Ответов: 79
Просмотров: 30450
Последний ответ 05.02.2024, 23:50:16
от ProtectYourSite
У Jcomments есть аналоги?

Автор ruslan13

Ответов: 10
Просмотров: 4963
Последний ответ 07.12.2023, 20:08:31
от Missile