Новости 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

Quantum Manager нужен сообществу, а автору нужна ваша поддержка!

Quantum Manager нужен сообществу, а автору нужна ваша поддержка!Файловый менеджер Quantum — одно...

Файловый менеджер Quantum — одно из самых популярных решений для Joomla, созданное разработчиком из сообщества Joomla, Дмитрием Цымбалом (@tsymbalmitia). Он делает Quantum удобным, безопасным и современным, обновляет его, исправляет уязвимости и отвечает пользователям — всё это в свободное от основной работы время.

Теперь настал момент для следующего шага: развитие проекта требует больше времени и ресурсов.

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

cheroky

  • Осваиваюсь на форуме
  • 38
  • 0 / 2
Как устранить конфликт JS?
« : 31.01.2013, 23:13:48 »
Привет всем, помогите решить проблему поствил на сайт модуль Xpert Captions и вывел через него некоторый контент, и я хочу поставить еше вкладки но уже не для вывода контента а для другйо цели, но когда я подключил скрипт то перестает работать  Xpert Captions ,

что нужно поменять чтоб не было конфликта

вот код который я хочу подключить
Код
<script type="text/javascript">
$(document).ready(function(){

var first = 0;
var speed = 900;
var pause = 4500;

function removeFirst(){
first = $('ul#listticker li:first').html();
$('ul#listticker li:first')
.animate({opacity: 0}, speed)
.fadeOut('slow', function() {$(this).remove();});
addLast(first);
}

function addLast(first){
last = '<li style="display:none">'+first+'</li>';
$('ul#listticker').append(last)
$('ul#listticker li:last')
.animate({opacity: 1}, speed)
.fadeIn('slow')
}

interval = setInterval(removeFirst, pause);
});
</script>

код  Xpert Captions

Код
(function($){

    if(!$.omr){
        $.omr = new Object();
    };
   
    $.XpertCaptions = function(el, options){
   
        var base = this;
       
        // Access to jQuery and DOM versions of element
        base.$el = $(el);
        base.el = el;
       
        // Add a reverse reference to the DOM object
        base.$el.data("XpertCaptions", base);
       
        base.init = function(){
            base.options = $.extend({},$.XpertCaptions.defaultOptions, options);
           
            base.load_box();
        };
       
        // Preload Images
        base.load_box = function(){
        // Hide until window loaded, then fade in
if (base.options.preload){
$(base.options.backdrop, base.el).hide();
$(base.options.overlay, base.el).hide();

$(window).load(function(){
// IE transparency fade fix
if(base.options.options.animation == 'fade' && $(base.options.overlay, base.el).css('opacity') == 0 ) $(base.options.overlay, base.el).css('filter', 'alpha(opacity=0)');

$(base.options.overlay, base.el).fadeIn(200, function(){
$(base.options.backdrop, base.el).fadeIn(200);
});

base.allow_hover();
});
}else{
$(base.options.backdrop, base.el).show();
$(base.options.overlay , base.el).show();
base.allow_hover();
}
        };
       
        // Initialize hover animations
        base.allow_hover = function(){
        // Select animation
switch(base.options.animation){

// Handle fade animations
case 'fade':
$(base.el).hover(function () {
        $(base.options.overlay, base.el).stop().fadeTo(base.options.speed, base.options.opacity);
        },function () {
        $(base.options.overlay, base.el).stop().fadeTo(base.options.speed, 0);
      });
     
    break;
   
    // Handle slide animations
      case 'slide':
      // Grab default overlay x,y position
startX = $(base.options.overlay, base.el).css(base.options.anchor_x)!= 'auto' ? $(base.options.overlay, base.el).css(base.options.anchor_x) : '0px';
startY = $(base.options.overlay, base.el).css(base.options.anchor_y)!= 'auto' ? $(base.options.overlay, base.el).css(base.options.anchor_y) : '0px';;
     
      var hoverState = {};
      hoverState[base.options.anchor_x] = base.options.hover_x;
      hoverState[base.options.anchor_y] = base.options.hover_y;
     
      var endState = {};
      endState[base.options.anchor_x] = startX;
      endState[base.options.anchor_y] = startY;
     
$(base.el).hover(function () {
        $(base.options.overlay, base.el).stop().animate(hoverState, base.options.speed);
        },function () {
        $(base.options.overlay, base.el).stop().animate(endState, base.options.speed);
      });
     
      break;
};
        };
       
        // Make it go!
        base.init();
    };
   
    $.XpertCaptions.defaultOptions = {
        animation : 'fade',
        speed : 150,
        opacity : 1,
        preload : 0,
        anchor_x : 'left',
        anchor_y : 'bottom',
        hover_x : '0px',
        hover_y : '0px',
        overlay  : '.xc-overlay',
backdrop : '.xc-backdrop'
    };
   
    $.fn.xpertcaptions = function(options){
        return this.each(function(){
            (new $.XpertCaptions(this, options));
        });
    };
   
})(jQuery);
*

prometheus

  • Захожу иногда
  • 84
  • 7 / 0
Re: Как устранить конфликт JS?
« Ответ #1 : 01.02.2013, 13:07:21 »
В firebuge или в Chrome в консоли посмотри какие ошибки выдает скрипт.
*

Immortal_pony

  • Захожу иногда
  • 128
  • 7 / 2
Re: Как устранить конфликт JS?
« Ответ #2 : 01.02.2013, 22:11:18 »
http://jquery.page2page.ru/index.php5/Предупреждение_конфликтов
*

cheroky

  • Осваиваюсь на форуме
  • 38
  • 0 / 2
Re: Как устранить конфликт JS?
« Ответ #3 : 02.02.2013, 00:48:09 »
В firebuge или в Chrome в консоли посмотри какие ошибки выдает скрипт.

Код
8 tds.js:36
Uncaught TypeError: Object [object Object] has no method 'xpertcaptions' euro-line.info:61
Unsafe JavaScript attempt to access frame with URL http://googleads.g.doubleclick.net/pagead/html/r20130130/r20121214/zrt_lookup.html from frame with URL http://euro-line.info/#tabs-1. Domains, protocols and ports must match.
 contentscript_siteoverlay_bin.js:87
Unsafe JavaScript attempt to access frame with URL http://googleads.g.doubleclick.net/pagead/ads?client=ca-pub-764019362685470…&bih=775&oid=3&fu=0&ifi=1&dtd=317&xpc=OITgea1dGD&p=http%3A//euro-line.info from frame with URL http://euro-line.info/#tabs-1. Domains, protocols and ports must match.
 contentscript_siteoverlay_bin.js:87
2
Unsafe JavaScript attempt to access frame with URL http://nic.sourdi.com/s/883/441976.html?b=441976&x=1&y=1&s=4&c=djMub2MczgFR…17xlqIwXVVNkTxtugUHcMu9jUE&sh=api2.modelatos.com&ref=&h=luisardo.com&66618 from frame with URL http://euro-line.info/#tabs-1. Domains, protocols and ports must match.
 contentscript_siteoverlay_bin.js:87

вот ошибки, и как их решить:(
*

Immortal_pony

  • Захожу иногда
  • 128
  • 7 / 2
Re: Как устранить конфликт JS?
« Ответ #4 : 02.02.2013, 01:24:53 »
Библиотека jquery конфликтует с библиотекой mootools. Решение по ссылке выше.
*

cheroky

  • Осваиваюсь на форуме
  • 38
  • 0 / 2
Re: Как устранить конфликт JS?
« Ответ #5 : 02.02.2013, 01:35:15 »
Библиотека jquery конфликтует с библиотекой mootools. Решение по ссылке выше.

спс за ссылку буду пробовать свои извилины напрягать и разбираться в той статье:)
*

cheroky

  • Осваиваюсь на форуме
  • 38
  • 0 / 2
Re: Как устранить конфликт JS?
« Ответ #6 : 02.02.2013, 02:07:55 »
Библиотека jquery конфликтует с библиотекой mootools. Решение по ссылке выше.

Мужик спс помог, сделал по той статье и все решилось:)
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Конфликт MooTools и Yandex.share. jQuery.noConflict() не помогает

Автор grover268

Ответов: 0
Просмотров: 1362
Последний ответ 07.04.2016, 10:38:37
от grover268
Конфликт Jquery и Mootools

Автор Bangoo

Ответов: 6
Просмотров: 13284
Последний ответ 04.04.2013, 13:14:51
от mark1