Новости Joomla

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

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

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

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

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

🏆 Открыто голосование за 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 Ответов
  • 1164 Просмотров
*

kosmon

  • Осваиваюсь на форуме
  • 27
  • 0 / 0
Вопрос первый.
Кто знает как сделать, чтобы при игнорировании поля ymap при заполнении объявления, в базу не вносились изначальные координаты балуна-метки, и соответственно сама метка не появлялась на карте. Как не показывать карту, если не менялись координаты изначальной я разобрался. А вот с этим встрял.)))
Вопрос второй.
При редактировании и последующем сохранении объявления выставляется новый балун-метка (пустой, без названия) поверх установленного первоначального и так далее, при следующем редактировании, то есть функция удаления начальных меток не работает.
 вот функция, что не то. Подскажите пожалуйста кто может.

function onFormSave($contentid,$field,$update)
   {   
      $database = JFactory::getDBO();
      $contentid = $contentid->id;
      $fieldid = $field->fieldid;
      
      $lat = JRequest::getVar("ymap_lat$fieldid",0,'post');
      $lng = JRequest::getVar("ymap_lng$fieldid",0,'post');

      if ($update == 1)
      {
         $query = DELETE FROM #__adsmanager_fieldymap WHERE fieldid = $fieldid AND contentid = $contentid";
         $database->setQuery($query);
         $database->query();
         $query = "INSERT INTO #__adsmanager_fieldymap (`fieldid`,`contentid`,`lat`,`lng`) VALUES ".
             "($fieldid,$contentid,'$lat','$lng')";
         $database->setQuery($query);
         $database->query();
      }
      else
      {   
         $database->setQuery("SELECT MAX(`id`)+1 FROM #__adsmanager_ads");
         $contentid = $database->loadResult();
         if (($contentid == '')or($contentid == null)){
            $contentid = 1;
         }
         $query = "INSERT INTO #__adsmanager_fieldymap (`fieldid`,`contentid`,`lat`,`lng`) VALUES ".
                 "($fieldid,$contentid,'$lat','$lng')";
         $database->setQuery($query);
         $database->query();
         
      }
      
   }
   
   
   
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

[Решено]Дублирования ссылки "объвления" в breadcrumb, в компоненте AdsManager

Автор nicklas

Ответов: 4
Просмотров: 6178
Последний ответ 25.04.2024, 23:13:18
от Rinat abzyi
AdsManager вывод нужных полей по отдельности

Автор klekovkinandrey

Ответов: 2
Просмотров: 16838
Последний ответ 06.04.2024, 09:54:15
от Rinat abzyi
AdsManager загрузка файлов

Автор FlexNL

Ответов: 1
Просмотров: 5382
Последний ответ 21.10.2021, 17:20:09
от khan-alex
AdsManager 2.9.13 Есть ли возможность добавить функцию снять с публикации по мимо редактировать и уд

Автор murovoz

Ответов: 11
Просмотров: 15821
Последний ответ 27.03.2020, 22:39:23
от Pavel
Два компонента AdsManager в одном движке

Автор kaman62

Ответов: 12
Просмотров: 30700
Последний ответ 27.03.2020, 22:32:04
от Pavel