Новости Joomla

Компания JetBrains рассказала о своей поддержке Joomla

Компания JetBrains рассказала о своей поддержке Joomla

JetBrains - один из мировых лидеров в разработке программного обеспечения для разработчиков. Её программные продукты - это IDE - профессиональные среды разработки, которые отличаются от простого блокнота/редактора с плагинами набором всевозможных инструментов для разработчиков, глубоким анализом кодовой базы, подсказками по ней и по языку программирования, отладкой ошибок и многим-многим другим. Одним из самых известных продуктов компании является IDE PHP Storm, который можно назвать отраслевым стандартом PHP-разработчика.

В статье How PhpStorm Helps Maintain PHP Open-Source Projects: Interviews and Real-World Examples в блоге компании описываются Open Source проекты, которым JetBrains оказывает поддержку (это могут быть бесплатные лицензии для разработчиков для некоммерческих проектов).

В список попали:

  • PHPUnit - фреймворк для unit-тестирования в PHP
  • Doctrine DBAL - библиотека для PHP, которая предоставляет лёгкий и гибкий слой для коммуникации с базой данных. Она поддерживает различные базы данных через единый и согласованный API.
  • CodeIgniter — популярный MVC-фреймворк для разработки на PHP
  • Joomla! - наша любимая CMS.

Эти названия (кроме "Joomla") чаще всего не слышат вебмастера и разработчики обычных сайтов и интернет-магазинов. Но эти названия хорошо знакомы PHP-разработчикам, которые создают сложные и высоконагруженные проекты и микросервисы. То, что Joomla оказалась в одном ряду с такими программными инструментами - делает ей честь.

🙏 За ссылку спасибо участнику нашего сообщества Ринату Кажетову (@rkazhet).

Подпишитесь на @joomlafeed

Joomla 6 нуждается в вашей помощи с тестированием.Вышел недавно релиз Joomla 6 alpha1

Joomla 6 нуждается в вашей помощи с тестированием.Вышел недавно релиз Joomla 6 alpha1

👩‍💻 Joomla 6 нуждается в вашей помощи с тестированием.Вышел недавно релиз Joomla 6 alpha1. Это релиз, в который включены уже проверенные изменения, но ещё очень многие исправления и улучшения ждут своей очереди. Joomla следит за качеством и безопасностью своего кода и каждое изменение должно быть успешно протестировано как минимум ещё двумя участниками сообщества. Разработка Joomla ведётся на платформе GitHub.Филипп Уолтон (Philip Walton) - один из разработчиков, кто активно вносит свой вклад в ядро Joomla. Он уже несколько месяцев посвящает свои послеполуденные часы пятницы работе с Joomla и предлагает присоединиться к нему. 📆 Пятница, 30 мая 2025, с 15:00 до 17:00 по UTC (Лондон) - с 18:00 до 20:00 по Москве.В чате Google Meet Филипп готов помочь с тестированием тем, кто будет делать это в первый раз. А так же он подготовил список лёгких Pull Request, которые можно протестировать довольно быстро. Чем больше тестов будет проведено сейчас, тем меньше ошибок вылезет потом. На данный момент 148 (уже 147 на момент написания заметки) PR на GitHub Joomla ждут тестирования.👩‍💻 Open to all. All together.Также вам поможет сделать первые шаги это видео.GitHub JoomlaДа, это вечер пятницы. Но тестирование занимает порой минут 15, а доброе дело сделано. Просто убедитесь, что разработчик чего-то не пропустил и всё работает как ожидается.#joomla #joomla6 #community

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

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
Просмотров: 3655
Последний ответ 01.06.2020, 17:16:26
от pH43
[Баг - не решено] Копировать пункт в другое меню с тем же алиасом?

Автор ELLE

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

Автор igor_kozovyi4

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

Автор Adrian1111

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

Автор Adrian1111

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