Новости Joomla

Вышли релизы Joomla 6.0.3 и Joomla 5.4.3

Релиз Joomla 6.0.3 и Joomla 5.4.3

Проект Joomla рад сообщить о выпуске Joomla 6.0.3 и Joomla 5.4.3. Это релиз исправлений ошибок и улучшений для серии Joomla 6.0 и Joomla 5.4.

👩‍💻 События плагинов и порядок их срабатывания при работе с пользовательскими полями 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 Гость просматривают эту тему.
  • 13 Ответов
  • 7885 Просмотров
*

eamat

  • Осваиваюсь на форуме
  • 22
  • 1 / 0
Кнопка печати!!!
« : 07.08.2007, 09:30:28 »
 !!!???!!!Помогите,пожалуйста,кто знает как прилепить кнопку печати,очень надо. >:(
*

Timon_Crazy

  • Захожу иногда
  • 364
  • 31 / 4
  • Лицензнаци
Re: Кнопка печати!!!
« Ответ #1 : 07.08.2007, 10:00:06 »
т.е. вместо стандартной чтото другое?
ЧаВо - FAQ - Вопросы
--
Сщастливый безумец -- не говори спасибо: + поставь не ставь минус - поругай.
*

eamat

  • Осваиваюсь на форуме
  • 22
  • 1 / 0
Re: Кнопка печати!!!
« Ответ #2 : 07.08.2007, 12:53:21 »
но в AdsManager воабще нет возможности распечатывать таблицы с обьявлениями,покрайней мере я такого не нашел. >:(.Хотелось бы аналогично стандартной кнопки joomla для печати,чтоб иметь возможность распечатывать таблицу с обьявлениями из какой либо категории или все.
*

eamat

  • Осваиваюсь на форуме
  • 22
  • 1 / 0
Re: Кнопка печати!!!
« Ответ #3 : 08.08.2007, 19:20:07 »
Хэлп! Не могу разобраться. Помогите с печатью. Вознаграждение 10 wmz!
*

eamat

  • Осваиваюсь на форуме
  • 22
  • 1 / 0
Re: Кнопка печати!!!
« Ответ #4 : 09.08.2007, 11:52:43 »
УРААА!!! РАЗОБРАЛСЯ!!!!
Тема закрыта!!!
*

Timon_Crazy

  • Захожу иногда
  • 364
  • 31 / 4
  • Лицензнаци
Re: Кнопка печати!!!
« Ответ #5 : 16.08.2007, 15:22:26 »
и как разобрались? может скажите для будущих поколений
ЧаВо - FAQ - Вопросы
--
Сщастливый безумец -- не говори спасибо: + поставь не ставь минус - поругай.
*

Ruiner

  • Осваиваюсь на форуме
  • 11
  • 0 / 0
Re: Кнопка печати!!!
« Ответ #6 : 04.09.2007, 14:17:02 »
Поделитесь плиз
*

morph

  • Давно я тут
  • 924
  • 105 / 0
Re: Кнопка печати!!!
« Ответ #7 : 04.09.2007, 14:26:37 »
Сделал по тупому(или наоборот слишком умно... ^-^)
Создал шаблон(print),где удалил все ненужное,оставив в body тока
Цитировать
<body>
<div class="div_content" >
    <?php mosMainBody(); ?>
</div>
</body>
Зделал дубликат index.php(printindex.php),назначив там явно созданный шаблон
Цитировать
$cur_template = 'print';

в файле adsmanager.html.php после
Цитировать
<div class="adsmanager_inner_box">
         <?php echo '<div align="left">'.$pagenav->writePagesCounter().'</div>'; ?>
         <form action="index.php" method="get">
         <input type="hidden" name="option" value="<?php echo $option; ?>" />
         <input type="hidden" name="page" value="<?php echo $page;?>" />
         <?php

         switch($page)
         {
            case "show_user":
               echo '<input type="hidden" name="userid" value="'.$userid.'" />';
               break;
            case "show_category":
               echo '<input type="hidden" name="catid" value="'.$catid.'" />';
               break;
         }

         ?>
добавил ссылку на печать
Цитировать
<?php

$link2= $mosConfig_live_site."/".
"printindex.php?option=com_adsmanager&page=show_categoryP&catid={$catid}&text_search=&order=0&expand=0&Itemid={$Itemid}";
?>
<a

href="<?php echo $link2 ?>" target="_blank"

onclick="window.open('<?php echo $link2 ?>','win2','status=no,toolbar=no,scrollbars=no,titlebar=no,menubar=no,resizable=yes,width=920,height=400,directories=no,location=no'); return false;" title="Печать">Печать
<img src="http://www.lsestate.ru/images/M_images/printButton.png"  alt="Версия для печати" name="Версия для печати" align="middle" border="0" /></a>
затем продублировал везьде в файле adsmanager.php функцию show_category,заменив ее на show_categoryP
изменив ее так:
Цитировать
function show_categoryP($catid)
{
   global $database,$mosConfig_absolute_path,$mosConfig_live_site,$my,$mainframe;
   
   
   $database->setQuery( "SELECT c.id, c.name,c.parent ".
               " FROM #__adsmanager_categories as c ".
                   "WHERE c.published = 1 ORDER BY c.parent,c.ordering");
                  
   $listcats = $database->loadObjectList();
   
   
   $list[] = $catid;
   recurseSearch($listcats,$list,$catid);
   $listids = implode(',', $list);
   $database->setQuery("SELECT count(*) FROM #__adsmanager_ads WHERE category IN ($listids)");   
   $search = "category IN ($listids)";
   $url ="index.php?option=$option&amp;page=show_category&amp;catid=".$catid."&amp;text_search=".$text_search."&amp;order=".$order;
   adsListP($cat_name,$cat_description,$url,"show_category",$search,$text_search,$expand,$order,$catid,$option,$limitstart);
продублировал функцию adsList,назвав ее adsListP и заменив там
Цитировать
adsmanager_html::show_listP($catid,$description,$text,$url,$page,$ads,$pageNav,$nav_link,
                        $show_contact,$expand,$order,$text_search,
                        $itemid,$option,$my->id,$update_possible,
                        $searchs,
                        $columns,$fColumn,$positions,$fDisplay,$field_values,
                        $conf,
                        $fields_searchable);
и в файле adsmanager.html.php продублировал функцию show_list,изменив ее так:


Цитировать
function show_list1($catid,$cat_description,$name,$url,$page,$rows,$pagenav,$navlink,
                  $show_contact,$expand ,$order,$text_search,
                  $itemid,$option,$userid,$update_possible,
                  $searchs,
                  $columns,$fColumn,$positions,$fDisplay,$field_values,
                  $conf,
                  $fields_searchable)
   {
      global $mosConfig_live_site,$mosConfig_absolute_path,$mosConfig_live_site,$my;
      
      if ($text_search=="")
         $text_search= ADSMANAGER_SEARCH_TEXT;
         
      /* Display Title */
      ?>
      <br />
      <h1 class="contentheading">
      <?php
         if (($catid == 0)||(!file_exists($mosConfig_absolute_path.'/images/'.$option.'/categories/'.$catid.'cat_t.jpg')))
            echo '';
         else
            echo '<img  class="imgheading" src="'.$mosConfig_live_site.'/images/'.$option.'/categories/'.$catid.'cat_t.jpg" alt="'.$name.'" />';
         echo $name;
      ?>
      </h1>
      <div class="adsmanager_description">
      <?php echo $cat_description; ?>
      </div>
      <?php if ($conf->display_expand == 1) { ?>
      <div class="adsmanager_subtitle">
      <?php
      /* Display SubTitle */
         $target = sefRelToAbs($url."&amp;limit=".$pagenav->limit."&amp;limitstart=".$pagenav->limitstart."&amp;expand=0&amp;Itemid=".$itemid);
        //  echo '<a href="'. $target.'">'.ADSMANAGER_MODE_TEXT.ADSMANAGER_SHORT_TEXT.'</a>';
        //  echo " / ";
          $target = sefRelToAbs($url."&amp;limit=".$pagenav->limit."&amp;limitstart=".$pagenav->limitstart."&amp;expand=1&amp;Itemid=".$itemid);
         // echo '<a href="'.$target.'">'.ADSMANAGER_EXPAND_TEXT.'</a>';
      ?>
      </div>
      <?php }
      ?>
      <script language="JavaScript" type="text/JavaScript">
      <!--
      function jumpmenu(target,obj){
        eval(target+".location='"+obj.options[obj.selectedIndex].value+"'");   
        obj.options[obj.selectedIndex].innerHTML="<?php echo ADSMANAGER_WAIT;?>";         
      }      
      //-->
      </script>
      
      
      <?php adsmanager_html::showGeneralLink1($option,$itemid,$catid,$conf->comprofiler); ?>
      <br />
      <?php
      if ($pagenav->total != 0 )
      {
         if ($expand == 0)
         {
         ?>
            <table class="adsmanager_table">
            <tr>
              <th><?php echo ADSMANAGER_AD;?></th>
              <?php if (isset($columns)) {
              foreach($columns as $col)
              {
               echo "<th>".adsmanager_html::getLangDefinition($col->name)."</th>";
              }
              }
              ?>
              <th><?php echo ADSMANAGER_DATE;?></th>
            </tr>
         <?php
         }
         else
         {
            adsmanager_html::loadScriptImage($conf->image_display,$option);
         }
         
         if (isset($rows)) {
         foreach($rows as $row) {
            if ($expand == 1)
            {
               adsmanager_html::show_html_ad($row,$show_contact,$option,$itemid,$positions,$fDisplay,$field_values,$conf,0,$update_possible);
            }
            else
            {
            $linkTarget = sefRelToAbs( "index.php?option=$option&amp;page=show_ad&amp;adid=".$row->id."&amp;catid=".$row->category."&amp;Itemid=".$itemid);
            ?>
            <tr>
               <td class="adsmanager_table_description">
                  <?php
                  $ok = 0;$i=1;
                  while(!$ok)
                  {
                     if ($i < $conf->nb_images + 1)
                     {
                        $ext_name = chr(ord('a')+$i-1);
                        $pic = $mosConfig_absolute_path."/images/$option/ads/".$row->id.$ext_name."_t.jpg";
                        if (file_exists( $pic))
                        {
                           echo "<a href='".$linkTarget."'><img src='".$mosConfig_live_site."/images/$option/ads/".$row->id.$ext_name."_t.jpg' alt='".htmlspecialchars(stripslashes(adsmanager_html::cutLongWord($row->ad_headline)),ENT_QUOTES)."' /></a>";
                           $ok = 1;
                        }
                     }
                     else if ($conf->nb_images != 0)
                     {
                        if ((ADSMANAGER_NOPIC != "")&&(file_exists($mosConfig_absolute_path."/components/$option/images/".ADSMANAGER_NOPIC)))
                           echo "<a href='".$linkTarget."'><img src='".$mosConfig_live_site."/components/$option/images/".ADSMANAGER_NOPIC."' alt='nopic' /></a>";
                        else
                           echo "<a href='".$linkTarget."'><img src='".$mosConfig_live_site."/components/$option/images/nopic.gif' alt='nopic' /></a>";
                        $ok = 1;
                     }   
                     else
                     {
                        $ok = 1;
                     }
                     $i++;      
                  }
                  ?>
                 <div>
                  <h2>
                     <?php /*?><?php echo '<a href="'.$linkTarget.'">'.stripslashes(adsmanager_html::cutLongWord($row->ad_headline)).'</a>'; ?><?php */?>
                     <span class="adsmanager_cat">
                     <?php /*?><?php
                     $row->ad_text = str_replace ('<br />'," ",stripslashes(adsmanager_html::cutLongWord($row->ad_text)));
                     $af_text = substr($row->ad_text, 0, 100)."...";
                     echo $af_text;
                  ?><?php */?>
                     <?php echo "(".$row->parent." / ".$row->cat.")"; ?></span>                  </h2>
                  </div>
                  
                  <?php
                  if (($my->id == $row->userid)&&($update_possible == 1))   {
                  ?>
                  <div>
                  <?php
                     $target = sefRelToAbs("$mosConfig_live_site/index.php?option=$option&amp;Itemid=$itemid&amp;page=write_ad&amp;adid=$row->id"."&amp;Itemid=".$itemid);
                     echo "<a href='".$target."'>".ADSMANAGER_AD_EDIT."</a>";
                     echo "&nbsp;";
                     $target = sefRelToAbs("$mosConfig_live_site/index.php?option=$option&amp;Itemid=$itemid&amp;page=delete_ad&amp;adid=$row->id"."&amp;Itemid=".$itemid);
                     echo "<a href='".$target."'>".ADSMANAGER_AD_DELETE."</a>";
                  ?>
                  </div>
                  <?php
                  }
                  ?>               </td>
               <?php if (isset($columns))
                  {
                    foreach($columns as $col) {
                     echo '<td class="center">';
                     if(isset($fColumn[$col->id]))
                     {
                        foreach($fColumn[$col->id] as $field)
                        {
                           adsmanager_html::showFieldValue($row,$field,$field_values,$conf->email_display,$option,$itemid,2); /* 2 = List */
                        }
                     }
                     echo "</td>";
                   }
                  }
               ?>
               <td class="center">
                  <?php echo adsmanager_html::reorderDate($row->date_created); ?>
                  <br />
                  <?php
                  if ($row->userid != 0)
                  {
                     echo ADSMANAGER_FROM;

                     if ($conf->comprofiler == 2)
                     {
                     $target = sefRelToAbs("index.php?option=com_comprofiler&amp;task=userProfile&amp;tab=AdsManagerTab&amp;user=".$row->userid."&amp;Itemid=".$itemid);
                     }
                     else
                     {
                     $target = sefRelToAbs("index.php?option=$option&amp;page=show_user&amp;userid=".$row->userid."&amp;Itemid=".$itemid);
                     }
                     
                     echo "<a href='".$target."'>".$row->user."</a><br/>";
                  }
                  ?>
                  <?php echo sprintf(ADSMANAGER_VIEWS,$row->views); ?>               </td>
            </tr>
         <?php   
            }
         }
         }
         
         if ($expand == 1) {
            ?>
            <div class="back_button">
            <a href='javascript:history.go(-1)'>
            <?php echo ADSMANAGER_BACK_TEXT; ?>            </a>            </div>
            <br />
            <br />
            <?php
         }
         else {
            ?>
            </table>
            <?php
         }
         echo '<p align="center">'.$pagenav->writePagesLinks($navlink).'</p>';
      }
      else
      {
         echo ADSMANAGER_NOENTRIES;
      }
   }
   

вышло коряво,но времени на большую оптимизацию небыло,если что не так-обращайтесь ;)
 
*

eX

  • Захожу иногда
  • 256
  • 72 / 0
Re: Кнопка печати!!!
« Ответ #8 : 05.09.2007, 06:11:14 »
И то сойдет, мне тоже нужно было реализовать функцию печати объявления. Спасибо!
*

Mitriy-Bug

  • Захожу иногда
  • 90
  • 1 / 0
  • Верстка сайтов на Joomla
Re: Кнопка печати!
« Ответ #9 : 25.06.2014, 10:44:14 »
А может знаете как вынести стандартную кнопку печати в модуль? У меня есть рад кнопок-ссылок: Главная - Отправить письмо - Печать - Карта сайта.
Я поставил на кнопку печати ссылку - href="<?php
echo "http://".$_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI'];
?>?tmpl=component&amp;print=1&amp;page="
Замудренно и не всегда печатает, а на странице каталога JoomShopping вообще не печатает
*

mr.shusty

  • Захожу иногда
  • 167
  • 1 / 0
Re: Кнопка печати!
« Ответ #10 : 25.06.2014, 13:07:34 »
ого! А не проще нажать на клавиатуре CTRL+P, чем в коде ковыряться?)))
*

Mitriy-Bug

  • Захожу иногда
  • 90
  • 1 / 0
  • Верстка сайтов на Joomla
Re: Кнопка печати!
« Ответ #11 : 25.06.2014, 13:17:39 »
Ну так придумал Заказчик. Ему надо именно в шапке кнопку сделать, а не в самом компоненте
сайт
*

mr.shusty

  • Захожу иногда
  • 167
  • 1 / 0
Re: Кнопка печати!
« Ответ #12 : 25.06.2014, 13:23:41 »
Ну так придумал Заказчик. Ему надо именно в шапке кнопку сделать, а не в самом компоненте
сайт

хм.. кнопка то, кстати, не отображается...и по нажатию на ярлык просто страница открывается с каталогом))
*

Mitriy-Bug

  • Захожу иногда
  • 90
  • 1 / 0
  • Верстка сайтов на Joomla
Re: Кнопка печати!
« Ответ #13 : 25.06.2014, 13:28:32 »
а попробуйте на странице контакты допустим, там работает
Осмталось как то пристроить кнопку печати на шаблон JoomShopping, но чтобы она отображалась только при печати
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Нужна кнопка для добавления объявлений в модуле

Автор kushiy

Ответов: 0
Просмотров: 1140
Последний ответ 18.10.2016, 13:11:17
от kushiy
AdsManager пропала кнопка добавить изображение

Автор aleks0412

Ответов: 7
Просмотров: 2518
Последний ответ 07.04.2016, 04:31:16
от ArtCh
Кнопка "Добавить объявление"

Автор meiram077

Ответов: 4
Просмотров: 2848
Последний ответ 16.06.2015, 13:15:39
от biper
Кнопка "Поднять объявление"

Автор girlwolf

Ответов: 7
Просмотров: 4026
Последний ответ 14.12.2013, 23:38:12
от max_1985
Кнопка заказать товар AdsManager 2.7

Автор Esbuyy

Ответов: 1
Просмотров: 1386
Последний ответ 04.05.2013, 12:21:26
от grinat