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

serjant

  • Осваиваюсь на форуме
  • 25
  • 0 / 0
Необходимо установить на сайт с Joomla 3 счетчики Google Analitycs и Яндекс Метрика. Создал код счетчиков и вставил в файл index.php основного шаблона.
Код
 

<?php
/**
 * @package     Joomla.Site
 * @subpackage  Templates.beez3
 * @copyright   Copyright (C) 2005 - 2013 Open Source Matters, Inc. All rights reserved.
 * @license     GNU General Public License version 2 or later; see LICENSE.txt
 */

// No direct access.
defined('_JEXEC') or die;

JLoader::import('joomla.filesystem.file');


?>

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="<?php echo $this->language; ?>" lang="<?php echo $this->language; ?>" dir="<?php echo $this->direction; ?>" >
<head>
 <!-- jQuery -->
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<link rel="stylesheet" type="text/css" href="/_styles/main.css" >
<link rel="stylesheet" type="text/css" href="/_styles/start/jquery-ui-1.8.9.custom.css" >
<link rel="stylesheet" type="text/css" href="/_styles/fancybox/jquery.fancybox-1.3.4.css" >
 
<script type="text/javascript" src="/_scripts/jquery-1.4.4.min.js"></script>
<script type="text/javascript" src="/_scripts/jquery-ui-1.8.9.custom.min.js"></script>
<script type="text/javascript" src="/_scripts/jcarousellite_1.0.1.js"></script>
<script type="text/javascript" src="/_scripts/common.js"></script>
<script type="text/javascript" src="/_scripts/jquery.fancybox-1.3.4.js"></script>
<script src="<?php echo $this->baseurl ?>/templates/<?php echo $this->template; ?>/js/jquery.featureCarousel.min.js" type="text/javascript" charset="utf-8"></script>
<!-- Slidebars -->



<link href="<?php echo $this->baseurl ?>/templates/<?php echo $this->template; ?>/css/youvaiz.css" rel="stylesheet" type="text/css" />
<link href='http://fonts.googleapis.com/css?family=Open+Sans:400,300,700&subset=latin,cyrillic,cyrillic-ext' rel='stylesheet' type='text/css'>
<link href='http://fonts.googleapis.com/css?family=Roboto:400,300,700&subset=latin,cyrillic-ext' rel='stylesheet' type='text/css'>
<jdoc:include type="head" />
<meta name="viewport" content="width=device-width, initial-scale=1">
  <script type="text/javascript">
      $(document).ready(function() {
        var carousel = $("#carousel").featureCarousel({
          // include options like this:
          // (use quotes only for string values, and no trailing comma after last option)
          // option: value,
          // option: value
        });

        $("#but_prev").click(function () {
          carousel.prev();
        });
        $("#but_pause").click(function () {
          carousel.pause();
        });
        $("#but_start").click(function () {
          carousel.start();
        });
        $("#but_next").click(function () {
          carousel.next();
        });
      });
    </script>

</head>
<body>





<header class="header">
 
 
<div class="auto">

<jdoc:include type="modules" name="menu" />

<div class="cacl">
<a href="/index.php/kalkulyator">Калькулятор</a>
</div>

 
</div>

</header>



<div class="clr"></div>
<div class="auto">
<div class="logo">
<img src="/templates/shop/img/logo.png">
</div>

<div class="number">
8(495)975-74-73<br />
<span>Звоните с 9.00 - 18.00</span>
</div>


</div>

<jdoc:include type="modules" name="slider" />
 
<div class="clr"></div>
 
 
 <jdoc:include type="modules" name="mod1" />
 
 <jdoc:include type="modules" name="mod2" />
 
 <jdoc:include type="modules" name="mod3" />
 
 <jdoc:include type="modules" name="mod4" />
 
 <jdoc:include type="modules" name="mod5" />
 
 <jdoc:include type="modules" name="mod6" />
 
 <jdoc:include type="modules" name="mod7" />
 
 
 
 
 
<div class="auto">

<div class="section clr">
<div class="block_100">
 
<jdoc:include type="modules" name="left" />
 
<jdoc:include type="component" />
 

 

 

</div>

</div>
 </div>
 
 

 <jdoc:include type="modules" name="mod8" />


 <div id="openModal" class="modalDialog">
<div>
<a href="#close" title="Закрыть" class="close">X</a>

  <jdoc:include type="modules" name="feed" />

</div>
</div>

<footer class="footer clr">
<div class="auto">

 <div class="logo">
Окна<br />
<span>Пластиковые</span>
</div>

<div class="number">
+7 (098) 453-675<br />
 

<div class="cacl"><a href="#openModal" class=" " > Заказать звонок</a></div>
</div>

 

</div>
</footer>

 

<!-- Yandex.Metrika counter -->
<script type="text/javascript">
    (function (d, w, c) {
        (w[c] = w[c] || []).push(function() {
            try {
                w.yaCounter31354893 = new Ya.Metrika({
                    id:31354893,
                    clickmap:true,
                    trackLinks:true,
                    accurateTrackBounce:true
                });
            } catch(e) { }
        });

        var n = d.getElementsByTagName("script")[0],
            s = d.createElement("script"),
            f = function () { n.parentNode.insertBefore(s, n); };
        s.type = "text/javascript";
        s.async = true;
        s.src = "https://mc.yandex.ru/metrika/watch.js";

        if (w.opera == "[object Opera]") {
            d.addEventListener("DOMContentLoaded", f, false);
        } else { f(); }
    })(document, window, "yandex_metrika_callbacks");
</script>
<noscript><div><img src="https://mc.yandex.ru/watch/31354893" style="position:absolute; left:-9999px;" alt="" /></div></noscript>
<!-- /Yandex.Metrika counter -->
<script>
  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');

  ga('create', 'UA-64973049-3', 'auto');
  ga('send', 'pageview');
  ga(‘set’, ‘&uid’, {{USER_ID}});

</script>

</script>
 
</body>
</html>
Яндекс метрика работает, а  Google Analitycs почему то не работает.
*

b2z

  • Глобальный модератор
  • 7287
  • 778 / 0
  • Разраблю понемногу
*

darkghost

  • Живу я здесь
  • 2212
  • 97 / 0
Re: Google Analitycs и Яндекс Метрика
« Ответ #2 : 10.07.2015, 13:31:40 »
google-analytics ---- если я не ошибаюсь размещается перед </head> или я не о том скрипте?
*

Apoca1ypto

  • Давно я тут
  • 749
  • 71 / 0
Re: Google Analitycs и Яндекс Метрика
« Ответ #3 : 10.07.2015, 13:35:47 »
Вот только не ясно, зачем ставить два сервиса которые делают в принципе одно и тоже? ))
Во время спора в Интернете Ваш оппонент приводит неопровержимые доказательства своей точки зрения? Не отчаивайтесь. До...тесь до орфографии.
*

serjant

  • Осваиваюсь на форуме
  • 25
  • 0 / 0
Re: Google Analitycs и Яндекс Метрика
« Ответ #4 : 10.07.2015, 17:42:26 »
Сейчас попробую перед </head> скрипт разместить.
Google Analytics у меня не работает ни на одном сайте из трех. Может я что то не включил настройках самого Google Analytics?
*

cex263

  • Осваиваюсь на форуме
  • 41
  • 3 / 0
Re: Google Analitycs и Яндекс Метрика
« Ответ #5 : 11.07.2015, 00:20:05 »
Они же сами просят размещать свой скрипт перед закрывающим </body>
Зачем он в head нужен?

Про точность измерений можете не писать, всё это лабуда.
Он и так успеет сработать, перед </body>
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Вставка Яндекс captcha

Автор Kadadzher

Ответов: 0
Просмотров: 202
Последний ответ 16.10.2025, 11:19:32
от Kadadzher
Почему в Phoca Guestbook не защищает Google Captcha?

Автор Mick_20

Ответов: 2
Просмотров: 1273
Последний ответ 24.03.2025, 20:37:10
от R31rus
Множество несуществующих ссылок при обходе сайта роботом Яндекс

Автор goga_pgasovav

Ответов: 7
Просмотров: 1432
Последний ответ 10.12.2024, 18:44:25
от goga_pgasovav
Google Переводчик не переводит сайт

Автор Aqua

Ответов: 1
Просмотров: 1337
Последний ответ 04.03.2024, 12:50:00
от kovAlexandr78
Проблема вебвизором в Яндекс метрике при использовании плагина jch optimize

Автор polezniy

Ответов: 32
Просмотров: 5026
Последний ответ 01.03.2024, 10:26:31
от Vastriet