Новости Joomla

Astroid обновился до версии 3.3.7!

Astroid обновился до версии 3.3.7!

Astroid — это мощный фреймворк для дизайнеров и разработчиков, позволяющий создавать адаптивные, быстрые и надежные веб-сайты и шаблоны на базе Joomla.

Главное в новой версии:

-   Исправлена загрузка файлов макетов

В предыдущем крупном релизе Astroid 3.3.6 были сделаны важные улучшения:

Основные моменты:

  • Улучшенный UI/UX в ключевых областях конфигурации
  • Повышенная стабильность и согласованность в Layout Builder и Form Builder
  • Исправления ошибок на основе отзывов сообщества
  • Улучшенная обработка визуальных эффектов, границ и шрифтов

Улучшения:

  • Обновленный UX Layout Builder
  • Улучшенный эффект предзагрузчика
  • Улучшенный стиль границ
  • Улучшенный UI/UX вкладки «Layout» в Template Options

Исправления ошибок:

  • Решены проблемы с некорректными динамическими значениями
  • Исправлен Color Transform при прокрутке
  • Устранены проблемы с работой Form Builder в Article Layout и Module Layout Builder
  • Исправлена проблема с созданием ненужных временных файлов при обработке шрифтов

Скачать: https://github.com/templaza/astroid-framework/releases/tag/v3.3.7

Как тестировать 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

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

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