Новости Joomla

Как тестировать Joomla PHP-разработчику? Компонент Patch tester.

👩‍💻 Как тестировать Joomla PHP-разработчику? Компонент Patch tester.Joomla - open source PHP-фреймворк с готовой админкой. Его основная разработка ведётся на GitHub. Для того, чтобы международному сообществу разработчиков было удобнее тестировать Pull Requests был создан компонент Patch Tester, который позволяет "накатить" на текущую установку Joomla именно те изменения, которые необходимо протестировать. На стороне инфраструктуры Joomla для каждого PR собираются готовые пакеты, в которых находится ядро + предложенные изменения. В каждом PR обычно находятся инструкции по тестированию: куда зайти, что нажать, ожидаемый результат. Тестировщики могут предположить дополнительные сценарии, исходя из своего опыта и найти баги, о которых сообщить разработчику. Или не найти, и тогда улучшение или исправление ошибки быстрее войдёт в ядро Joomla. Напомню, что для того, чтобы PR вошёл в ядро Joomla нужны минимум 2 положительных теста от 2 участников сообщества, кроме автора. Видео на YouTubeВидео на VK ВидеоВидео на RuTubeКомпонент на GitHub https://github.com/joomla-extensions/patchtester@joomlafeed#joomla #php #webdev #community

Вышел релиз Revo PageBuilder Toolkit for YOOtheme Pro 1.6

Вышел релиз Revo PageBuilder Toolkit for YOOtheme Pro 1.6.2PageBuilder Toolkit - это специализированный плагин для конструктора страниц Yootheme Pro, содержит набор различных утилит для ускорения процесса работы и отладки макета, множественные улучшения в интерфейсе, включая поддержку dark mode, подсказки, быстрая смена разрешения в окне просмотра и много чего еще.v.1.6.2 Что нового?- Индикатор статусов: теперь не просто показывает состояние запросов, но и делает автоматические попытки их отправки при кратковременных сбоях в сети, а если это не помогло, то переводит конструктор в ручной режим, что позволяет сохранит макет и настройки темы прежде чем вы потеряете все, что было сделано с момента последнего сохранения- Подсветка ошибок в макете: плагин анализирует код страницы и может автоматически подсвечивать data атрибуты с кучей мусора, которые попадают в код страницы при копипасте из Figma в TinyMCE (пригодится для старых макетов, в текущей работе плагин сам очищает код мусора). Также есть подсветка семантических ошибок сборки - дубли h1 тега на странице и вложенных друг в друга заголовков.- Улучшена поддержка будущего релиза Yootheme Pro 5 и редактора CodeMirror 6Плагин для русскоязычных пользователей доступен в каталоге расширений SovMart и распространяется за символическую плату (100р). Разработчики Joomla расширений и партнеры автора могут получить плагин бесплатно.Для работы плагина необходим конструктор страниц Yootheme Pro.Разработчик плагина - участник нашего сообщества Александр Судьбинов (@alexrevo), член официальной группы поддержки Yootheme Pro. Страница расширенияОписание на сайте автора@joomlafeed#joomla #yootheme

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

IngvarChijek

  • Осваиваюсь на форуме
  • 18
  • 0 / 0
Добрый день. очень долго долблюсь над следующей проблемой:

- Раньше <meta name="robots" content="index, follow" />  на сайте нормально отображался, я мог управлять значениями "index, follow, noindex, nofollow" с помощью Tag meta manаger'а.

- Но после вмешательства сторонних разработчиков ситуация поменялась. Они взяли и прибили намертво <meta name="robots" content="index, follow" />  ко всем страницам, то есть теперь нельзя менять значения.... и поставить для нужных страниц: noindex, nofollow.

- ВОПРОС:  Подскажите пожалуйста, в каком файле можно убрать это недоразумение, а именно намертво прибитое значение <meta name="robots" content="index, follow" />  по-умолчанию?

Пересмотрел много здесь: /libraries/joomla/document/html/renderer. Решения не нашел.
*

arma

  • Завсегдатай
  • 1752
  • 81 / 3
Лично я "прибивал" бы этот тег в индексном файле шаблона, где он - зависит от шаблона... 
*

IngvarChijek

  • Осваиваюсь на форуме
  • 18
  • 0 / 0
В индексном файле не нашел ничего связанного с robots:


Код
<?php
defined('_JEXEC') or die;
JHtml::_('behavior.framework', true);
$app = JFactory::getApplication();
$tmpl_logo = $this->params->get('logo');
?>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  <script src="http://code.jquery.com/jquery-latest.js"></script>
    <script type="text/javascript">
  jQuery.noConflict();
  jQuery(function($) {
    if ($(window).width() < 768) {
      $('.hidden-phone').remove();
    } else {
      $('.visible-phone').remove();
    }
  });
  </script>
  <script src="<?php echo $this->baseurl ?>/templates/<?php echo $this->template; ?>/js/bootstrap.js"></script>
  <jdoc:include type="head" />   
    <link href="<?php echo $this->baseurl ?>/templates/<?php echo $this->template;?>/favicon.ico" rel="icon" type="image/x-icon" />
    <link rel="stylesheet" href="<?php echo $this->baseurl ?>/templates/system/css/system.css" type="text/css" />
    <link rel="stylesheet" href="<?php echo $this->baseurl ?>/templates/<?php echo $this->template; ?>/css/bootstrap.css" type="text/css" />
    <link rel="stylesheet" href="<?php echo $this->baseurl ?>/templates/<?php echo $this->template; ?>/css/template.css" type="text/css" />
 
  <script>
  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');

  ga('create', 'UA-37294268-1', 'epil24.ru');
  ga('send', 'pageview');

</script>
  </head>
<body>
<!-- Google Tag Manager -->
<noscript><iframe src="//www.googletagmanager.com/ns.html?id=GTM-TMV2RR"
height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
'//www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
})(window,document,'script','dataLayer','GTM-TMV2RR');</script>
<!-- End Google Tag Manager --> 

<!-- начало шапки -->
<div class="container-fluid">
   <div class="row-fluid">
      <div class="span12">
         <div class="hidden-phone header">
            <div class="row-fluid">
                <div class="span4">
                    <jdoc:include type="modules" name="headtop" style="xhtml" />
                </div>
                <div class="span3 logo">
                    <?php if ($tmpl_logo) : ?>
                         <a href="/" ><img src="<?php echo $this->baseurl ?>/<?php echo htmlspecialchars($tmpl_logo);?>" alt="Kopirovalnya"/></a>
                    <?php endif;?>
                </div>
                <div class="span5">
                  <jdoc:include type="modules" name="headright" style="xhtml" />
                </div>
            </div>
            <div class="row-fluid">
                <div class="span12">
                    <jdoc:include type="modules" name="topmenu" style="none" />
                </div>
            </div>         
         </div>
         <div class="visible-phone">
            <div class="row-fluid">
                <div class="span12 logo">
                    <?php if ($tmpl_logo) : ?>
                         <a href="/" ><img src="<?php echo $this->baseurl ?>/<?php echo htmlspecialchars($tmpl_logo);?>" alt="Kopirovalnya"/></a>
                    <?php endif;?>
                </div>
                <div class="row-fluid">
                    <div class="span12">
                        <jdoc:include type="modules" name="headtop-mobile" style="xhtml" />
                    </div>
                </div>
                <div class="row-fluid">
                    <div class="span12">
                        <jdoc:include type="modules" name="headcall-mobile" style="xhtml" />
                    </div>
                </div>
                <div class="row-fluid">
                    <div class="span12">
                        <jdoc:include type="modules" name="headright-mobile" style="xhtml" />
                    </div>
                </div>
               
            </div>
            <div class="row-fluid">
                <div class="span12">
                   <a class="padding-right mobile-padding dropdown-toggle pull-right" data-toggle="collapse" data-target=".nav-collapse"><button class="btn"><i class="icon-align-justify"></i></button></a>
            </div>
            <div class="nav-collapse collapse">
                <div class="nav mobilemenu">
                    <div class="center">
                        <jdoc:include type="modules" name="topmenu" style="none" />
                    </div>
                </div>
                </div>
            </div>         
         </div>
      </div>
   </div>
</div>
<!-- конец шапки -->
<!-- Начало контента -->
<div class="container-fluid">
  <div class="row-fluid">
    <div class="span12 content">
        <div class="hidden-phone">
            <div class="row-fluid menu">
                 <div class="span12">
                        <jdoc:include type="modules" name="breadcrumbs" style="none" />
                </div>
            </div>
        </div>
        <div class="visible-phone">
            <div class="row-fluid menu">
                 <div class="span12">
                        <jdoc:include type="modules" name="breadcrumbs" style="none" />
                </div>
            </div>
        </div>
<div class="row-fluid">
  <?php if ($this->countModules('left and right')) : //если есть модули в обоих позициях ?>
  <div class="hidden-phone">
      <div class="span12">
        <div class="span3 padding-top">
          <jdoc:include type="modules" name="left" style="xhtml"/>
        </div>
        <div class="span6">
            <div class="mainContent">
                  <jdoc:include type="message" />
                  <jdoc:include type="modules" name="content-top" />
                  <jdoc:include type="component" />
              </div>
          </div>       
        <div class="span3 padding-right padding-top">
          <jdoc:include type="modules" name="right" style="xhtml"/>
        </div>
      </div>
  </div>
  <div class="visible-phone">
    <div class="row-fluid">
        <div class="span12">
            <div class="mainContent">
                  <jdoc:include type="message" />
                  <jdoc:include type="component" />
              </div>
          </div>       
       
      </div>
    </div>
     
  </div>
  <?php elseif ($this->countModules('left')) : //иначе если есть модули только в позиции left ?>
  <div class="hidden-phone">
      <div class="span12">
        <div class="span3">
            <jdoc:include type="modules" name="left" style="xhtml" />
        </div>
        <div class="span9">               
            <div class="mainContent">
                  <jdoc:include type="message" />
                  <jdoc:include type="modules" name="content-top" />
                  <?php //if (JUri::getInstance()->toString() == JUri::base()) { ?>
                    <div class="tab1">
          <?php
          jimport('joomla.html.pane');
          $myTabs = JPane::getInstance('tabs', array('startOffset' => 3));
          $output = '';
          $output .= $myTabs->startPane('pane');
 
          $output .= $myTabs->startPanel('Скидки и акции', 'tab1_1');
          $output .= '<jdoc:include type="modules" name="tab3" style="xhtml"/>';
          $output .= $myTabs->endPanel();
 
          $output .= $myTabs->startPanel('Топ продаж', 'tab1_2');
          $output .= '<jdoc:include type="modules" name="tab2" style="xhtml"/>';
          $output .= $myTabs->endPanel();
         
          $output .= $myTabs->startPanel('Новинки', 'tab1_3');
          $output .= '<jdoc:include type="modules" name="tab1" style="xhtml"/>';
          $output .= $myTabs->endPanel();     
 
          $output .= $myTabs->endPane();
          echo $output;
          ?>
                    </div>
                    <?php //} ?>
                  <jdoc:include type="modules" name="content-top2" />
                  <div class="clear"></div>
                  <jdoc:include type="component" />
              </div>
        </div>
      </div>
  </div>
  <div class="visible-phone">
      <div class="span12">
          <div class="row-fluid">
            <div class="span12">               
            <div class="mainContent">
                  <jdoc:include type="message" />
                  <jdoc:include type="modules" name="content-top2" />
                  <div class="clear"></div>
                  <jdoc:include type="component" />
              </div>
        </div>
          </div>
       
      </div>
  </div>
  <?php elseif ($this->countModules('right')) : //иначе если есть модули в позиции right ?>
  <div class="hidden-phone">
      <div class="span12">
        <div class="span9">
            <div class="mainContent">
                  <jdoc:include type="message" />
                  <jdoc:include type="modules" name="content-top" />
                  <jdoc:include type="component" />
              </div>
        </div>
        <div class="span3 padding-right">
          <jdoc:include type="modules" name="right" style="xhtml"/>
        </div>
      </div>
  </div>
  <div class="visible-phone">
    <div class="row-fluid">
        <div class="span12">
       
            <div class="mainContent">
                  <jdoc:include type="message" />
                  <jdoc:include type="component" />
              </div>
        </div>
    </div>
     
       
      </div>
 
  <?php else : //ну и если нет модулей нигде то показываем контент на всю ширину ?>
  <div class="hidden-phone">
    <div class="span12">
          <div class="mainContent">
              <jdoc:include type="message" />
              <jdoc:include type="modules" name="content-top" />
              <jdoc:include type="component" />
          </div>
    </div>
  </div>
  <div class="visible-phone">
    <div class="span12">
          <div class="mainContent">
              <jdoc:include type="message" />
              <jdoc:include type="component" />
          </div>
    </div>
  </div>
  <?php endif; ?>
  </div>
  </div>
</div>
<?php //if (JUri::getInstance()->toString() == JUri::base()) { ?>
  <script type="text/javascript">
        window.addEvent('domready', function() {
      $$('dl.tabs dt').each(function(el){
        el.removeClass('open');
        el.removeClass('closed');
        el.addClass('closed');

        if (el.className == 'tab1_3 closed') {
          el.addClass('open');
        }
       
        if (el.className == 'tab2_1 closed') {
          el.addClass('open');
        }
      });
     
      $$('.tab2 .current dd').each(function(el){
        el.setStyle('display', 'none');
      });
     
      $$('.tab2 .current dd')[0].setStyle('display', 'block');
    });

    </script>
    <div class="tab2">
  <?php
  $myTabs2 = JPane::getInstance('tabs', array('startOffset' => 0));
  $output = '';
  $output .= $myTabs2->startPane('pane2');
 
  $output .= $myTabs2->startPanel('Новости компании', 'tab2_1');
  $output .= '<jdoc:include type="modules" name="tab4" style="xhtml" />';
  $output .= $myTabs2->endPanel();
 
  $output .= $myTabs2->startPanel('Шугаринг это...', 'tab2_2');
  $output .= '<jdoc:include type="modules" name="tab5" style="xhtml" />';
  $output .= $myTabs2->endPanel();
         
  $output .= $myTabs2->startPanel('Выбор пасты', 'tab2_3');
  $output .= '<jdoc:include type="modules" name="tab6" style="xhtml" />';
  $output .= $myTabs2->endPanel();
 
  $output .= $myTabs2->startPanel('Воск или шугаринг', 'tab2_4');
  $output .= '<jdoc:include type="modules" name="tab7" style="xhtml" />';
  $output .= $myTabs2->endPanel(); 
 
  $output .= $myTabs2->endPane();
  echo $output;
  ?>
  </div>
<?php //} ?>
<!-- Конец контента -->
<!-- Начало футера -->
<div class="container-fluid">
   <div class="row-fluid">
      <div class="span12">
         <div class="hidden-phone footer">
            <div class="row-fluid">
                <div class="span12 footer">
                    <jdoc:include type="modules" name="footer" />
                </div>
            </div>
            <div class="row-fluid">
                <div class="span4">
                    <jdoc:include type="modules" name="footer-left" />
                </div>
                <div class="span4">
                    <jdoc:include type="modules" name="footer-center" />
                </div>
                <div class="span4">
                    <jdoc:include type="modules" name="footer-right" />
                </div>
            </div>
         </div>
         <div class="visible-phone footer">
            <div class="row-fluid">
                <div class="span12 footer">
                    <jdoc:include type="modules" name="footer" />
                </div>
            </div>
            <div class="row-fluid">
                <div class="span12">
                    <jdoc:include type="modules" name="footer-left" />
                </div>
            </div>
            <div class="row-fluid">
                <div class="span12">
                    <jdoc:include type="modules" name="footer-center" />
                </div>
            </div>   
            <div class="row-fluid">
                <div class="span12">
                    <jdoc:include type="modules" name="footer-right" />
                </div>
            </div>       
         </div>
      </div>
   </div>
</div>
<!-- Конец футера -->



</body>
</html>
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Проблема с логином на сайт через Iphone

Автор AdmiralSFF

Ответов: 4
Просмотров: 2660
Последний ответ 13.08.2022, 13:19:41
от AdmiralSFF
Мой файл robots на оценку

Автор Sovets365

Ответов: 0
Просмотров: 2126
Последний ответ 25.04.2022, 15:41:03
от Sovets365
Проблема с переносом Joomla сайта с хостинга на денвер

Автор 62411

Ответов: 4
Просмотров: 2195
Последний ответ 21.02.2022, 20:22:11
от arma
Проблема Adobe Flash Player

Автор MamontFirst

Ответов: 5
Просмотров: 1584
Последний ответ 23.01.2021, 21:25:23
от MamontFirst
Проблема с редактированием материалов

Автор olesya

Ответов: 15
Просмотров: 3412
Последний ответ 12.07.2020, 12:46:06
от NataliS