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

Vasilij30

  • Захожу иногда
  • 143
  • 1 / 6
в  AdsManager есть модуль mod_adsmanager_table который выводит в позицию последние объявления. Если его вставить в колонку справа или слева на сайте он раздвигает её независимо от настроек самой колонки (стоит пиксельное ограничение ширины колонок), получается он выезжает за пределы всего сайта. Пример ниже  что делать?



И второй вопрос. Как именно только в модуле (но чтоб эти поля остались в списке объявлений) убрать поля?? Ведь модуль связан со списком выводимых объявлений - вот эти, всю колонку и полное описание объявления



Вроде как надо наверное какой то код в каком то файле просто удалить но вот какой и где ...... Помогите пожалуйста кто в этом разбирается


« Последнее редактирование: 04.10.2014, 22:43:09 от Vasilij30 »
*

zvi

  • Захожу иногда
  • 392
  • 4 / 0
сделай как у меня резиновый на сайте ромны тандем  Услуги в Ромнах http://romnytandem.esy.es/
код дать?
*

zvi

  • Захожу иногда
  • 392
  • 4 / 0
кстати этот модуль можно крутить как хочеш путь сайт /modules/mod_adsmanager_table/tmpl/table.php
« Последнее редактирование: 04.10.2014, 22:54:22 от zvi »
*

Vasilij30

  • Захожу иногда
  • 143
  • 1 / 6
Буду рад если все получится, конечно давайте, мне важно  именно в боковые колонки его вставить и ширина всего 240 пикселов, шире нехочу делать ....
*

zvi

  • Захожу иногда
  • 392
  • 4 / 0
Буду рад если все получится, конечно давайте, мне важно  именно в боковые колонки его вставить и ширина всего 240 пикселов, шире нехочу делать ....

Спойлер
[свернуть]
может кому пригодится :-)
*

Vasilij30

  • Захожу иногда
  • 143
  • 1 / 6
нетакой уж он громоздкий, но незнаю что тут за что отвечает?

Цитировать
?>
<table class="adsmanager_table">
   <tr>
      <th><?php echo JText::_('ADSMANAGER_CONTENT'); ?></th>
      <?php
      foreach($columns as $col)
      {
         echo "<th>".JText::_($col->name)."</th>";
      }
      ?>
      <th><?php echo JText::_('ADSMANAGER_DATE'); ?></th>
   </tr>
<?php
   foreach($contents as $content)
   {
      $linkTarget = TRoute::_( "index.php?option=com_adsmanager&view=details&id=".$content->id."&catid=".$content->catid);
      if (function_exists('getContentClass'))
         $classcontent = getContentClass($content,"list");
         else
         $classcontent = "adsmanager_table_description";
      ?>  
   <tr class="<?php echo $classcontent;?>">
      <td class="column_desc">
         <?php
         if (isset($content->images[0])) {
            echo "<a href='".$linkTarget."'><img class='adimage' name='adimage".$content->id."' src='".JURI::base()."images/com_adsmanager/ads/".$content->images[0]->thumbnail."' alt='".htmlspecialchars($content->ad_headline)."' /></a>";
         } else {
            echo "<a href='".$linkTarget."'><img class='adimage' src='".ADSMANAGER_NOPIC_IMG."' alt='nopic' /></a>";
         }
         ?>
         <div>
         <h2>
            <?php echo '<a href="'.$linkTarget.'">'.$content->ad_headline.'</a>'; ?>
            <span class="adsmanager_cat"><?php echo "(".$content->parent." / ".$content->cat.")"; ?></span>
         </h2>
         <?php
            $content->ad_text = str_replace ('<br />'," ",$content->ad_text);
            $af_text = JString::substr($content->ad_text, 0, 100)."...";
            echo $af_text;
         ?>
         </div>
         
         <?php
         if (($userid == $content->userid)&&($content->userid != 0))   {
         ?>
         <div>
         <?php
            $target = TRoute::_("index.php?option=com_adsmanager&task=write&catid=".$content->catid."&id=$content->id");
            echo "<a href='".$target."'>".JText::_('ADSMANAGER_CONTENT_EDIT')."</a>";
            echo "&nbsp;";
            $target = TRoute::_("index.php?option=com_adsmanager&task=delete&catid=".$content->catid."&id=$content->id");
            echo "<a href='".$target."'>".JText::_('ADSMANAGER_CONTENT_DELETE')."</a>";
         ?>
         </div>
         <?php
         }
         ?>         
      </td>
      <?php
         foreach($columns as $col) {
            echo '<td class="tdcenter column_'.$col->id.'">';
            if (isset($fColumns[$col->id]))
               foreach($fColumns[$col->id] as $f)
               {
                  $c = $field->showFieldValue($content,$f);
                  if ($c != "") {
                     $title = $field->showFieldTitle(@$content->catid,$f);
                     if ($title != "")
                        echo htmlspecialchars($title).": ";
                     echo "$c<br/>";
                  }
               }
            echo "</td>";
         }
      ?>
      <td class="tdcenter column_date">
         <?php
         $iconflag = false;
         if (($conf->show_new == true)&&(isNewcontent($content->date_created,$conf->nbdays_new))) {
            echo "<div class='center'><img align='center' src='".$baseurl."/components/com_adsmanager/images/new.gif' /> ";
            $iconflag = true;
         }
         if (($conf->show_hot == true)&&($content->views >= $conf->nbhits)) {
            if ($iconflag == false)
               echo "<div class='center'>";
            echo "<img align='center' src='".$baseurl."/components/com_adsmanager/images/hot.gif' />";
            $iconflag = true;
         }
         if ($iconflag == true)
            echo "</div>";
         echo reorderDate($content->date_created);
         ?>
         <br />
         <?php
         if ($content->userid != 0)
         {
            echo JText::_('ADSMANAGER_FROM')." ";
            $target = TLink::getUserAdsLink($content->userid);
            echo "<a href='".$target."'>".$content->user."</a><br/>";
         }
         ?>
         <?php echo sprintf(JText::_('ADSMANAGER_VIEWS'),$content->views); ?>
      </td>
   </tr>
<?php   
}
?>
</table>
*

zvi

  • Захожу иногда
  • 392
  • 4 / 0
нетакой уж он громоздкий, но незнаю что тут за что отвечает?

у тебя Joomla 3 -2.5 просто поменяй свой файл по пути сайт /modules/mod_adsmanager_table/tmpl/table.php(свой сохрани желательно) стили у меня с сайта возьми или свои
*

Vasilij30

  • Захожу иногда
  • 143
  • 1 / 6
Заменил весь код, все равно лезет  вот  сайт  http://www.ramwed.ru/index.php/index/task-display.php

правая колонка..
*

Vasilij30

  • Захожу иногда
  • 143
  • 1 / 6
*

zvi

  • Захожу иногда
  • 392
  • 4 / 0

наверное не поменял нет читать полностью </div>
      <?php
         foreach($columns as $col) {
            echo '<div class="tdcenter column_'.$col->id.'">';
            if (isset($fColumns[$col->id]))
               foreach($fColumns[$col->id] as $f)
               {
                  $c = $field->showFieldValue($content,$f);
                  if ($c != "") {
                     $title = $field->showFieldTitle(@$content->catid,$f);
                     if ($title != "")
                        echo htmlspecialchars($title).": ";
                     echo "$c<br/>";
                  }
               }
            echo "</div>";
         }
      ?>
      
         <?php
         
         echo reorderDate($content->date_created);
         ?>
         
          <div class="btn-successst">
               <?php echo "<a href='".$linkTarget."'>читать полностью</a>";?>
          </div>      
      </div>

*

Vasilij30

  • Захожу иногда
  • 143
  • 1 / 6
выложи весь код от и до, так как ошибка там какая то....прямо все что в скрипте
*

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
1 - одна тема == один вопрос
2 - нужен пример кода, пока непонятно
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

zvi

  • Захожу иногда
  • 392
  • 4 / 0
наверное не поменял нет читать полностью </div>
      <?php
         foreach($columns as $col) {
            echo '<div class="tdcenter column_'.$col->id.'">';
            if (isset($fColumns[$col->id]))
               foreach($fColumns[$col->id] as $f)
               {
                  $c = $field->showFieldValue($content,$f);
                  if ($c != "") {
                     $title = $field->showFieldTitle(@$content->catid,$f);
                     if ($title != "")
                        echo htmlspecialchars($title).": ";
                     echo "$c<br/>";
                  }
               }
            echo "</div>";
         }
      ?>
      
         <?php
         
         echo reorderDate($content->date_created);
         ?>
         
          <div class="btn-successst">
               <?php echo "<a href='".$linkTarget."'>читать полностью</a>";?>
          </div>      
      </div>


или свой переделай на div и убири в настройках дату или выреж в коде
*

Vasilij30

  • Захожу иногда
  • 143
  • 1 / 6
я выложил одной код скрипта table.php   если поскажете что убрать в нём чтоб убралось то что на картинке будет может проще, мне в колонке полное описание не нужно
*

Vasilij30

  • Захожу иногда
  • 143
  • 1 / 6
да я полностью заменил то что выкладывал выше, но вылезла ошибка какая то.. наверное что недоразместил, мне все что в скрипте прям от и до
*

Vasilij30

  • Захожу иногда
  • 143
  • 1 / 6
я в php ноль полный, просто могу только что то куда то вставить или заменить.или кусок вырезать.. сильно не бейте уж.. просто подскажите
*

zvi

  • Захожу иногда
  • 392
  • 4 / 0
1 - одна тема == один вопрос
2 - нужен пример кода, пока непонятно
просто код поменяй по пути
наверное не поменял нет читать полностью </div>
      <?php
         foreach($columns as $col) {
            echo '<div class="tdcenter column_'.$col->id.'">';
            if (isset($fColumns[$col->id]))
               foreach($fColumns[$col->id] as $f)
               {
                  $c = $field->showFieldValue($content,$f);
                  if ($c != "") {
                     $title = $field->showFieldTitle(@$content->catid,$f);
                     if ($title != "")
                        echo htmlspecialchars($title).": ";
                     echo "$c<br/>";
                  }
               }
            echo "</div>";
         }
      ?>
      
         <?php
         
         echo reorderDate($content->date_created);
         ?>
         
          <div class="btn-successst">
               <?php echo "<a href='".$linkTarget."'>читать полностью</a>";?>
          </div>      
      </div>


ты наверное не поменял видиш у меня все в div а у тебя таблици
*

Vasilij30

  • Захожу иногда
  • 143
  • 1 / 6
да блин чтож такое то, выложи весь код этого скрипта, от и до...это то что выше только же его часть
*

zvi

  • Захожу иногда
  • 392
  • 4 / 0
у тебя нужно переделать с табличной верстки в div как минимум или вкинь мой готовый что проще он или будет работать или нет 2.5 стили мои или свои будет работать на ура, ни кто за тебя не будет работать
*

Vasilij30

  • Захожу иногда
  • 143
  • 1 / 6
у тебя нужно переделать с табличной верстки в div как минимум или вкинь мой готовый что проще он или будет работать или нет 2.5 стили мои или свои будет работать на ура, ни кто за тебя не будет работать

туплю  чото, все заменил посмотри, выложи стили свои для него а я подправлю под сайт
« Последнее редактирование: 04.10.2014, 23:43:28 от Vasilij30 »
*

Vasilij30

  • Захожу иногда
  • 143
  • 1 / 6
кстати вот, неподцепляет твой скрип пустую фотку, если в объяве её нету
*

zvi

  • Захожу иногда
  • 392
  • 4 / 0
убири верхнюю колонку
Спойлер
[свернуть]

Спойлер
[свернуть]

и тд методом тыка если не понимаеш убирай что нужно тебе
« Последнее редактирование: 05.10.2014, 11:11:43 от zvi »
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

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

Автор klekovkinandrey

Ответов: 2
Просмотров: 16767
Последний ответ 06.04.2024, 09:54:15
от Rinat abzyi
Вывод данных

Автор FlexNL

Ответов: 0
Просмотров: 3763
Последний ответ 06.11.2021, 12:37:54
от FlexNL
Заглушки с http://placehold.it вместо картинок в списке объявлений

Автор efimov777

Ответов: 6
Просмотров: 6254
Последний ответ 12.04.2020, 07:25:59
от Pavel
Хочу уточнить, есть в AdsManager возможность загрузки объявлений с парсера?

Автор DomBeri

Ответов: 3
Просмотров: 10089
Последний ответ 28.03.2019, 17:20:10
от DomBeri
Удалить карту объявлений Google

Автор trel

Ответов: 7
Просмотров: 4421
Последний ответ 25.03.2019, 09:02:25
от Technic