Новости Joomla

Joomla 6: Автоматические обновления ядра в Joomla

Joomla 6: Автоматические обновления ядра в Joomla

👩‍💻 Joomla 6: Автоматические обновления ядра в Joomla. В октябрьском номере официального журнала Joomla - Joomla Community Magazine вышла статья David Jardin, где рассказывается о внедрении функционала автоматического обновления ядра Joomla.❓Почему сейчас? Joomla же жила как-то 20 лет без автоматических обновлений?Это оказалась самая востребованная за последнее время от пользователей Joomla функция. Но, основная причина внедрения - проблемы безопасности. Всякий раз, когда в новой версии Joomla устраняется уязвимость, злоумышленники начинают анализировать код, чтобы выяснить, какая именно уязвимость была исправлена. И как только они это выясняют - начинается разработка автоматизированных скриптов для взлома как можно большего количества сайтов. Затем доступы к автоматически взломанным сайтам продаются в профильных чатах и ресурсах "пачками" по несколько сотен тысяч или миллионов сайтов. Ваш сайт могли взломать несколько лет назад, но воспользоваться уязвимостью могут не сразу, а тогда, когда у злоумышленников возникнет необходимость. И только после этого вы может быть узнаете об этом.Анализ патча, понимание проблемы и разработка скрипта требуют времени. И если владелец сайта не обновит его до истечения этого срока, сайт может быть взломан. А хакеры действуют быстро! Для критических, легко эксплуатируемых уязвимостей речь идёт о временном окне в 10–12 часов — и этого времени явно недостаточно, чтобы все успели обновить свои сайты.Здесь выходят на первый план автоматизированные обновления: проект Joomla теперь может активно устанавливать обновления (и, следовательно, исправления безопасности) на сайты, чтобы гарантировать, что сайты действительно обновляются вовремя.🕘 От первых идей до реализации прошло 5 лет. И здесь можно вспомнить, как в Joomla 5.1 внедрили TUF - The Update Framework, позволяющий устанавливать защищённое соединение между сайтом и сервером обновлений и исключает возможность supply chain attack (атаки на цепочку поставок).Об особенностях реализации и требованиях к сайту читаем подробнее в статье на JCM.@joomlafeed#joomla #secutiry #jcm

Первый выпуск журнала NorrNext в честь 20-й годовщины Joomla™

Первый выпуск журнала NorrNext в честь 20-й годовщины Joomla™

Первый выпуск журнала NorrNext в честь 20-й годовщины Joomla™. Интервью с волонтёрами 🎈Ну что, друзья, вот и настал этот долгожданный момент. Мы выпустили первое издание собственного журнала под эгидой NorrNext, который включает в себя интервью с видными деятелями сообщества из разных стран и континентов.Общий нарратив: показать, что нас объединяет (Joomla) и узнать больше о людях, которые вносят свой вклад в развитие платформы в своих сообществах. 20 лет — это много. Давайте же узнаем о коллегах 🎁 Первый цикл включает такие страны, как Австрия, Испания, Латвия, Россия, Румыния, Тайланд, Черногория, Чехия.⚙️ С кем интервью: ✔️ Владимир Елисеев 🇷🇺✔️ Дмитрий Рекун 🇱🇻✔️ Дмитрий Цымбал 🇷🇺✔️ Евгений Сивоконь 🇷🇺 ✔️ Сергей Толкачёв 🇷🇺✔️ Dénes Székely 🇷🇴✔️ Jan Pavelka 🇨🇿✔️ Miljan Vujosevic 🇲🇪✔️ Sergio Iglesias 🇪🇸✔️ Sigrid Gramlinger 🇦🇹✔️ Pisan Chueatchatchai 🇹🇭‼️ Новые интервью будут добавляться до конца декабря 2025. Заходите по ссылке время от времени💡👉 Читать далее

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

ha03

  • Осваиваюсь на форуме
  • 14
  • 0 / 0
  • Кракен
Суть вопроса такова. Есть сайт на Joomla 2.5, на нем стоит шаблон youjoomla, нужно выключить или вообще вырезать pagination. Стандартный плагин pagination выключин, но pagination все еще работает, начал искать и понял что в шаблоне есть своя навигатция "назад вперед" за вывод pagination в данном шаблоне отвечает строчка <div class="jb_pagin">, и все они в это файле и их тут аж три штуки, однако если их убрать выдает ошибку и сайт не работает.

Если вы знаете другой способ как это исправить, пишите попробую
Все заранее спасибо

Цитировать
<?php
defined('_JEXEC') or die;
JHtml::addIncludePath(JPATH_COMPONENT.DIRECTORY_SEPARATOR.'helpers');
$params    = $this->item->params;
$canEdit   = $this->item->params->get('access-edit');
$user      = JFactory::getUser();
if(intval(JVERSION)  > 1.7){
   $jvcheck = true;
   $images = json_decode($this->item->images);
}else{
   $jvcheck = false;
}
if (!$this->print){
   $print_link = JHtml::_('icon.print_popup', $this->item, $params);
}else{
   $print_link = JHtml::_('icon.print_screen', $this->item, $params);
}
$bs_article ='nojb ';
if(intval(JVERSION) >= 3 || JPluginHelper::getPlugin('system', 'JBootstrap')) {
   $bs_article ='';
}
$author = $params->get('link_author', 0)? JHTML::_('link',JRoute::_('index.php?option=com_users&amp;view=profile&amp;member_id='.$this->item->created_by),$this->item->author) : $this->item->author;
$author   =($this->item->created_by_alias ? $this->item->created_by_alias : $author);
$newsitemTools = ($canEdit or ($params->get('show_author')) or ($params->get('show_category')) or ($params->get('show_create_date')) or ($params->get('show_modify_date')) or ($params->get('show_publish_date')) or ($params->get('show_parent_category')) or ($params->get('show_hits') or $params->get('show_print_icon') or $params->get('show_email_icon')));
?>

<div class="<?php echo $bs_article ?>news_item_a<?php echo $params->get('pageclass_sfx')?>">
   <?php /*Page title*/ if ($this->params->get('show_page_heading', 1)) : ?>
   <h1 class="pagetitle<?php echo $this->params->get('pageclass_sfx')?>">
      <?php echo $this->escape($this->params->get('page_heading')); ?>
   </h1>
   <?php endif; ?>
<?php
if (!empty($this->item->pagination) AND $this->item->pagination && !$this->item->paginationposition && $this->item->paginationrelative)
{
    echo '<div class="jb_pagin">'.$this->item->pagination.'</div>';
}
 ?>   

   <?php  /* Title*/ if ($params->get('show_title')|| $params->get('access-edit')) : ?>
      <h1 class="article_title">
         <?php if ($params->get('link_titles') && !empty($this->item->readmore_link)) : ?>
         <a href="<?php echo $this->item->readmore_link; ?>" class="contentpagetitle<?php echo $this->params->get( 'pageclass_sfx' ); ?>">
            <?php echo $this->escape($this->item->title); ?>
         </a>
         <?php else : ?>
         <?php echo $this->escape($this->item->title); ?>
         <?php endif; ?>
      </h1>
   <?php endif; ?>
   <?php  if (!$params->get('show_intro')) :
      echo $this->item->event->afterDisplayTitle;
   endif; ?>
   <?php echo $this->item->event->beforeDisplayContent; ?>
   
   
   <?php if ($newsitemTools) : ?>
   <div class="newsitem_tools">
      <div class="newsitem_info">
         <?php /* Parent category*/if ($params->get('show_parent_category')) : ?>
               <span class="icon-list-alt"></span> <span class="newsitem_parent_category">
                  <?php $title = $this->escape($this->item->parent_title);
                     $url = '<a href="' . JRoute::_(ContentHelperRoute::getCategoryRoute($this->item->parent_slug)). '">' . $title . '</a>'; ?>
               <?php if ($params->get('link_parent_category') and $this->item->parent_slug) : ?>
                        <?php echo JText::sprintf('COM_CONTENT_PARENT', $url); ?>
                        <?php else : ?>
                        <?php echo JText::sprintf('COM_CONTENT_PARENT', $title); ?>
                    <?php endif; ?>
               </span>
         <?php endif; ?>   
         <?php /*Category title*/if ($params->get('show_category')) : ?>
         <span class="newsitem_category"><span class="icon-list-alt"></span>
         <?php    $title = $this->escape($this->item->category_title);
               $url = '<a href="'.JRoute::_(ContentHelperRoute::getCategoryRoute($this->item->catslug)).'">'.$title.'</a>';
               if ($params->get('link_category') AND $this->item->catslug) :
                  echo JText::sprintf('COM_CONTENT_CATEGORY', $url);
               else:
                  echo JText::sprintf('COM_CONTENT_CATEGORY', $title);
               endif;
               ?>
         </span>
         <?php endif; ?>       
         <?php /* Create date*/if ($params->get('show_create_date')) : ?>
         <span class="createdate">
            <span class="icon-calendar"></span> <?php echo JText::sprintf('COM_CONTENT_CREATED_DATE_ON', JHTML::_('date',$this->item->created, JText::_('DATE_FORMAT_LC3'))); ?>
         </span>
         <?php endif; ?>
         <?php /*Modify date*/ if ($params->get('show_modify_date')) : ?><div class="clr"></div>
            <span class="modifydate">
                <span class="icon-edit"></span> <?php echo JText::sprintf('COM_CONTENT_LAST_UPDATED', JHTML::_('date',$this->item->modified, JText::_('DATE_FORMAT_LC2'))); ?>            </span>
            <?php endif; ?>   
         <?php /* Published date*/ if ($params->get('show_publish_date')) : ?>
         <span class="newsitem_published"><span class="icon-calendar"></span>
         <?php echo JText::sprintf('COM_CONTENT_PUBLISHED_DATE_ON', JHTML::_('date',$this->item->publish_up, JText::_('DATE_FORMAT_LC3'))); ?>
         </span>
         <?php endif; ?>   <div class="clr"></div>                  
         <?php /* Author*/if ($params->get('show_author') && !empty($this->item->author)) : ?>
            <div class="clr"></div>
         <span class="createby">
            <span class="icon-pencil"></span> <?php echo JText::sprintf('COM_CONTENT_WRITTEN_BY', $author); ?>
         </span>
         <?php endif; ?>
         <?php /* Hits*/if ($params->get('show_hits')) : ?>
         <span class="newsitem_hits"><span class="icon-star"></span>
            <?php echo JText::sprintf('COM_CONTENT_ARTICLE_HITS', $this->item->hits); ?>
         </span>
         <?php endif; ?>
      </div>
      
      <?php /* Email and Print*/ if ($params->get('show_print_icon') || $params->get('show_email_icon') || $canEdit) : ?>
        <div class="btn-group pull-right actiongroup">
           <a class="btn btn-mini dropdown-toggle" data-toggle="dropdown" href="#">
               <span class="icon-tasks"></span>
            </a>
            <ul class="dropdown-menu buttonheading">
                <?php if ($params->get('show_print_icon')) : ?>
                <li class="print-icon"> <?php echo $print_link  ?> </li>
                <?php endif; ?>
                <?php if ($params->get('show_email_icon')) : ?>
                <li class="email-icon"> <?php echo JHtml::_('icon.email', $this->item, $params); ?> </li>
                <?php endif; ?>
                <?php if ($canEdit) : ?>
                <li class="edit-icon"> <?php echo JHtml::_('icon.edit', $this->item, $params); ?> </li>
                <?php endif; ?>
            </ul>
        </div>
      <?php endif; ?>
      <div class="yjsg-clear-all"></div>
   </div>
   <?php endif; ?>
   <?php if (intval(JVERSION) >= 3 && $params->get('show_tags', 1) && !empty($this->item->tags)) : ?>
      <?php $this->item->tagLayout = new JLayoutFile('joomla.content.tags'); ?>
      <?php echo $this->item->tagLayout->render($this->item->tags->itemTags); ?>
   <?php endif; ?>
   <div class="clr"></div>
   <div class="newsitem_text">
      <?php if (isset ($this->item->toc)) : ?>
      <?php echo $this->item->toc; ?>
      <?php endif; ?>
        <?php if($jvcheck):echo $this->loadTemplate('links');endif;?>
     
      <?php if ($params->get('access-view')):?>
       
        <?php  if (!empty($images->image_fulltext) && $jvcheck) : ?>
        <div class="img-fulltext-<?php echo  $images->float_fulltext ?>">
        <img
            <?php if ($images->image_fulltext_caption):
                echo 'class="caption"'.' title="' .$images->image_fulltext_caption .'"';
            endif; ?>
            <?php if (empty($images->float_fulltext)):?>
                style="float:<?php echo  $params->get('float_fulltext')?>"
            <?php else: ?>
                style="float:<?php echo  $images->float_fulltext ?>"
            <?php endif; ?>
            src="<?php echo $images->image_fulltext; ?>" alt="<?php echo $images->image_fulltext_alt; ?>" />
        </div>
        <?php endif; ?>
<?php
if (!empty($this->item->pagination) AND $this->item->pagination AND !$this->item->paginationposition AND !$this->item->paginationrelative):
    echo '<div class="jb_pagin">'.$this->item->pagination.'</div>';
 endif;
?>

      <?php echo $this->item->text; ?>
<?php
if (!empty($this->item->pagination) AND $this->item->pagination AND $this->item->paginationposition AND !$this->item->paginationrelative):
    
    echo '<div class="jb_pagin">'.$this->item->pagination.'</div>';
    ?>

<?php endif; ?>   
   <?php //optional teaser intro text for guests ?>
<?php elseif ($params->get('show_noauth') == true AND  $user->get('guest') ) : ?>
   <?php echo $this->item->introtext; ?>
   <?php //Optional link to let them register to see the whole article. ?>
   <?php if ($params->get('show_readmore') && $this->item->fulltext != null) :
      $link1 = JRoute::_('index.php?option=com_users&view=login');
      $link = new JURI($link1);?>
      <a class="btn btn-small readon" href="<?php echo $link; ?>">
      <span>
      <?php $attribs = json_decode($this->item->attribs);  ?>
      <?php
      if ($attribs->alternative_readmore == null) :
         echo JText::_('COM_CONTENT_REGISTER_TO_READ_MORE');
      elseif ($readmore = $this->item->alternative_readmore) :
         echo $readmore;
         if ($params->get('show_readmore_title', 0)!= 0) :
             echo JHTML::_('string.truncate', ($this->item->title), $params->get('readmore_limit'));
         endif;
      elseif ($params->get('show_readmore_title', 0) == 0) :
         echo JText::sprintf('COM_CONTENT_READ_MORE_TITLE');   
      else :
         echo JText::_('COM_CONTENT_READ_MORE');
         echo JHTML::_('string.truncate', ($this->item->title), $params->get('readmore_limit'));
      endif; ?>
      </span>
      </a>
   <?php endif; ?>
<?php endif; ?>
   </div>
<?php
if (!empty($this->item->pagination) AND $this->item->pagination AND $this->item->paginationposition AND $this->item->paginationrelative):
    echo '<div class="jb_pagin">'.$this->item->pagination.'</div>';
    ?>
<?php endif; ?>   

</div>
<!--end news item -->
<?php echo $this->item->event->afterDisplayContent; ?>
*

ha03

  • Осваиваюсь на форуме
  • 14
  • 0 / 0
  • Кракен
Ну что никто не знает PHP?
*

AngelSky

  • Новичок
  • 5
  • 0 / 0
попробуй везде заменить строчку
Код
echo '<div class="jb_pagin">'.$this->item->pagination.'</div>';
на
Код
echo '';
*

ha03

  • Осваиваюсь на форуме
  • 14
  • 0 / 0
  • Кракен
попробуй везде заменить строчку
Код
echo '<div class="jb_pagin">'.$this->item->pagination.'</div>';
на
Код
echo '';
Обязательно проверю, но я уже нашел способ, пишу для остальных. Нужно зайти в меню, выбрать пункт меню и там с правой стороны найти, отображения материала или что то в этом духе, далее найти пункт "навигация" и выбрать скрыть! Этот фокус работает только при пунтктах меню, если такое продлевать с материалом (не знаю почему) но не работает
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

На локал сервере страницы сайта без шаблона, CSS и картинок

Автор Fati

Ответов: 0
Просмотров: 689
Последний ответ 15.06.2025, 11:57:45
от Fati
Изменение шаблона Joomla! 2.5.24

Автор SecondPC

Ответов: 0
Просмотров: 4272
Последний ответ 26.03.2021, 18:09:33
от SecondPC
Как в Joomla 3 отключить позицию вывода или убрать надпись?

Автор Алексей Лоскутов

Ответов: 2
Просмотров: 7680
Последний ответ 10.04.2020, 19:07:02
от Алексей Лоскутов
Руководство - создание шаблона для Joomla 2.5

Автор dynamit

Ответов: 6
Просмотров: 30805
Последний ответ 02.02.2020, 22:28:15
от AlinaBut
Ошибка при установке шаблона - Fatal error: Call to a member function setDebug() on a non-object in

Автор Mirotvoretz

Ответов: 33
Просмотров: 69034
Последний ответ 11.11.2018, 13:22:26
от vik38