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

serrggeee

  • Осваиваюсь на форуме
  • 16
  • 0 / 0
jdoc:include type="head"
« : 08.10.2015, 13:05:57 »
Здравствуйте у меня в шаблоне есть такой тег <jdoc:include type="head" />, этот тег генерирует javascript на странице в части head. Мне нужно отредактировать этот код, не знаю как сделать, где этот класс определяется я нашел в вайле head.php
Код
class JDocumentRendererHead extends JDocumentRenderer
вот когд где создается js
Код
// Generate script declarations
foreach ($document->_script as $type => $content)
{
$buffer .= $tab . '<script type="' . $type . '">' . $lnEnd;

// This is for full XHTML support.
if ($document->_mime != 'text/html')
{
$buffer .= $tab . $tab . '<![CDATA[' . $lnEnd;
}

$buffer .= $content . $lnEnd;

// See above note
if ($document->_mime != 'text/html')
{
$buffer .= $tab . $tab . ']]>' . $lnEnd;
}
$buffer .= $tab . '</script>' . $lnEnd;
}

как я понимаю все данные лежет в базе судя по вот этому foreach ($document->_script as $type => $content), объясните как эго поменять.
*

Grigory S.

  • Давно я тут
  • 658
  • 70 / 0
  • (с)
Re: jdoc:include type="head"
« Ответ #1 : 08.10.2015, 13:46:31 »
А что именно вам нужно отредактировать?

Сюда попадают всё js, которые подключены через
Код: php
JFactory::getDocument()->addScript('...');
JHtml::_('script', '...');
Не задав правильный вопрос, невозможно получить правильный ответ.
Для "спасибок" существует кнопочка "+".
*

serrggeee

  • Осваиваюсь на форуме
  • 16
  • 0 / 0
Re: jdoc:include type="head"
« Ответ #2 : 08.10.2015, 14:08:37 »
а как я могу его редактировать?
*

Grigory S.

  • Давно я тут
  • 658
  • 70 / 0
  • (с)
Re: jdoc:include type="head"
« Ответ #3 : 08.10.2015, 14:12:53 »
Можно написать плагин, и перед рендером страницы изменять как хотите.
Не задав правильный вопрос, невозможно получить правильный ответ.
Для "спасибок" существует кнопочка "+".
*

serrggeee

  • Осваиваюсь на форуме
  • 16
  • 0 / 0
Re: jdoc:include type="head"
« Ответ #4 : 08.10.2015, 15:01:26 »
вы наверное не поймете, у меня в head есть код js он уже сформирован, вот я хочу его подправить, но не пойму как он формируется, зачем чтото переделывать
*

Grigory S.

  • Давно я тут
  • 658
  • 70 / 0
  • (с)
Re: jdoc:include type="head"
« Ответ #5 : 08.10.2015, 15:04:50 »
Так вы нормально пишите что вы хотите. Смотрите откуда js-ка подключается, и редактируйте.
Не задав правильный вопрос, невозможно получить правильный ответ.
Для "спасибок" существует кнопочка "+".
*

serrggeee

  • Осваиваюсь на форуме
  • 16
  • 0 / 0
Re: jdoc:include type="head"
« Ответ #6 : 08.10.2015, 16:09:43 »
нет там не подключается а формируется прям в техах head
*

Grigory S.

  • Давно я тут
  • 658
  • 70 / 0
  • (с)
Re: jdoc:include type="head"
« Ответ #7 : 08.10.2015, 16:31:12 »
...
А что за код? Joomla, или сторонних расширений?

P.S. Покажите кусок кода, надоело вытягивать с вас информацию, ведь по сути это вам нужно.
Не задав правильный вопрос, невозможно получить правильный ответ.
Для "спасибок" существует кнопочка "+".
*

serrggeee

  • Осваиваюсь на форуме
  • 16
  • 0 / 0
Re: jdoc:include type="head"
« Ответ #8 : 08.10.2015, 16:49:30 »
Код: javascript
<script type="text/javascript">

window.addEvent('domready', function() {

SqueezeBox.initialize({});
SqueezeBox.assign($$('a.modal'), {
parse: 'rel'
});
});
function keepAlive() { var myAjax = new Request({method: "get", url: "index.php"}).send();} window.addEvent("domready", function(){ keepAlive.periodical(840000); });
Calendar._DN = new Array ("Воскресенье", "Понедельник", "Вторник", "Среда", "Четверг", "Пятница", "Суббота", "Воскресенье"); Calendar._SDN = new Array ("Вс", "Пн", "Вт", "Ср", "Чт", "Пт", "Сб", "Вс"); Calendar._FD = 0; Calendar._MN = new Array ("Январь", "Февраль", "Март", "Апрель", "Май", "Июнь", "Июль", "Август", "Сентябрь", "Октябрь", "Ноябрь", "Декабрь"); Calendar._SMN = new Array ("Янв", "Фев", "Март", "Апр", "Май", "Июнь", "Июль", "Авг", "Сен", "Окт", "Нояб", "Дек"); Calendar._TT = {};Calendar._TT["INFO"] = "О календаре"; Calendar._TT["ABOUT"] =
 "DHTML Date/Time Selector\n" +
 "(c) dynarch.com 2002-2005 / Author: Mihai Bazon\n" +
"For latest version visit: http://www.dynarch.com/projects/calendar/\n" +
"Distributed under GNU LGPL.  See http://gnu.org/licenses/lgpl.html for details." +
"\n\n" +
"Выбор даты:\n" +
"- Чтобы выбрать год, используйте кнопками < и > \n" +
"- Чтобы выбрать месяц воспользуйтесь кнопками < и > \n" +
"- Удерживайте кнопку мыши на любой из кнопок, расположенных выше, для быстрого выбора.";
Calendar._TT["ABOUT_TIME"] = "\n\n" +
"Time selection:\n" +
"- Click on any of the time parts to increase it\n" +
"- or Shift-click to decrease it\n" +
"- or click and drag for faster selection.";

Calendar._TT["PREV_YEAR"] = "Нажмите, что бы перейти на предыдущий год. Нажмите и удерживайте для показа списка лет."; Calendar._TT["PREV_MONTH"] = "Нажмите, что бы перейти на предыдущий месяц. Нажмите и удерживайте для показа списка месяцев."; Calendar._TT["GO_TODAY"] = "Текущая дата"; Calendar._TT["NEXT_MONTH"] = "Нажмите, что бы перейти на следующий месяц. Нажмите и удерживайте для показа списка месяцев."; Calendar._TT["NEXT_YEAR"] = "Нажмите, что бы перейти на следующий год. Нажмите и удерживайте для показа списка лет."; Calendar._TT["SEL_DATE"] = "Выбор даты."; Calendar._TT["DRAG_TO_MOVE"] = "Потяните, чтобы переместить"; Calendar._TT["PART_TODAY"] = "Сегодня"; Calendar._TT["DAY_FIRST"] = "Показывать первые %s"; Calendar._TT["WEEKEND"] = "0,6"; Calendar._TT["CLOSE"] = "Закрыть"; Calendar._TT["TODAY"] = "Сегодня"; Calendar._TT["TIME_PART"] = "Shift + клик или перетаскивание мышкой позволит изменить значение."; Calendar._TT["DEF_DATE_FORMAT"] = "%Y-%m-%d"; Calendar._TT["TT_DATE_FORMAT"] = "%a, %b %e"; Calendar._TT["WK"] = "нед."; Calendar._TT["TIME"] = "Время:";
window.addEvent('domready', function() {
$$('.Tips1').each(function(el) {
var title = el.get('title');
if (title) {
var parts = title.split('::', 2);
el.store('tip:title', parts[0]);
el.store('tip:text', parts[1]);
}
});
var JTooltips = new Tips($$('.Tips1'), { maxTitleChars: 50, className: 'djcf_label', fixed: false});
});

jQuery(function(){

plupload.addI18n({
'Select files' : 'Загру
*

Grigory S.

  • Давно я тут
  • 658
  • 70 / 0
  • (с)
Re: jdoc:include type="head"
« Ответ #9 : 08.10.2015, 17:11:04 »
libraries\joomla\html\html\behavior.php
Не задав правильный вопрос, невозможно получить правильный ответ.
Для "спасибок" существует кнопочка "+".
*

serrggeee

  • Осваиваюсь на форуме
  • 16
  • 0 / 0
Re: jdoc:include type="head"
« Ответ #10 : 08.10.2015, 21:10:15 »
да разобраться будет трудновато но как я понимаю эта функия добавляется в конец каждой для ее вызова
protected static function _getJSObject($array = array())
   {
      // Initialise variables.
      $object = '{';

      // Iterate over array to build objects
      foreach ((array) $array as $k => $v)
      {
         if (is_null($v))
         {
            continue;
         }

         if (is_bool($v))
         {
            if ($k === 'fullScreen')
            {
               $object .= 'size: { ';
               $object .= 'x: ';
               $object .= 'window.getSize().x-80';
               $object .= ',';
               $object .= 'y: ';
               $object .= 'window.getSize().y-80';
               $object .= ' }';
               $object .= ',';
            }
            else
            {
               $object .= ' ' . $k . ': ';
               $object .= ($v)? 'true' : 'false';
               $object .= ',';
            }
         }
         elseif (!is_array($v) && !is_object($v))
         {
            $object .= ' ' . $k . ': ';
            $object .= (is_numeric($v) || strpos($v, '\\') === 0)? (is_numeric($v))? $v : substr($v, 1) : "'" . $v . "'";
            $object .= ',';
         }
         else
         {
            $object .= ' ' . $k . ': ' . JHtmlBehavior::_getJSObject($v). ',';
         }
      }
Код: javascript

*

serrggeee

  • Осваиваюсь на форуме
  • 16
  • 0 / 0
Re: jdoc:include type="head"
« Ответ #11 : 08.10.2015, 21:37:13 »
как я понимаю вот этот метод
Код: javascript
public static function uploader()
{
return;
}
а объявляется он здесь что бы была возможность добить к нему то что я написал в предыдущем сообщении?
*

Grigory S.

  • Давно я тут
  • 658
  • 70 / 0
  • (с)
Re: jdoc:include type="head"
« Ответ #12 : 08.10.2015, 22:12:23 »
А что вы вообще хотите сделать?
Не задав правильный вопрос, невозможно получить правильный ответ.
Для "спасибок" существует кнопочка "+".
*

serrggeee

  • Осваиваюсь на форуме
  • 16
  • 0 / 0
Re: jdoc:include type="head"
« Ответ #13 : 08.10.2015, 22:56:28 »
Хочу отредактировать форму и сделать ограничение на загрузку в одну фотографию. Вот нашел функцию которая выводит
эту форму getUploader создал такую же с другим название getUploader1 но в итоге получаю
Код
Fatal error: Call to undefined method DJUploadHelper::getUploader1() in /home/p313923/public_html/agr/components/com_djclassifieds/views/additem/tmpl/default_logo.php on line 56
хотя я ее же определил . вот как осуществляется вызов
Код: php
$this->uploader1 = DJUploadHelper::getUploader1('uploader1', $settings1);
*

kasper9820

  • Захожу иногда
  • 127
  • 4 / 6
  • ...ISponsor!
Re: jdoc:include type="head"
« Ответ #14 : 03.02.2016, 12:41:56 »
Подскажите несколько вопросов. Никак не поборю head

Как в шаблоне ...index.php вывести пути к файлам, которые попадают в head (или как понять от куда они туда попадают)?
Как исключить и хеада скрипты и стили, которые подключаютя из самих модулей, плагинов и т.д. JFactory::getDocument()->addScript('...'); - не всему голова.

Как реализовать это
Код
на событие onbeforecompilehead в котором прописать условие:
$app=JFactory::getApplication();
if ( $app->isAdmin() ) {  ...  }

хочу в результате разложить хеад по полочкам, т.к. при использовании разных к. м. п. глюков немеряно
*

zomby6888

  • Завсегдатай
  • 1473
  • 171 / 3
Re: jdoc:include type="head"
« Ответ #15 : 04.02.2016, 17:50:09 »
Если собираетесь писать плагин читайте мануалы по созданию плагина

https://cmscafe.ru/docs/joomla/developer/plugin-joomla-2-5-joomla-3

В нем вы можете получить массив скриптов, стилей, содержимое буфера модулей, компонента.
Код: php
...
function onBeforeCompileHead ()
{
$app = JFactory::getApplication();
if($app->isAdmin()) {
//бекенд
} else {
//фронтенд
}

$doc = JFactory::getDocument();
var_dump($doc->_scripts);         //массив внешних скриптов, ключами которого являются пути к файлам
var_dump($doc->_script);          //массив inline скриптов
var_dump($doc->_styleSheets); //массив внешних стилей, ключами которого являются пути к файлам
var_dump($doc->_style);        //массив inline стилей

$buffer = $doc->getBuffer();
$component = $buffer['component'];   //содержимое компонента
$modules = $buffer['modules'];           //содержимое модулей
}
...

С содержимым самого шаблона чуть сложнее, так как класс JDocumentHTML хранит содержимое шаблона в защищенном свойстве _template. Тут варианты либо использовать отражения, либо отрендерить файл шаблона самостоятельно, по его пути. Чтобы получить все скрипты которые захардкодили в шаблон, модуль, или компонент придется распарсить их содержимое с помощью регулярных выражений или каким нибудь XML парсером, например моим любимым DOMDocument.
« Последнее редактирование: 04.02.2016, 17:54:17 от zomby6888 »
интернет-блог: http://websiteprog.ru
*

chuga

  • Новичок
  • 6
  • 0 / 0
Re: jdoc:include type="head"
« Ответ #16 : 18.05.2016, 16:48:38 »
Скажите, а как можно переместить  JavaScript и CSS, как рекомендует https://developers.google.com/speed/pagespeed/insights/?hl=ru&url=https%3A%2F%2Fclipso.by%2F&tab=desktop
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Как сделать рабочим {loadposition} или jdoc:include в com_content?

Автор Amigo9876

Ответов: 5
Просмотров: 3087
Последний ответ 31.07.2020, 16:49:37
от tigra-uki
Ошибка 500: - Представление не найдено [name, type, prefix]: annotations, HTML, fgosView

Автор sergeybatmanov

Ответов: 0
Просмотров: 1518
Последний ответ 16.03.2017, 13:48:58
от sergeybatmanov
Как вставить метатег в head не через index.php?

Автор smls

Ответов: 0
Просмотров: 1074
Последний ответ 23.05.2016, 07:53:35
от smls
500 - Обнаружена ошибка. Представление не найдено [name, type, prefix]: cpanel, HTML, cpanelView

Автор Alex_Ivanov

Ответов: 0
Просмотров: 1504
Последний ответ 07.09.2015, 15:01:22
от Alex_Ivanov
Настройка head.php

Автор Artorius

Ответов: 10
Просмотров: 2374
Последний ответ 26.04.2015, 16:29:16
от Artorius