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

Efrik

  • Осваиваюсь на форуме
  • 26
  • 0 / 0
Пытаюсь создать альтернативный макет для модуля Tz Our team на на Joomla 3.4.1.
Создаю в папке HTML шаблона папку mod_tz_ourteam, в нее копирую файл default.php из папки modules/mod_tz_ourteam/tmpl/ а также создаю копию фала default.php под названием mystyle.php
Но в настройках модуля во вкладке дополнительные параметры при выборе альтернативного макета видно только default (из модуля).
Подскажите, что я делаю не так?
« Последнее редактирование: 21.09.2015, 22:44:19 от b2z »
*

fbr

  • Завсегдатай
  • 1681
  • 210 / 7
Все так делаете.
Возможно в модуле не предусмотрено создание альтернативных макетов
Посмотрите в файле модуля mod_tz_ourteam.php,
вероятно там жестко прописан вывод default
*

Efrik

  • Осваиваюсь на форуме
  • 26
  • 0 / 0
Не особо в этом силен, но упоминаний файла default не вижу
Вот код файла mod_tz_ourteam.php
Код
<?php
/*------------------------------------------------------------------------

# TZ Extension

# ------------------------------------------------------------------------

# author    DuongTVTemPlaza

# copyright Copyright (C) 2012 templaza.com. All Rights Reserved.

# @license - http://www.gnu.org/licenses/gpl-2.0.html GNU/GPL

# Websites: http://www.templaza.com

# Technical Support:  Forum - http://templaza.com/Forum

-------------------------------------------------------------------------*/

defined('_JEXEC') or die();

require_once dirname(__FILE__).'/helper.php';

$list            = modTzOurteamHelper::getList($params);
$moduleclass_sfx = htmlspecialchars($params->get('moduleclass_sfx'));

require JModuleHelper::getLayoutPath('mod_tz_ourteam',$params -> get('layout','owl-carousel'));
*

Efrik

  • Осваиваюсь на форуме
  • 26
  • 0 / 0
А вот код файла mod_tz_ourteam.xml может в нем проблема?
Код
<?xml version="1.0" encoding="utf-8"?>
<extension type="module" version="3.0" client="site" method="upgrade">
    <name>mod_tz_ourteam</name>
    <author>ThuongNVTemplaza</author>
    <creationDate>November 10th 2014</creationDate>
    <authorEmail>support@templaza.com</authorEmail>
    <authorUrl>www.templaza.com</authorUrl>
    <description>MOD_TZ_OURTEAM_XML_DESCRIPTION</description>
    <files>
        <filename module="mod_tz_ourteam">mod_tz_ourteam.php</filename>
        <filename>helper.php</filename>
        <filename>index.html</filename>
        <folder>admin</folder>
        <folder>languages</folder>
        <folder>tmpl</folder>
    </files>
    <languages folder="languages">
        <language tag="en-GB">en-GB/en-GB.mod_tz_ourteam.ini</language>
        <language tag="en-GB">en-GB/en-GB.mod_tz_ourteam.sys.ini</language>
    </languages>
    <config>
        <fields name="params">
            <fieldset name="basic"
                      addfieldpath="/modules/mod_tz_ourteam/admin/formfields">
                <field name="title_m" label="MOD_TZ_SERVICES_CUSTOM_TITLE_LABEL" filter="safehtml" type="textarea"/>
                <field name="desc" label="MOD_TZ_DESC_LABEL" type="textarea"/>
                <field name="big_title" type="radio" label="MOD_TZ_BIG_TITLE_LABEL" default="0" class="btn-group">
                    <option value="0">JNO</option>
                    <option value="1">JYES</option>
                </field>
                <field name="column_width" type="list"
                       default="4" label="MOD_TZ_SERVICES_COLUMN_WIDTH_LABEL">
                    <option value="1">MOD_TZ_SERVICES_SPAN1</option>
                    <option value="2">MOD_TZ_SERVICES_SPAN2</option>
                    <option value="3">MOD_TZ_SERVICES_SPAN3</option>
                    <option value="4">MOD_TZ_SERVICES_SPAN4</option>
                    <option value="5">MOD_TZ_SERVICES_SPAN5</option>
                    <option value="6">MOD_TZ_SERVICES_SPAN6</option>
                    <option value="7">MOD_TZ_SERVICES_SPAN7</option>
                    <option value="8">MOD_TZ_SERVICES_SPAN8</option>
                    <option value="9">MOD_TZ_SERVICES_SPAN9</option>
                    <option value="10">MOD_TZ_SERVICES_SPAN10</option>
                    <option value="11">MOD_TZ_SERVICES_SPAN11</option>
                    <option value="12">MOD_TZ_SERVICES_SPAN12</option>
                </field>
                <field name="cus_class" type="text" label="MOD_TZ_CUSTOM_CLASS_CONTENT_LABEL"/>
                <field type="tzourteam" name="services" label="MOD_TZ_SERVICES_INFORMATION_LABEL">
                    <tzfield type="text" name="title"
                             label="MOD_TZ_SERVICES_CUSTOM_NAME_LABEL"/>
                    <tzfield type="text" name="link" default="#"
                             label="MOD_TZ_SERVICES_CUSTOM_LINK_LABEL"/>
                    <tzfield type="media" name="avatar" label="MOD_TZ_SERVICES_AVATAR_LABEL"/>
                    <tzfield type="text" name="job"
                             label="MOD_TZ_SERVICES_CUSTOM_JOB_LABEL"/>
                    <tzfield type="textarea" name="content"
                         label="MOD_TZ_SERVICES_CONTENT_LABEL"/>

                    <tzfield type="text" name="icon_sc1" default="fa fa-facebook"
                             label="MOD_TZ_SERVICES_CUSTOM_ICON_CS1_LABEL"/>
                    <tzfield type="text" name="title_sc1" default="Follow on Facebook"
                             label="MOD_TZ_SERVICES_CUSTOM_TITLE_CS1_LABEL"/>
                    <tzfield type="text" name="link_sc1"
                             label="MOD_TZ_SERVICES_CUSTOM_LINK_SC1_LABEL"/>

                    <tzfield type="text" name="icon_sc2" default="fa fa-google-plus"
                             label="MOD_TZ_SERVICES_CUSTOM_ICON_CS2_LABEL"/>
                    <tzfield type="text" name="title_sc2" default="Follow on Google Plus"
                             label="MOD_TZ_SERVICES_CUSTOM_TITLE_CS2_LABEL"/>
                    <tzfield type="text" name="link_sc2"
                             label="MOD_TZ_SERVICES_CUSTOM_LINK_SC2_LABEL"/>

                    <tzfield type="text" name="icon_sc3" default="fa fa-twitter"
                             label="MOD_TZ_SERVICES_CUSTOM_ICON_CS3_LABEL"/>
                    <tzfield type="text" name="title_sc3" default="Follow on Twitter"
                             label="MOD_TZ_SERVICES_CUSTOM_TITLE_CS3_LABEL"/>
                    <tzfield type="text" name="link_sc3"
                             label="MOD_TZ_SERVICES_CUSTOM_LINK_SC3_LABEL"/>

                    <tzfield type="text" name="icon_sc4"
                             label="MOD_TZ_SERVICES_CUSTOM_ICON_CS4_LABEL"/>
                    <tzfield type="text" name="title_sc4" default="fa fa-facebook"
                             label="MOD_TZ_SERVICES_CUSTOM_TITLE_CS4_LABEL"/>
                    <tzfield type="text" name="link_sc4"
                             label="MOD_TZ_SERVICES_CUSTOM_LINK_SC4_LABEL"/>

                    <tzfield type="text" name="icon_sc5"
                             label="MOD_TZ_SERVICES_CUSTOM_ICON_CS5_LABEL"/>
                    <tzfield type="text" name="title_sc5" default="fa fa-facebook"
                             label="MOD_TZ_SERVICES_CUSTOM_TITLE_CS5_LABEL"/>
                    <tzfield type="text" name="link_sc5"
                             label="MOD_TZ_SERVICES_CUSTOM_LINK_SC5_LABEL"/>
                </field>
            </fieldset>

            <fieldset name="advanced">
                <field name="layout"
                       type="modulelayout"
                       label="JFIELD_ALT_LAYOUT_LABEL"
                       description="JFIELD_ALT_MODULE_LAYOUT_DESC"/>

                <field name="moduleclass_sfx"
                       type="textarea"
                       rows="3"
                       label="COM_MODULES_FIELD_MODULECLASS_SFX_LABEL"
                       description="COM_MODULES_FIELD_MODULECLASS_SFX_DESC"/>

                <field name="cache"
                       type="list"
                       default="1"
                       label="COM_MODULES_FIELD_CACHING_LABEL"
                       description="COM_MODULES_FIELD_CACHING_DESC">
                    <option value="1">JGLOBAL_USE_GLOBAL</option>
                    <option value="0">COM_MODULES_FIELD_VALUE_NOCACHING</option>
                </field>

                <field name="cache_time"
                       type="text"
                       default="900"
                       label="COM_MODULES_FIELD_CACHE_TIME_LABEL"
                       description="COM_MODULES_FIELD_CACHE_TIME_DESC"/>
                <field name="cachemode"
                       type="hidden"
                       default="static">
                    <option value="static"></option>
                </field>
            </fieldset>
        </fields>
    </config>
</extension>
*

b2z

  • Глобальный модератор
  • 7287
  • 778 / 0
  • Разраблю понемногу
По коду видно, что поддержка алтернаивного макета есть. А если просто положить файлик mystyle.php в папку /tmpl модуля - появится в настройках?
*

Efrik

  • Осваиваюсь на форуме
  • 26
  • 0 / 0
По коду видно, что поддержка алтернаивного макета есть. А если просто положить файлик mystyle.php в папку /tmpl модуля - появится в настройках?
Нет, кроме того пробовал править код файла default.php в папке \modules\mod_tz_ourteam\tmpl изменений не происходит. Теперь совсем не пойму
*

fbr

  • Завсегдатай
  • 1681
  • 210 / 7
Из кода:

Код: php
require JModuleHelper::getLayoutPath('mod_tz_ourteam',$params -> get('layout','owl-carousel'));

видно, что по умолчанию подгружает какой-то файл owl-carousel.php
где он лежит?
*

Efrik

  • Осваиваюсь на форуме
  • 26
  • 0 / 0
owl-carousel.php лежит в папке /modules/mod_tz_carousel/tmpl/
Но думаю проблема в другом: В параметрах шаблона Tz_jollyness_joomla во вкладке "Редактор" есть два файла
  • /html/mod_tz_ourteam/default.php
  • /html/mod_tz_ourteam/default-20150921-181059.php
хотя по факту на серваке нет даже папки /html/mod_tz_ourteam/
Как такое может быть?
*

Efrik

  • Осваиваюсь на форуме
  • 26
  • 0 / 0
Разобрался, оказывается на сервере и правда существуют эти файлы. Почему то total comander по FTP не видит их. Через файловый менеджер хостинга всё получилось. Спасибо за помощи. Не знаете случайно почему я их не вижу через total comander ?
*

SmokerMan

  • Гуру
  • 5290
  • 720 / 26
потому что видимо стоит обновить содержимое папки ctrl+r
или не там смотрите
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

При создании новой категории (без родительской) создается, но не видна - 404

Автор Janitor

Ответов: 0
Просмотров: 854
Последний ответ 02.07.2023, 10:46:59
от Janitor
Call to a member function NewColorizeImage() on null при переходе PHP 7 [Решено]

Автор Eholov

Ответов: 3
Просмотров: 3501
Последний ответ 17.03.2023, 11:03:04
от Olexa
Ошибка после установки модуля 500

Автор Evgen Kulibin

Ответов: 5
Просмотров: 3709
Последний ответ 20.11.2021, 17:01:10
от Any_Color
Отключить кэширование для страницы или модуля

Автор velyar

Ответов: 8
Просмотров: 2045
Последний ответ 20.11.2021, 16:47:58
от Byzi
После обновления Joomla до версии 3.9.23 проблема сохранения материала (Решено)

Автор yarek

Ответов: 6
Просмотров: 1847
Последний ответ 23.01.2021, 20:42:45
от wishlight