Новости Joomla

Перевод и публикация интервью с Joomla евангелистом на греческом портале Joomla

Перевод и публикация интервью на греческом портале Joomla 🇬🇷

Утро, просматриваешь входящие письма и изучаешь новости и внезапно обнаруживаешь, что инициатива, которую ты начал, подхватывается другими людьми. 🎉

Недавно я взял интервью у Билла (Василиса) Коциаса - руководителя студии, читающего лекции в университете и популяризатора Joomla в Греции. Это интервью из журнала NorrNext, в оригинале на английском, теперь доступно на греческом языке и опубликовано на портале joomla.gr. 🎉

До чего же приятно… 😇😊 Работа замечена и с ней посчитали необходимым ознакомить аудиторию страны, в которой Билл читает лекции. И это солнечная Греция - страна, страна, с которой Россию многое связывает. 🇬🇷🇷🇺🕊

Смотрю на греческий алфавит и тут же рисуются картины белоснежных зданий в окружении винограда и амфор, красивых женщин в сандалиях и мужественных воинов, охраняющих покой полисов, в которых ученые мужи работают над трудами, позже вошедшими в века. Красиво! 😇Но вернемся к интервью.

Из него вы узнаете, что в Греции доля Joomla среди CMS занимает порядка 30-40%. По моему мнению это - самый высокий показатель во всем мире. Также чтение лекций о Joomla в университетах позволит привести новых пользователей и к тому же молодое поколение. Ну и огромное кол-во сертификтатов Билла на стене (смотрим фото в статье) свидетельствует о том, что Joomla может применяться как профессиональный инструмент.

🌐 Оригинальное интервью (на английском)
🇬🇷 Интервью на греческом портале (joomla.gr)

Что насчет перевода на русский? Увы, времени всего 24 часа в сутках. Я продолжаю готовить новые интервью. Возможно, после завершения выпуска журнала, рассмотрю перевод некоторых интервью на русский. Но я об этом не говорил. 😊 В блоге @eugenius_blog публикую анонсы интересных событий из мира Joomla, интервью, уроки и полезные советы, а также делюсь мыслями:, связанными с разработкой и веб-дизайном.

Обработка HTTP ответа в Joomla 6+. Изменения по сравнению с Joomla 3 - Joomla 5

👩‍💻 Обработка HTTP ответа в Joomla 6+. Изменения по сравнению с Joomla 3 - Joomla 5.В Joomla для выполнения внешних запросов из PHP к сторонним API используется класс Joomla\Http\Http напрямую или же Joomla\Http\HttpFactory, который возвращает для работы преднастроенный по умолчанию класс Http. О работе с HTTP-запросами подробно рассказывалось в статье 2021 года Создание внешних запросов с использованием HttpFactory (Joomla). Некоторые изменения касаются работы с ответами на запросы. Например, наш запрос:
use Joomla\Http\HttpFactory;$http = (new HttpFactory)->getHttp($options, ['curl', 'stream']);$response = $http->get('https://any-url.ru/api/any/endpoint');
Раньше можно было получить код ответа или тело ответа как свойство $response - $response->code или $response->body. Однако, Joomla, начиная с Joomla 4 во многом переходит на стандарты PSR. В частности для работы с HTTP-ответами - на PSR-7. Также хорошая статья на Хабре о PSR-7: PSR-7 в примерах.
Прямое обращение к свойствам code, headers, body объявлено устаревшим в Joomla 6.0.0 и обещают удалить в Joomla 7.0.0.
Вместо этого нужно работать с HTTP-ответом по стандартам PSR-7. Код ответа.Было $response->code. Стало $response->getStatusCode().Заголовки ответа.Было $response->headers. Стало $response->getHeaders().Тело ответа.Было $response->body. Стало (string)$response->getContents().В тело ответа теперь приходит не строка, а поток - объект класса Laminas\Diactoros\Stream. Поэтому его нужно привести к строке (если это json, к примеру): (string)$response->getContents(). Чаще всего в коде Joomla встречается именно такой вариант. Однако, есть и вариант с перемещением указателя чтения на начало потока:
// Получили ответ в виде потока$stream = $response->getBody();// "перемотали" на начало$stream->rewind();// Получили строковый ответ$json = $stream->getContents();
В итоге результат одинаковый.@joomlafeed#joomla #разработка #php

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

bubanay

  • Захожу иногда
  • 59
  • 0 / 0
jquery Joomla 3
« : 13.05.2015, 12:35:05 »
Почему-то на Joomla 3, не работают функции jquery(шаблон самописный).
Не могу заставить работать без ошибок простую функцию
Код
$(function(){
      $(".c").click(function (){
      $(".h").slideToggle("slow");
   });
});

Joomla 3, по умолчанию подключается библиотека jquery, с ней функция не работает.

Подключаю библиотеку в шаблон повторно, при вызове функции по клику происходит ошибка

Код
TypeError: $ is not a function
$(".h").slideToggle("slow");

Нашел статейку как не подгружать предустановленные библиотеки
http://blog.pbelkov.net/2012/10/02/joomla-3-0-%D1%83%D0%B1%D0%B8%D1%80%D0%B0%D0%B5%D0%BC-%D0%BD%D0%B5%D0%BD%D1%83%D0%B6%D0%BD%D1%8B%D0%B5-js-%D1%81-%D1%84%D1%80%D0%BE%D0%BD%D1%82%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D0%B9-%D1%87%D0%B0%D1%81/

отключил дефолтную библиотеку jquery:
Код
		
<?php
   $headlink = $this->getHeadData();
   unset($headlink['scripts']['/media/jui/js/jquery.min.js']);
   $this->setHeadData($headlink);
?>

Скрипт заработал, но выскочили ошибки в библиотеках
/media/jui/js/jquery-noconflict.js и
/media/jui/js/jquery-migrate.min.js:

ReferenceError: jQuery is not defined
jQuery.noConflict();

За что отвечают эти библиотеки? Если их закрыть ошибки пропадают и остается последняя ошибка на участок кода который то же подгружается в head автоматически.

Ошибка ReferenceError: jQuery is not defined
Код
  
<script type="text/javascript">
   jQuery(window).on('load',  function() {
   new JCaption('img.caption');
   });
</script>

Вопрос в том как мне заставить работать скрипт без ошибок. Зачем нужны библиотеки jquery-noconflict.js и jquery-migrate.min.js, можно ли их не подгружать?
За что отвечает последний участок кода и где его искать если удалять? Скорее всего это капча к модулю Jcoments.


   
« Последнее редактирование: 13.05.2015, 12:41:41 от bubanay »
*

zomby6888

  • Завсегдатай
  • 1473
  • 171 / 3
Re: jquery Joomla 3
« Ответ #1 : 13.05.2015, 12:52:01 »
Цитировать
отключил дефолтную библиотеку jquery:

Не надо ничего отключать, ваш код должен быть таким:
Код: javascript
(function($){
   $(".c").click(function (){
      $(".h").slideToggle("slow");
   });
})(jQuery);
интернет-блог: http://websiteprog.ru
*

bubanay

  • Захожу иногда
  • 59
  • 0 / 0
Re: jquery Joomla 3
« Ответ #2 : 13.05.2015, 12:55:06 »
напрямую в шаблон не заработало, но сработало когда подключил код в позицию через плагин Sourcerer. А напрямую из шаблона можно заставить работать код? Из редактора Joomla крайне не удобно что-то править.
« Последнее редактирование: 13.05.2015, 13:10:11 от bubanay »
*

umbabaraumba

  • Живу я здесь
  • 2415
  • 153 / 1
  • если помог можете поставить +
Re: jquery Joomla 3
« Ответ #3 : 13.05.2015, 13:39:08 »
$(function(){
      $(".c").click(function (){
      $(".h").slideToggle("slow");
   });
});      
Попробуйте заменить $ на jQuery
Errare humanum est
Ubuntu по-русски
Пишу не сложные модули и компоненты, не дорого но не срочно
*

fsv

  • Живу я здесь
  • 2782
  • 411 / 2
Re: jquery Joomla 3
« Ответ #4 : 13.05.2015, 13:51:12 »
напрямую в шаблон не заработало
не учтено .ready()
попробуйте:
Код: javascript
jQuery(function($) {
  //ваш код
});
Веб-разработка: заказ. Только новая разработка.
*

zomby6888

  • Завсегдатай
  • 1473
  • 171 / 3
Re: jquery Joomla 3
« Ответ #5 : 13.05.2015, 14:18:10 »
fsv, может вы имели ввиду:
Код: javascript
jQuery(document).ready(function($) {
//...
});
интернет-блог: http://websiteprog.ru
*

fsv

  • Живу я здесь
  • 2782
  • 411 / 2
Re: jquery Joomla 3
« Ответ #6 : 13.05.2015, 14:32:59 »
fsv, может вы имели ввиду:
Нет.
Приведенная конструкция совмещает 2 в 1: ноуконфликт + реди.
Веб-разработка: заказ. Только новая разработка.
*

zomby6888

  • Завсегдатай
  • 1473
  • 171 / 3
Re: jquery Joomla 3
« Ответ #7 : 13.05.2015, 14:33:48 »
Нет.
Приведенная конструкция совмещает 2 в 1: ноуконфликт + реди.

Круто, не знал
интернет-блог: http://websiteprog.ru
*

bubanay

  • Захожу иногда
  • 59
  • 0 / 0
Re: jquery Joomla 3
« Ответ #8 : 13.05.2015, 15:27:28 »
jQuery(function($) {...}); работает, спасибо.

Подскажите как работают следующие конструкции(в какой момент подгружаются и можно ли их использовать в head) и какие из них одно и то же, какая более новая. Я думал это одно и то же.
jQuery(function($) {...})
(function($){...})(jQuery);
$(document).ready(function() {...});
$(function(){...});   

На HTML макете у меня прекрасно работае $(function(){...}) на Joomla почему-то не работает
« Последнее редактирование: 13.05.2015, 15:38:24 от bubanay »
*

NesDmitrijj

  • Осваиваюсь на форуме
  • 14
  • 1 / 0
Re: jquery Joomla 3
« Ответ #9 : 13.05.2015, 18:19:45 »
Не буду создавать новую тему и напишу тут.
Где правильнее подключить
Код
JHtml::_('jquery.framework');
?
В index.php сайта - рано, сайт не верно отображает язык контента (в HTML теге head).
В index.php шаблона - поздно, некоторые скрипты не загружаются/отрабатывают (пишет ReferenceError: jQuery is not defined).
Так куда-же мне приткнуть подключение jquery.framework?
*

zomby6888

  • Завсегдатай
  • 1473
  • 171 / 3
Re: jquery Joomla 3
« Ответ #10 : 13.05.2015, 19:16:04 »
bubanay, используйте первый вариант, в большинстве случаев он оптимальный. Варианты 3 и 4 чреваты конфликтами. Вариант 2 больше подходит для написания плагинов.

NesDmitrijj, Подключайте jQuery там где вам необходимо его использовать. Если какие-то скрипты используют jquery не подключив саму библиотеку предварительно это проблема самих скриптов.
интернет-блог: http://websiteprog.ru
*

rsn

  • Давно я тут
  • 520
  • 34 / 3
Re: jquery Joomla 3
« Ответ #11 : 29.08.2015, 13:10:35 »
не учтено .ready()
попробуйте:
Код: javascript
jQuery(function($) {
  //ваш код
});

Большое спасибо! Я до этого везде $ менял на jQuery ))) И тут случайно наткнулся.
Думаю, такое решение должно быть отражено в FAQ по Joomla 2.5+, 3+
Возможно, будет интересно: Интеграция с Ozon
*

b2z

  • Глобальный модератор
  • 7287
  • 778 / 0
  • Разраблю понемногу
Re: jquery Joomla 3
« Ответ #12 : 30.08.2015, 09:08:46 »
Большое спасибо! Я до этого везде $ менял на jQuery ))) И тут случайно наткнулся.
Думаю, такое решение должно быть отражено в FAQ по Joomla 2.5+, 3+
Тут как бы Joomla вообще не причем - знание JS, вот и всё.
*

Омск

  • Захожу иногда
  • 92
  • 0 / 1
Re: jquery Joomla 3
« Ответ #13 : 11.02.2016, 09:47:05 »
Как подключить Jquery в joomla3? Я искал в интернете, но не понял, куда писать код.

Я установил модуль меню на этот сайт, но он не работает, т.к. не подключена эта библиотека.

Пишут, что код надо писать в теге head, но я не нашел нигде этого тега.
*

vipiusss

  • Гуру
  • 5739
  • 344 / 11
  • Скайп: renor_
Re: jquery Joomla 3
« Ответ #14 : 11.02.2016, 10:06:52 »
Я установил модуль меню на этот сайт, но он не работает, т.к. не подключена эта библиотека.

А вы меньше с вареза качайте!
Прикрепил вам качественное меню. Попробуйте.
Миграция, установка, обновление версий Joomla  |  Создание сайтов "под ключ"  |  Эксклюзивные заглушки "offline"  |  Работа с "напильником" над шаблонами и расширениями
*

Омск

  • Захожу иногда
  • 92
  • 0 / 1
Re: jquery Joomla 3
« Ответ #15 : 11.02.2016, 14:05:24 »
Меню ваше поставил на этот сайт, тут тоже анимация никакая не работает, и расположено оно почему-то не в одну строку.
Или я не те настройки поставил?
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
Re: jquery Joomla 3
« Ответ #16 : 11.02.2016, 14:11:54 »
а какую анимацию вы хотите? пользуйтесь стандартным модулем меню, его возможностей более чем достаточно, его внешний вид - это просто стили, его анимация - это ... тоже стили! и нефиг перегружать сайт   скриптами, там jq и так за глаза весит дохрена
*

Омск

  • Захожу иногда
  • 92
  • 0 / 1
Re: jquery Joomla 3
« Ответ #17 : 11.02.2016, 14:37:22 »
Мне поставили задачу сделать меню с анимацией, я сам пока не могу анимацию сделать, вот и ищу модуль.

Анимация нужна как в этом модуле или подобная.
*

FlahsAxel

  • Захожу иногда
  • 210
  • 0 / 0
Re: jquery Joomla 3
« Ответ #18 : 11.07.2017, 01:52:17 »
Доброе время суток!
Joomla 3.x использует jQuery.
Где посмотреть версию jQuery?
Откуда загружает? С ссайта или с google-серверов?

На форуме ответ не нашел.
В установленной Joomla 3.x, нашел только:
\media\jui\js\jquery.js v1.12.4
*

SmokerMan

  • Гуру
  • 5290
  • 720 / 26
Re: jquery Joomla 3
« Ответ #19 : 11.07.2017, 11:38:37 »
Где посмотреть версию jQuery?
Откуда загружает? С ссайта или с google-серверов?
открыть исходный код страницы и посмотреть не судьба?)
*

FlahsAxel

  • Захожу иногда
  • 210
  • 0 / 0
Re: jquery Joomla 3
« Ответ #20 : 11.07.2017, 20:06:13 »
SmokerMan
Пытаюсь понять - нужно подключать jQuery, или он уже встроен?
Чтобы не грузить фреймворк дважды!
*

tati-2000

  • Захожу иногда
  • 308
  • 2 / 0
Re: jquery Joomla 3
« Ответ #21 : 12.07.2017, 00:52:42 »
Спойлер
[свернуть]

Читала, читала, чет так и не поняла как народ решает этот вопрос. Подскажите плз.
*

draff

  • Гуру
  • 5801
  • 434 / 7
  • ищу работу
Re: jquery Joomla 3
« Ответ #22 : 12.07.2017, 04:59:55 »
jQuery Easy в помощь. https://extensions.joomla.org/extension/jquery-easy/
Может быть сложность из-за выбора  версии jQuery , но в 99% мне помогает в устранении конфликта JavaScript .
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Joomla 3 не пускает в админку (просто перезагружается страница) (гуглил, нашёл решение, не помогло)

Автор lifelover2b

Ответов: 11
Просмотров: 4888
Последний ответ 05.06.2025, 04:48:29
от andrey222
По поводу сессий Joomla 3

Автор azm1n

Ответов: 0
Просмотров: 1278
Последний ответ 25.05.2025, 09:26:17
от azm1n
Стоит ли ставить плагин rel="canonical" на Joomla 3

Автор azm1n

Ответов: 2
Просмотров: 1641
Последний ответ 09.05.2025, 12:39:18
от azm1n
Вывести поля профиля Joomla

Автор romagromov

Ответов: 11
Просмотров: 2845
Последний ответ 28.04.2025, 10:25:44
от sivers
Максимальная версия PHP для Joomla 3

Автор Dram

Ответов: 8
Просмотров: 3262
Последний ответ 27.03.2025, 10:40:29
от wishlight