Новости Joomla

Вышли релизы Joomla 6.1 и Joomla 5.4.5: новые возможности и стабильность

Релиз Joomla 6.1.0

Проект Joomla! объявил о доступности Joomla 6.1 [Nyota] — новой минорной версии шестой серии, а также о выпуске релиза исправлений ошибок Joomla 5.4.5. Релиз 6.1 приносит ряд долгожданных функций, повышающих удобство управления контентом и защиту от спама.

👩‍💻 Компонент "CS Афиши" для Joomla.

👩‍💻 Компонент "CS Афиши" для Joomla.

Расширение "CS Афиши" позволяет выводить список мероприятий, фильтровать их по датам, поиск по заголовкам и описанию.

В состав пакета расширений входят:
- Компонент "CS Афиши"
- Модуль "Календарь событий"
- Модуль "Предстоящие события"
- Библиотека "ImgResize"

Расширение "CS Афиши" позволяет выводить список мероприятий, фильтровать их по датам, поиск по заголовкам и описанию.

Модуль "Календарь событий" отображает предстоящие и прошедшие мероприятие на календаре, с отображением мероприятий на конкретную дату во всплывающем окне.

Модуль "Предстоящие события" показывает список предстоящий событий по порядку их наступления.

P.S. Расширение платное, но плата символическая, чисто для отработки приема платежей. Ключи без ограничения по времени, купившие сейчас - смогут обновляться без ограничений.

Разработчик - участник нашего сообщества Дмитрий Денисов (@codersite).

Страница расширения
Демо

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

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

Автор ELLE

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

Автор igor_kozovyi4

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

Автор Adrian1111

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

Автор Adrian1111

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