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

phvsfpgs

  • Захожу иногда
  • 215
  • 8 / 0
  • В погоне за обновлением Joomla и новым проблемам
Кнопка для скачивания
« : 19.08.2018, 20:24:53 »
Тема наверно глобальная, подскажите пожалуйста, существует ли плагин для создания кнопки в которой можно установить таймер и изображение кнопки? Чтоб в панели инструментов появилась функция установить кнопку с ссылкой. (Для разработчиков неплохая идея).

И как это можно реализовать в материале?

Пример:



Пример:

*

NewUsers

  • Живу я здесь
  • 2310
  • 216 / 0
  • +375 (25) 627-16-99 (WhatsApp, Telegram)
Re: Кнопка для скачивания
« Ответ #1 : 19.08.2018, 20:40:34 »
Так что бы в панель управления была кнопка, на прямую не так просто вывести (только костылями), но если надо в содержимом материала, то это уже куда легче...
Хотя на странице подробностей материала есть также события перед и после основного содержимого материала, туда то и можно выводить.
Занимаюсь создание расширений для Joomla 4.2.x | Доработка и настройка сайтов. Занимаюсь создание Интернет магазинов с нуля на собственном компоненте + оптимизация загрузки страницы (после предоставляю техподдержку).
*

phvsfpgs

  • Захожу иногда
  • 215
  • 8 / 0
  • В погоне за обновлением Joomla и новым проблемам
Re: Кнопка для скачивания
« Ответ #2 : 19.08.2018, 21:12:18 »
Проблема в том, что нужно задержать гостей на 30-60 сек, прежде чем они начнут скачивать. А зарегистрированным будет прямая ссылка без времени.
*

phvsfpgs

  • Захожу иногда
  • 215
  • 8 / 0
  • В погоне за обновлением Joomla и новым проблемам
Re: Кнопка для скачивания
« Ответ #3 : 20.08.2018, 04:49:05 »
Это сделано, каким то скриптом который вставляется в материал, при нажатии на кнопку идёт время и появляется ссылка, как можно это осуществить, чтоб не вставлять постоянно этот код, ну и опять же разделить гость и зарегистрированый? Ну или приблизить косметически как выше на скриншоте.

Код
<html>
 
<head></head>
 
<body>
    <div>
        <span style="color: #000; font-size: 100%; font-weight: bold;"></span>
        <input id="btn1" class='btn' type="button" value="Click" onclick="startTimer()" seconds="10" />
    </div>
    <div>
        <span style="color: #000; font-size: 100%; font-weight: bold;"></span>
        <input id="btn2" class='btn' type="button" value="Click" onclick="startTimer()" seconds="12" />
    </div>
    <script>
 
 
    Date.prototype.addSeconds = function(h) {
        this.setTime(this.getTime() + (h * 1000));
        return this;
    };
 
 
    Number.prototype.zpad = function() {
        return this.toString().length == 1 ? '0' + this : this.toString();
    };
 
 
    function calc_timer(secs) {
        var timer_obj = new Date().addSeconds(secs);
        var sec_diff = (timer_obj - new Date()) / 1000;
        var h = Math.floor(sec_diff / 3600);
        var m = Math.floor((sec_diff - h * 3600) / 60);
        var s = Math.round(sec_diff - h * 3600 - m * 60);
 
        return [h, m, s];
    }
 
 
    function set_text(e, h, m, s) {
        e.innerHTML = h.zpad() + ":" + m.zpad() + ":" + s.zpad();
    }
 
 
    for (var e of document.getElementsByClassName('btn')) {
        var [hours, minutes, seconds] = calc_timer(Number(e.getAttribute("seconds")));
        set_text(e.previousElementSibling, hours, minutes, seconds);
 
        e.onclick = function() {
            startTimer(this.previousElementSibling, hours, minutes, seconds);
        }
    }
 
 
    function startTimer(e, h = hours, m = minutes, s = seconds) {
 
        if (s == 0) {
            if (m == 0) {
                if (h == 0) {
                    e.nextElementSibling.style.display = "none";
                    e.innerHTML = '<a href="http://programm.ho.ua/feedback.php">link</a>';
                    return;
                }
                h--;
                m = 1;
            }
            m--;
            s = 59;
        } else s--;
 
        set_text(e, h, m, s);
        setTimeout(function() {
            startTimer(e, h, m, s);
        }, 1000);
    }
    </script>
</body>
 
</html>
*

rkron

  • Захожу иногда
  • 316
  • 7 / 0
Re: Кнопка для скачивания
« Ответ #4 : 20.08.2018, 07:04:17 »
Это сделано, каким то скриптом который вставляется в материал, при нажатии на кнопку идёт время и появляется ссылка, как можно это осуществить, чтоб не вставлять постоянно этот код, ну и опять же разделить гость и зарегистрированый? Ну или приблизить косметически как выше на скриншоте.

Код
<html>
 
<head></head>
 
<body>
    <div>
        <span style="color: #000; font-size: 100%; font-weight: bold;"></span>
        <input id="btn1" class='btn' type="button" value="Click" onclick="startTimer()" seconds="10" />
    </div>
    <div>
        <span style="color: #000; font-size: 100%; font-weight: bold;"></span>
        <input id="btn2" class='btn' type="button" value="Click" onclick="startTimer()" seconds="12" />
    </div>
    <script>
 
 
    Date.prototype.addSeconds = function(h) {
        this.setTime(this.getTime() + (h * 1000));
        return this;
    };
 
 
    Number.prototype.zpad = function() {
        return this.toString().length == 1 ? '0' + this : this.toString();
    };
 
 
    function calc_timer(secs) {
        var timer_obj = new Date().addSeconds(secs);
        var sec_diff = (timer_obj - new Date()) / 1000;
        var h = Math.floor(sec_diff / 3600);
        var m = Math.floor((sec_diff - h * 3600) / 60);
        var s = Math.round(sec_diff - h * 3600 - m * 60);
 
        return [h, m, s];
    }
 
 
    function set_text(e, h, m, s) {
        e.innerHTML = h.zpad() + ":" + m.zpad() + ":" + s.zpad();
    }
 
 
    for (var e of document.getElementsByClassName('btn')) {
        var [hours, minutes, seconds] = calc_timer(Number(e.getAttribute("seconds")));
        set_text(e.previousElementSibling, hours, minutes, seconds);
 
        e.onclick = function() {
            startTimer(this.previousElementSibling, hours, minutes, seconds);
        }
    }
 
 
    function startTimer(e, h = hours, m = minutes, s = seconds) {
 
        if (s == 0) {
            if (m == 0) {
                if (h == 0) {
                    e.nextElementSibling.style.display = "none";
                    e.innerHTML = '<a href="http://programm.ho.ua/feedback.php">link</a>';
                    return;
                }
                h--;
                m = 1;
            }
            m--;
            s = 59;
        } else s--;
 
        set_text(e, h, m, s);
        setTimeout(function() {
            startTimer(e, h, m, s);
        }, 1000);
    }
    </script>
</body>
 
</html>

Это делается плагином
*

phvsfpgs

  • Захожу иногда
  • 215
  • 8 / 0
  • В погоне за обновлением Joomla и новым проблемам
Re: Кнопка для скачивания
« Ответ #5 : 20.08.2018, 07:55:54 »
Найти бы этот плагин
*

rkron

  • Захожу иногда
  • 316
  • 7 / 0
Re: Кнопка для скачивания
« Ответ #6 : 20.08.2018, 10:40:57 »
Найти бы этот плагин
Можно написать
*

phvsfpgs

  • Захожу иногда
  • 215
  • 8 / 0
  • В погоне за обновлением Joomla и новым проблемам
Re: Кнопка для скачивания
« Ответ #7 : 20.08.2018, 18:32:48 »
Можно написать

Он уже написан добрым человеком beliyadm, вот только как его сделать в плагин или модуль, я не знаю. Вот его работа: Кнопка для скачивания

Как эту систему вставлять в материал, с разными ссылками? И разделить гостей от зарегистрированых.
*

rkron

  • Захожу иногда
  • 316
  • 7 / 0
Re: Кнопка для скачивания
« Ответ #8 : 20.08.2018, 18:49:59 »
Он уже написан добрым человеком beliyadm, вот только как его сделать в плагин или модуль, я не знаю. Вот его работа: Кнопка для скачивания

Как эту систему вставлять в материал, с разными ссылками? И разделить гостей от зарегистрированых.
Этого мало. Нужна кнопка вставки ссылки в редактор и сам плагин с проверкой пользователей и выводом ссылки. Кнопку я уже наваял, плагин я думаю, завтра допишу 
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Менеджер шаблонов: не работают кнопка "Сохранить" "Закрыть" и тд

Автор darkghost

Ответов: 2
Просмотров: 818
Последний ответ 22.11.2021, 21:14:11
от darkghost
Кнопка читать далее + свой текст

Автор robotwerder

Ответов: 4
Просмотров: 965
Последний ответ 16.02.2021, 13:21:08
от robotwerder
Как добавить документ pdf c возможностью скачивания на главную страницу сайта?

Автор Yulya_ivanova

Ответов: 1
Просмотров: 584
Последний ответ 28.12.2020, 11:11:05
от Yulya_ivanova
Исчезает кнопка с dropdown в Uikit

Автор pvi1

Ответов: 13
Просмотров: 2183
Последний ответ 19.11.2020, 11:10:28
от kremisa
Кнопка заказать

Автор Haren

Ответов: 2
Просмотров: 810
Последний ответ 18.02.2019, 10:57:01
от wishlight