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

Gecko

  • Новичок
  • 7
  • 0 / 0
Здравствуйте.

Уважаемые форумчане, подскажите пожалуйста, где находится файл главной страницы, HTML

Нашел такой код в файле Index.php в папке шаблона. Наверное это он генерит код страницы:
Код
<?php

/**
 *
 * Main file
 *
 * @version             3.0.0
 * @package             Gavern Framework
 * @copyright Copyright (C) 2010 - 2012 GavickPro. All rights reserved.
 *              
 */
 
// No direct access.
defined('_JEXEC') or die;

// ------------ Start Canonical-Mod
$document = JFactory::getDocument();
$mainmenu =& JSite::getMenu();
if($mainmenu->getActive() == $mainmenu->getDefault()) :
$livesite = substr_replace(JURI::root(), '', -1, 1);
$docpagenr = '';
$docstart = JRequest::getInt('start',0);
if($docstart>0) :
// if start=10..., uncomment-
//$docpagenr = '?start='.$docstart;
endif;
//$docroute = JRoute::_('index.php?Itemid='.$mainmenu->getDefault()->id);
// if http://site.com/home.html
$docroute = '/';
$document->addHeadLink( $livesite . $docroute . $docpagenr, 'canonical', 'rel', '' );
endif;
// ------------ End Canonical-Mod

// enable showing errors in PHP
ini_set('error_reporting', E_ALL & ~E_NOTICE & ~E_WARNING & ~E_STRICT);
ini_set('display_errors','On');
// include framework classes and files
require_once('lib/gk.framework.php');
require_once('lib/framework/gk.const.php');
// run the framework
$tpl = new GKTemplate($this, $GK_TEMPLATE_MODULE_STYLES);

// EOF

А вот как вручную его редактировать?
Подскажите пожалуйста.
*

Maxum

  • Давно я тут
  • 689
  • 32 / 1
Re: Отредактировать код страниц
« Ответ #1 : 08.02.2014, 12:51:30 »
Главного html-файла нет, страницы генерируются "налету" из картинок, css-файлов, скриптов, из материалов и модулей, которые Вы создали и привязали к этой странице и пр.
Есть некая "матрица", в которой расписано расположение модулей, места вывода тех или иных элементов страницы - часто это index.php шаблона.

У Вас за шаблон отвечает фреймоврк, эдакий конструктор. У фреймворков отличается структура папок и файлов. К примеру, может быть файл index.php, в котором указан только список подключаемых файлов, как в Вашем случае. А сами эти файлы уже отвечают за вид элементов на странице: header.php - за вид шапки, верхней части страницы, footer.php - за вид подвала, нижней части страницы и т.д.

У Вас фреймворк GK (Gavick). Попробуйте поискать в сети информацию о его структуре. Например, файл, отвечающий за вид шапки сайта, находится здесь: шаблон/layouts/blocks/head.php
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Как отредактировать название сайта

Автор LES25

Ответов: 0
Просмотров: 1106
Последний ответ 13.12.2019, 20:36:35
от LES25
дубли страниц

Автор abonnent

Ответов: 3
Просмотров: 1209
Последний ответ 12.10.2017, 14:15:13
от SeBun
Удаление дублей страниц и связанные с этим проблемы

Автор Deska

Ответов: 1
Просмотров: 1772
Последний ответ 14.03.2017, 19:57:10
от Deska
Как переименовать навигацию страниц в Joomla 2.5?

Автор Romanych

Ответов: 2
Просмотров: 2009
Последний ответ 27.05.2016, 15:24:09
от gromlan
Как отредактировать title?

Автор filipp78

Ответов: 7
Просмотров: 1635
Последний ответ 19.04.2016, 14:41:12
от filipp78