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

AlexSims

  • Захожу иногда
  • 314
  • 38 / 0
  • кручу верчу
Для вывода в модуле последние объявления в несколько строк

1- правим фаил adsmanager.html.php   добавляем условие перехода на новую строку и счетчик в цикл
 код правим в function lastAds  (добавляем переменнуб $k = 0 , условие перехода    if ($k == 4) {
                                   echo "<TR>";}    и счетчик  $k++;  )

Код
<?php $k = 0;
foreach($ads as $row) {
                                                        
      if ($k == 4) {
                                   echo "<TR>";}
                                    ?>
                                 <td>
                                                            
<?php
                                $k++;
$linkTarget = sefRelToAbs("index.php?option=com_adsmanager&amp;page=show_ad&amp;adid=".$row->id."&amp;catid=".$row->category."&amp;Itemid=".$itemid);
$ok = 0;$i=1;
  в данном случае после 4 объявления переход на новую строку.

2-добавляем количество ( в нашем случае 8   ) объявлений . правим adsmanager.php   function front  
Код
$database->setQuery("SELECT a.id,  a.ad_headline, a.category, a.date_created,p.id as parentid,p.name as parent,c.id as catid, c.name as cat ".

"FROM #__adsmanager_ads as a ".

"LEFT JOIN #__adsmanager_categories as c ON a.category = c.id ".

"LEFT JOIN #__adsmanager_categories as p ON c.parent = p.id ".

"WHERE c.published = 1 and a.published = 1 ORDER BY  a.date_created DESC ,a.id DESC LIMIT 0, 8");
   где 8  количество запросов - объявлений


будет вывод ( кроме других полей ) как на фото.
Все
« Последнее редактирование: 14.06.2010, 20:29:30 от AlexSims »
С фантазией плохо.
*

AlexSims

  • Захожу иногда
  • 314
  • 38 / 0
  • кручу верчу
Для вывода в теле объявления текста , цены и т д. Сделайте соответствующий запрос к базе ( добавьте нужные вам переменные) и добавьте в код вывод этих переменных.
С фантазией плохо.
*

Dimm555

  • Захожу иногда
  • 103
  • 6 / 0
Очень полезная вещь, спасибо, AlexSims.
*

AlexSims

  • Захожу иногда
  • 314
  • 38 / 0
  • кручу верчу
С фантазией плохо.
*

flier

  • Захожу иногда
  • 107
  • 2 / 2
это для какой версии? в 2.5 код такой:

   $query = "SELECT a.id, a.ad_headline, adcat.catid, a.date_created,p.id as parentid,p.name as parent,c.id as catid, c.name as cat ".
         "FROM #__adsmanager_ads as a ".
         "LEFT JOIN #__adsmanager_adcat as adcat ON a.id = adcat.adid ".
         "LEFT JOIN #__adsmanager_categories as c ON adcat.catid = c.id ".
         "LEFT JOIN #__adsmanager_categories as p ON c.parent = p.id ".
         "WHERE c.published = 1 and a.published = 1 GROUP BY a.id ORDER BY a.date_created DESC ,a.id DESC LIMIT 0, 8";

и тут меняю так:
         <?php $k = 0;
         foreach($ads as $row) {
            if ($k == 4) {
                    echo "<tr>";}
         ?>
            <td>
            <?php
            $k++;
            $linkTarget = sefRelToAbs("index.php?option=com_adsmanager&amp;page=show_ad&amp;adid=".$row->id."&amp;catid=".$row->catid."&amp;Itemid=".$itemid);         
            $ok = 0;$i=1;

но переноса на новую строку не происходит!
*

flier

  • Захожу иногда
  • 107
  • 2 / 2
исправил на
   if ($k == 4) {
                    echo "</td><tr>";}

теперь все работает!!
*

AlexSims

  • Захожу иногда
  • 314
  • 38 / 0
  • кручу верчу
исправил на
   if ($k == 4) {
                    echo "</td><tr>";}

теперь все работает!!
это теги HTML разметки . тут уж каждый под себя делает ( как там у него строится эта таблица)
С фантазией плохо.
*

kentoff

  • Осваиваюсь на форуме
  • 27
  • 1 / 0
Доброго Всем дня господа!
Нужна помощь, подскажите пожалста!

Установил модуль VIP - Объявлений
(взял здесь - http://joomlaforum.ru/index.php/topic,76918.0.html)

Работает модуль нормально. Можете глянуть тут - http://www.kopeika89.ru/

Но он выдает все ВИП объявления в одну строку ((((

Подскажите пжлста, где что подправить, чтобы в модуле так же было максимум 8 объявлений в две строки по 4 в каждой?
*

AlexSims

  • Захожу иногда
  • 314
  • 38 / 0
  • кручу верчу
Доброго Всем дня господа!
Нужна помощь, подскажите пожалста!

Установил модуль VIP - Объявлений
(взял здесь - http://joomlaforum.ru/index.php/topic,76918.0.html)

Работает модуль нормально. Можете глянуть тут - http://www.kopeika89.ru/

Но он выдает все ВИП объявления в одну строку ((((

Подскажите пжлста, где что подправить, чтобы в модуле так же было максимум 8 объявлений в две строки по 4 в каждой?


лезите в код файла модуля.

в запросах к базе делаете что то типо
Код
"WHERE c.published = 1 and a.published = 1 GROUP BY a.id ORDER BY a.date_created DESC ,a.id DESC LIMIT 0, 8"

а в формировании вывода

делаете счетчик ( скорее всего там в коде цикл, вставляете в этот цикл с счетчиком )  Короче по аналогии того что в теме написал , переделайте код модуля. 
С фантазией плохо.
*

kentoff

  • Осваиваюсь на форуме
  • 27
  • 1 / 0
Спасибо за совет! Попробую сделать  )))
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

AdsManager вывод нужных полей по отдельности

Автор klekovkinandrey

Ответов: 2
Просмотров: 16785
Последний ответ 06.04.2024, 09:54:15
от Rinat abzyi
Редактировать все объявления

Автор den_ko

Ответов: 32
Просмотров: 14213
Последний ответ 25.11.2021, 10:43:38
от FlexNL
Вывод данных

Автор FlexNL

Ответов: 0
Просмотров: 3768
Последний ответ 06.11.2021, 12:37:54
от FlexNL
Слетают категории объявления

Автор guardnext

Ответов: 1
Просмотров: 4437
Последний ответ 09.07.2019, 10:10:59
от guardnext
Вывод картинки поля "radioimage"

Автор Pavel

Ответов: 7
Просмотров: 4286
Последний ответ 12.03.2019, 16:23:10
от Pavel