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

bandanu

  • Захожу иногда
  • 162
  • 3 / 0
Не знал куда писать вопрос поэтому пишу тут.
В общем в файле вывода материала подключаю js и CSS для работы табов и акордеона, они соответственно выводятся "глубоко" в body.Как их подключать, чтоб они грузились в header, и есть ли вообще в этом смысл?Влияет ли это на скорость?
« Последнее редактирование: 12.12.2012, 14:37:20 от bandanu »
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
Re: Можно ли js и CSS подгружать в header?
« Ответ #1 : 02.12.2012, 23:31:21 »
Код: php
<?php
$doc = JFactory::getDocument();
$doc->addScript('ваш файл.js'); //подключаем файл js
//$js = "alert('Привет');"; //Ниже приведен вариант многострочного ввода
$js = <<<MYJS
alert('Привет');
MYJS; //Ваш код JS
$doc->addScriptDeclaration($js); //вставляем код js
$doc->addStyleSheet('ваш файл.css'); //подключаем файл CSS
//$css ="p {font-size:  16px;}";
$css = <<<MYCSS
p {font-size:  16px;}
a {color: red;}
MYCSS; //Ваш код стилей элементов CSS
$doc->addStyleDeclaration($css); //вставляем стили CSS
?>
В header вставляйте. Объясню для чего. Таким образом с помощью плагина вы сможете разобраться с всеми вашими скриптами. Объединить и сжать их или перенести в пост загрузку. Ели вызов скрипта будет в теле документа плагины вряд ли будут их обрабатывать. Хочу отметить, что таким образом, нет разницы где вы вставляете код подключения скриптов в файле где обрабатывается php внизу или вначале страницы. Код все равно попадет в head 
*

bandanu

  • Захожу иногда
  • 162
  • 3 / 0
Re: Можно ли js и CSS подгружать в header?
« Ответ #2 : 04.12.2012, 18:16:18 »
Код
$doc = JFactory::getDocument();
$doc->addScript('/templates/stroy/js/accordion.js');
$js = "";
$doc->addScriptDeclaration($js);
$doc->addStyleSheet('/templates/stroy/css/accordion.css');
$css = "";
$doc->addStyleDeclaration($css);
файлы accordion.css и accordion.js подключились в header это хорошо.
как дописать этот код
Код
$(function() {
$( "#accordion" ).accordion();
});
в $js = "код";
и для чего  $css = "код"; если мы подключили файл CSS где все прописано
можно ли просто удалить
$css = "";
$doc->addStyleDeclaration($css);
эти две строки за ненадобностью или это будет неправильно?
и еще о каком плагине вы говорите  с помощью которого вы сможете разобраться с всеми вашими скриптами.
« Последнее редактирование: 04.12.2012, 18:20:16 от bandanu »
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
Re: Можно ли js и CSS подгружать в header?
« Ответ #3 : 04.12.2012, 18:44:22 »
Код: php-brief
<?php
$doc = JFactory::getDocument();
$js = <<<MYJS
$(function() {
$( "#accordion" ).accordion();
});
MYJS;
$doc->addScriptDeclaration($js); //вставляем код js
?>
удаляйте если не надо смело ведь здесь я привел по 2 варианта. Вставка внешнего кода и вставка в тело документа
Ускоряем загрузку сайта (руководства и инструменты)
*

bandanu

  • Захожу иногда
  • 162
  • 3 / 0
Re: Можно ли js и CSS подгружать в header?
« Ответ #4 : 04.12.2012, 19:53:44 »
Код
<?php
$doc = JFactory::getDocument();
$doc->addScript('/templates/stroy/js/accordion.js');
$js = <<<MYJS
$(function() {
$( "#accordion" ).accordion();
});
MYJS;
$doc->addScriptDeclaration($js);
$doc->addStyleSheet('/templates/stroy/css/accordion.css');
?>
в таком виде высвечивает синтаксическую ошибку
так и не иначе?

$js = <<<MYJS
$(function() {
      $( "#accordion" ).accordion();
   });
MYJS;
*

Mirotvoretz

  • Захожу иногда
  • 65
  • 0 / 0
Re: Можно ли js и CSS подгружать в header?
« Ответ #5 : 05.12.2012, 22:48:05 »
Попробуйте заключить ваш код вот в такую конструкцию:

Цитировать
jQuery(function($){
    // Теперь Ваш код, будет доступен jQuery через "$"
});
*

bandanu

  • Захожу иногда
  • 162
  • 3 / 0
Re: Можно ли js и CSS подгружать в header?
« Ответ #6 : 06.12.2012, 12:48:31 »
Код
<link rel="stylesheet" type="text/css" href="<?php echo $this->baseurl ?>/templates/stroy/css/accordion.css"/>
<script type="text/javascript" src="<?php echo $this->baseurl ?>/templates/stroy/js/accordion.js"></script>
<script>
$(function() {
$( "#accordion" ).accordion();
});
</script>
почему в таком виде все ok, а с выше перечисленным ни как?
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
Re: Можно ли js и CSS подгружать в header?
« Ответ #7 : 06.12.2012, 13:38:53 »
Код: php-brief
?php
$doc = JFactory::getDocument();
$doc->addScript('/templates/stroy/js/accordion.js');
$js = <<<MYJS
jQuery(function() {
jQuery( "#accordion" ).accordion();
});
MYJS;
$doc->addScriptDeclaration($js);
$doc->addStyleSheet('/templates/stroy/css/accordion.css');
?>
Попробуй так
*

bandanu

  • Захожу иногда
  • 162
  • 3 / 0
Re: Можно ли js и CSS подгружать в header?
« Ответ #8 : 06.12.2012, 19:14:46 »
Вот мой файл category.php
Код
<?php
defined('_JEXEC') or die('Restricted access');
?>
<link rel="stylesheet" type="text/css" href="<?php echo $this->baseurl ?>/templates/stroy/css/accordion.css"/>
<script type="text/javascript" src="<?php echo $this->baseurl ?>/templates/stroy/js/accordion.js"></script>
<div id="Container" class="itemListView<?php if($this->params->get('pageclass_sfx')) echo ' '.$this->params->get('pageclass_sfx'); ?>">

<?php if($this->params->get('show_page_title')): ?>

<div class="componentheading<?php echo $this->params->get('pageclass_sfx')?>"><?php echo $this->escape($this->params->get('page_title')); ?></div>
<?php endif; ?>

<script>
$(function() {
$( "#accordion" ).accordion();
});
</script>
<?php if((isset($this->leading) || isset($this->primary) || isset($this->secondary) || isset($this->links)) && (count($this->leading) || count($this->primary) || count($this->secondary) || count($this->links))): ?>

<?php if(isset($this->leading) && count($this->leading)): ?>

<div id="accordion">
<?php foreach($this->leading as $key=>$item): ?>

<?php
if( (($key+1)%($this->params->get('num_leading_columns'))==0) || count($this->leading)<$this->params->get('num_leading_columns') )
$lastContainer= ' itemContainerLast';
else
$lastContainer='';
?>
<?php
$this->item=$item;
echo $this->loadTemplate('item');
?>

<?php endforeach; ?>

</div>
<?php endif; ?>

<?php if(isset($this->primary) && count($this->primary)): ?>
<div id="itemListPrimary">
<?php foreach($this->primary as $key=>$item): ?>

<?php
if( (($key+1)%($this->params->get('num_primary_columns'))==0) || count($this->primary)<$this->params->get('num_primary_columns') )
$lastContainer= ' itemContainerLast';
else
$lastContainer='';
?>

<div class="itemContainer<?php echo $lastContainer; ?>"<?php echo (count($this->primary)==1)? '' : ' style="width:'.number_format(100/$this->params->get('num_primary_columns'), 1).'%;"'; ?>>
<?php
$this->item=$item;
echo $this->loadTemplate('item');
?>
</div>
<?php if(($key+1)%($this->params->get('num_primary_columns'))==0): ?>
<div class="clr"></div>
<?php endif; ?>
<?php endforeach; ?>
<div class="clr"></div>
</div>
<?php endif; ?>

<?php if(isset($this->secondary) && count($this->secondary)): ?>
<div id="itemListSecondary">
<?php foreach($this->secondary as $key=>$item): ?>

<?php
if( (($key+1)%($this->params->get('num_secondary_columns'))==0) || count($this->secondary)<$this->params->get('num_secondary_columns') )
$lastContainer= ' itemContainerLast';
else
$lastContainer='';
?>

<div class="itemContainer<?php echo $lastContainer; ?>"<?php echo (count($this->secondary)==1)? '' : ' style="width:'.number_format(100/$this->params->get('num_secondary_columns'), 1).'%;"'; ?>>
<?php
$this->item=$item;
echo $this->loadTemplate('item');
?>
</div>
<?php if(($key+1)%($this->params->get('num_secondary_columns'))==0): ?>
<div class="clr"></div>
<?php endif; ?>
<?php endforeach; ?>
<div class="clr"></div>
</div>
<?php endif; ?>

<?php if(isset($this->links) && count($this->links)): ?>
<div id="itemListLinks">
<h4><?php echo JText::_('K2_MORE'); ?></h4>
<?php foreach($this->links as $key=>$item): ?>

<?php
if( (($key+1)%($this->params->get('num_links_columns'))==0) || count($this->links)<$this->params->get('num_links_columns') )
$lastContainer= ' itemContainerLast';
else
$lastContainer='';
?>

<div class="itemContainer<?php echo $lastContainer; ?>"<?php echo (count($this->links)==1)? '' : ' style="width:'.number_format(100/$this->params->get('num_links_columns'), 1).'%;"'; ?>>
<?php
$this->item=$item;
echo $this->loadTemplate('item_links');
?>
</div>
<?php if(($key+1)%($this->params->get('num_links_columns'))==0): ?>
<div class="clr"></div>
<?php endif; ?>
<?php endforeach; ?>
<div class="clr"></div>
</div>
<?php endif; ?>
<?php endif; ?>
</div>
как не пробовал все равно ошибку выдает.
*

bandanu

  • Захожу иногда
  • 162
  • 3 / 0
Re: Можно ли js и CSS подгружать в header?
« Ответ #9 : 08.12.2012, 19:26:31 »
вставляю этот код и нет синтаксических ошибок
Код
if (JRequest::getCmd('task') == 'search' && $params->get('googleSearch'))
        {
            $language = JFactory::getLanguage();
            $lang = $language->getTag();
            $document->addScript('http://www.google.com/jsapi');
            $js = '
//<![CDATA[
Google.load("search", "1", {"language" : "'.$lang.'"});

function OnLoad(){
var searchControl = new Google.search.SearchControl();
var siteSearch = new Google.search.WebSearch();
siteSearch.setUserDefinedLabel("'.$mainframe->getCfg('sitename').'");
siteSearch.setUserDefinedClassSuffix("k2");
options = new Google.search.SearcherOptions();
options.setExpandMode(google.search.SearchControl.EXPAND_MODE_OPEN);
siteSearch.setSiteRestriction("'.JURI::root().'");
searchControl.addSearcher(siteSearch, options);
searchControl.setResultSetSize(google.search.Search.LARGE_RESULTSET);
searchControl.setLinkTarget(google.search.Search.LINK_TARGET_SELF);
searchControl.draw(document.getElementById("'.$params->get('googleSearchContainer', 'k2Container').'"));
searchControl.execute("'.JRequest::getString('searchword').'");
}

Google.setOnLoadCallback(OnLoad);
//]]>
  ';
            $document->addScriptDeclaration($js);
        }
таким образом подключен поиск в к2, как он должен выглядеть в моем варианте?
Код
<?php
if (JRequest::getCmd('task') == 'search' && $params->get('googleSearch'))
        {   $document->addScript(JURI::root(true).'/templates/stroy/js/accordion.js');
            $document->addStyleSheet(JURI::root(true).'/templates/stroy/css/accordion.css');
           
            $js = '
//<![CDATA[
$(function() {
$( "#accordion" ).accordion();
});
//]]>
  ';
            $document->addScriptDeclaration($js);
        }
  ?>
не знаю как должна выглядеть эта
Цитировать
if (JRequest::getCmd('task') == 'search' && $params->get('googleSearch'))
строчка
*

bandanu

  • Захожу иногда
  • 162
  • 3 / 0
Re: Можно ли js и CSS подгружать в header?
« Ответ #10 : 12.12.2012, 14:36:44 »
Ура!Заработало!Вот в таком виде нет ошибок:
Код
 <?php
$doc = JFactory::getDocument();
$doc->addScript('/templates/stroy/js/accordion.js');
$js = '
//<![CDATA[
jQuery(function() {
jQuery( "#accordion" ).accordion();
});
//]]>
 ';
$doc->addScriptDeclaration($js);
$doc->addStyleSheet('/templates/stroy/css/accordion.css');
?>
Спасибо за помощь  *DRINK*.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

[РЕШЕНО] Как в Joomla 2.5 автоматом удалять пользователей, не активировавшихся?

Автор pH43

Ответов: 2
Просмотров: 4179
Последний ответ 01.06.2020, 17:16:26
от pH43
[Баг - не решено] Копировать пункт в другое меню с тем же алиасом?

Автор ELLE

Ответов: 104
Просмотров: 20613
Последний ответ 14.05.2019, 15:06:50
от voland
JoomShoping решено

Автор igor_kozovyi4

Ответов: 0
Просмотров: 1316
Последний ответ 08.12.2018, 23:06:25
от igor_kozovyi4
Каким плагином можно сделать мультиколоночное мега-меню как на примере?

Автор Adrian1111

Ответов: 7
Просмотров: 1577
Последний ответ 02.08.2017, 10:01:44
от lexxbry
Можно ли удалить эту строку из файла php?

Автор Adrian1111

Ответов: 2
Просмотров: 1409
Последний ответ 24.07.2017, 10:49:09
от Adrian1111