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

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

interregional

  • Осваиваюсь на форуме
  • 19
  • 0 / 0
Порченные ссылки
« : 17.10.2017, 08:37:45 »
Есть сайт где ссылки идут таким образом - сайт.ру/город/категория/продукт
До недавнего времени все было в порядке но теперь после перехода по ссылке удаляется город и ссылка выглядит так - сайт.ру/категория/продукт. Собственно такой ссылки нет и оно выдает 404 ошибку, тем не менее сайт.ру/индекс.пхп/город/категория/продукт работает так же.
Грешил на то что я намудрил что-то в htaccess, но удалив от туда все лишнее, до той версии что было в изначальной сборке джумлы понял что ошибка где-то еще, было ли у кого-то подобное? Если было подскажите как вы решили проблему
*

voland

  • Легенда
  • 11026
  • 588 / 112
  • Эта строка съедает место на вашем мониторе
Re: Порченные ссылки
« Ответ #1 : 17.10.2017, 09:13:02 »
О каких версиях и каких расширениях речь?
*

interregional

  • Осваиваюсь на форуме
  • 19
  • 0 / 0
Re: Порченные ссылки
« Ответ #2 : 17.10.2017, 09:58:43 »
Вся основа сайта сделано на вшитом, материалы и обычные страницы джумлы. Версия джумлы 3.8.1
*

voland

  • Легенда
  • 11026
  • 588 / 112
  • Эта строка съедает место на вашем мониторе
Re: Порченные ссылки
« Ответ #3 : 17.10.2017, 10:33:39 »
Что вшито? А какая была? Новый роутер включали?
*

interregional

  • Осваиваюсь на форуме
  • 19
  • 0 / 0
Re: Порченные ссылки
« Ответ #4 : 17.10.2017, 10:56:56 »
Под "вшито" я подразумеваю стандартные компоненты которые идут в офф выпуске джумлы. Новый роутер? changelog не читал, где его можно посмотреть и как можно откатится к старому?)
*

interregional

  • Осваиваюсь на форуме
  • 19
  • 0 / 0
Re: Порченные ссылки
« Ответ #5 : 17.10.2017, 11:10:38 »
Пока мельком глянул как новый роутинг работает, у меня немного другая структура.
У меня каждая страница в менеджере меню выбирается мануально, т.е. я задаю там на всех страницах тип страницы "избранные материалы" при этом такие отстутствуют и прячу маинбоди где должен выводится материал, и вся инфа на страницах через модули идет (знаю что криво но делалось давно и в попыхах и досихпор небыло времени переделать). В новом же там насколько понял только автоматическая генерация ссылок идет типо сайт.ру/категория/ещекатегория/можноещеодну/материал.
Накатил бэкап к версии 3.7.4 таже фигня, просто не понимаю, что это вобще может быть?
*

interregional

  • Осваиваюсь на форуме
  • 19
  • 0 / 0
Re: Порченные ссылки
« Ответ #6 : 17.10.2017, 11:21:46 »
POST запрос дает код 301, со и делает перенаправление с город/категория/айтем на категория/айтем.
В индексном файле шаблона нашел такое:
Код
<?php
if (preg_match( '|^www\..*|', $_SERVER [ 'HTTP_HOST' ])) {
header ( 'HTTP/1.0 301 Moved Permanently' );
$url = trim ($_SERVER [ 'REQUEST_URI' ], '/');
if(trim($_SERVER [ 'REQUEST_URI' ], '/')!= '') $url .= '/';
header('Location: https://site.ru/'. $url);
die();
}?>

Тут идет перенаправление но вроде просто с www на без www, я слаб в php, я прав? Или тут может быть причина?
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Re: Порченные ссылки
« Ответ #7 : 17.10.2017, 12:00:53 »
сайт.ру/город/категория/продукт
Какова структура сайта? город - поддомен?
Поменяйте приведенный вами код на
Код
<?php
if (preg_match( '|^www\..*|', $_SERVER [ 'HTTP_HOST' ])) {
header ( 'HTTP/1.0 301 Moved Permanently' );
$url = trim ($_SERVER [ 'REQUEST_URI' ], '/');
die($url);
if(trim($_SERVER [ 'REQUEST_URI' ], '/')!= '') $url .= '/';
header('Location: https://site.ru/'. $url);
die();
}?>
и наберите сайт.ру/город/категория/продукт.
« Последнее редактирование: 17.10.2017, 12:07:36 от robert »
Не будь паразитом, сделай что-нибудь самостоятельно!
*

interregional

  • Осваиваюсь на форуме
  • 19
  • 0 / 0
Re: Порченные ссылки
« Ответ #8 : 17.10.2017, 12:20:58 »
Какова структура сайта? город - поддомен?

Нет город обычная страница. Так наверное будет понятнее https://site.ru/firstpage/secondpage/finalpage
и при переходе по данной ссылке удаляет firstpage.

<?php
if (preg_match( '|^www\..*|', $_SERVER [ 'HTTP_HOST' ])) {
header ( 'HTTP/1.0 301 Moved Permanently' );
$url = trim ($_SERVER [ 'REQUEST_URI' ], '/');
die($url);
if(trim($_SERVER [ 'REQUEST_URI' ], '/')!= '') $url .= '/';
header('Location: https://site.ru/'. $url);
die();
}?>
К сожалению не помогло, сейчас думаю попробывать заново пересобрать сайт и страницы, модули, категории, материалы и стили шаблонов постепенно вливать
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Re: Порченные ссылки
« Ответ #9 : 17.10.2017, 12:59:31 »
К сожалению не помогло
^-^
Конечно, не помогло и не могло помочь, это была всего лишь проверка. Сообщите, что увидели на экране.
Не будь паразитом, сделай что-нибудь самостоятельно!
*

interregional

  • Осваиваюсь на форуме
  • 19
  • 0 / 0
Re: Порченные ссылки
« Ответ #10 : 17.10.2017, 13:06:47 »
^-^
Конечно, не помогло и не могло помочь, это была всего лишь проверка. Сообщите, что увидели на экране.
Выдало 500 Internal Server Error, оно сейчас и с прежним кодом такое выдает.

Вот сейчас к примеру на бета сайте пытаюсь танцуя с бубном у компа что-то сделать но результат один
от сайта бета такое beta.site.ru/firstpage/secondpage/finalpage (post - 301 Moved Permanently) после перекидует на основной сайт с удаленным firstpage (beta.site.ru/secondpage/finalpage ну и post 500)
*

interregional

  • Осваиваюсь на форуме
  • 19
  • 0 / 0
Re: Порченные ссылки
« Ответ #11 : 17.10.2017, 13:14:26 »
Вот сейчас крайне странно, увидел что в POST запросе фигирировал дополнительный IP удалил его, выдало ошибку что ssl серт битый, вернул этот самый IP (IP был на основном сайте) пробую еще раз перейти на бета сайте, и о чудо оно грузится, вот только я туда залил только БД, из файлов сайта только шаблоны и изображения. Видимо всеже в компоненте каком-то баг.
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Re: Порченные ссылки
« Ответ #12 : 17.10.2017, 13:26:30 »
Видимо всеже в компоненте каком-то баг.
Не знаю на счет компонентов, но в ваших телодвижениях - точно.
Незнание + энтузиазм = катастрофа.
Не будь паразитом, сделай что-нибудь самостоятельно!
*

interregional

  • Осваиваюсь на форуме
  • 19
  • 0 / 0
Re: Порченные ссылки
« Ответ #13 : 17.10.2017, 13:41:52 »
Незнание + энтузиазм = катастрофа
Это конечно так, но тут скорее спешка, нужно быстро починить, после уже когда будет время узнать как нужно сделать так чтобы было хорошо и переделать. Сейчас к сожалению времени на это нет, посему и происходит то что происходит.
*

interregional

  • Осваиваюсь на форуме
  • 19
  • 0 / 0
Re: Порченные ссылки
« Ответ #14 : 18.10.2017, 07:00:39 »
Решено, косяк был в конфиге nginx или apache так точно и не понял, просто поставил дефолтное и поправил нужное.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Поменять цвет ссылки справа!

Автор web1

Ответов: 3
Просмотров: 1103
Последний ответ 30.12.2022, 10:46:42
от sivers
Перестали работать ссылки внутри сайта

Автор Viktor_ist

Ответов: 1
Просмотров: 816
Последний ответ 07.05.2022, 09:42:02
от Viktor_ist
Как убрать ссылки соц сетей на странице?

Автор 2ra

Ответов: 2
Просмотров: 1326
Последний ответ 03.05.2022, 17:28:54
от marksetter
Ссылки на файлы сайта в мультиязычной версии сайта

Автор Alexandr46

Ответов: 0
Просмотров: 632
Последний ответ 11.02.2022, 09:57:31
от Alexandr46
Канонические ссылки

Автор DrShepard

Ответов: 0
Просмотров: 557
Последний ответ 22.04.2021, 12:54:13
от DrShepard