Новости Joomla

Перевод и публикация интервью с 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 Гость просматривают эту тему.
  • 0 Ответов
  • 881 Просмотров
*

Ezio_Auditore

  • Осваиваюсь на форуме
  • 32
  • 0 / 0
Помогите, пожалуйста  >:( Делаю первый шаблон. Создал файлы index.php, templateDetails.xml, папки images и CSS. В index.php все прописал согласно шпаргалкам, в templateDetails.xml тоже вроде все верно, но если нужен код файлов, вот он:

Код
<?php 
defined( '_JEXEC' ) or die( 'Restricted access' );?>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"
 xml:lang="<?php echo $this->language; ?>" lang="<?php echo $this->language; ?>" >
   <head>
<jdoc:include type="head" />
<link rel="stylesheet" href="<?php echo $this->baseurl ?>/templates/<?php echo $this->template; ?>/css/template.css" type="text/css" />
<link href="https://fonts.googleapis.com/css?family=Philosopher" rel="stylesheet">
<?php
if($this->countModules('sidebar') == 0) $contentwidth = "100";
if($this->countModules('sidebar') == 1) $contentwidth = "80";
?>
</head>
<body>
<div id="page">
<div id="top">
<div id="logo">
<h1><?php echo $app->getCfg('sitename'); ?></h1>
</div>
<div id="user1">
<jdoc:include type="modules" name="user1" />
</div>
<div id="user2">
<jdoc:include type="modules" name="user2" />
</div>
</div>
<div id="user3">
 <jdoc:include type="modules" name="user3" />
 </div>
 <div id="breadcrumb">
 <jdoc:include type="modules" name="breadcrumb" />
 </div>
 <div id="slider">
 <jdoc:include type="modules" name="slider" />
 </div>

 <div id="modules">
 <?php if($this->countModules('module1')) : ?>
 <div id="module1">
 <jdoc:include type="modules" name="module1 style="modulestyle" />
 </div>
 <?php endif; ?>
 
<?php if($this->countModules('module2')) : ?>
<div id="module2">
<jdoc:include type="modules" name="module2" style="modulestyle" />
</div>
<?php endif; ?>

<?php if($this->countModules('module3')) : ?>
<div id="module3">
<jdoc:include type="modules" name="module3" style="modulestyle" />
</div>
<?php endif; ?>

<?php if($this->countModules('module4')) : ?>
<div id="module4">
<jdoc:include type="modules" name="module4" style="modulestyle" />
</div>
<?php endif; ?>

<?php if($this->countModules('module5')) : ?>
<div id="module5">
<jdoc:include type="modules" name="module5" style="modulestyle" />
</div>
<?php endif; ?>

<?php if($this->countModules('module6')) : ?>
<div id="module6">
<jdoc:include type="modules" name="module6" style="modulestyle" />
</div>
<?php endif; ?>

<?php if($this->countModules('module7')) : ?>
<div id="module7">
<jdoc:include type="modules" name="module7" style="modulestyle" />
</div>
<?php endif; ?>

<?php if($this->countModules('module8')) : ?>
<div id="module8">
<jdoc:include type="modules" name="module8" style="modulestyle" />
</div>
<?php endif; ?>

<?php if($this->countModules('module9')) : ?>
<div id="module9">
<jdoc:include type="modules" name="module9" style="modulestyle" />
</div>
<?php endif; ?>
</div>

<div id="mainsection">

<div id="content<?php echo $contentwidth; ?>">
<jdoc:include type="message" />
<jdoc:include type="component" />
</div>

<?php if($this->countModules('sidebar')) : ?>
<div id="sidebar">
<jdoc:include type="modules" name="sidebar" style="sidebar>
</div>
<?php endif; ?>

<div id="footer">
<jdoc:include type="modules" name="footer" />
</div>

</div>
</div>
</body>
</html>

Код
<?xml version="1.0" encoding="utf-8"?>
<extension version="3.6.5" type="template" client="site">
<name>noname</name>
<creationDate>24/01/2017</creationDate>
<author>noname.ru</author>
<authorEmail>admin@noname.ru</authorEmail>
<authorUrl>http://www.noname.ru</authorUrl>
<copyright>noname.ru 2017</copyright>
<license>GNU/GPL</license>
<version>1.0</version>
<description>The template made for noname.ru</description>
<files>
<filename>index.php</filename>
<filename>templateDetails.xml</filename>
<folder>css</folder>
<folder>images</folder>
</files>
<positions>
<position>user1</position>
<position>user2</position>
<position>user3</position>
<position>breadcrumb</position>
<position>slider</position>
<position>module1</position>
<position>module2</position>
<position>module3</position>
<position>module4</position>
<position>module5</position>
<position>module6</position>
<position>module7</position>
<position>module8</position>
<position>module9</position>
<position>sidebar</postion>
<position>footer</position>
</positions>
</extension>


При установке выдает следующую ошибку:

Warning

JInstaller: :Install: Can't find Joomla XML setup file.

Error

Unable to find install package

Не могу дальше писать стили,  пока не пойму в чем проблема. Почему он не устанавливается?

Update
Все, разобрался спустя два часа после поисков решения проблемы. Допустил опечатку.
« Последнее редактирование: 25.01.2017, 02:08:18 от Ezio_Auditore »
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Шаблон jm MyPlace - не воспроизводится видео

Автор THE KILLERS

Ответов: 2
Просмотров: 2177
Последний ответ 23.07.2024, 13:58:16
от THE KILLERS
Ошибка при входе в корзину шаблон jmart

Автор dimiur

Ответов: 5
Просмотров: 5045
Последний ответ 24.05.2023, 14:24:30
от Gleb72
Почему обновление шаблона ломает шаблон?

Автор gorbi_U

Ответов: 8
Просмотров: 3562
Последний ответ 03.05.2023, 22:54:19
от SmiP
Нужно ли переносить custom.css при переезде на новый шаблон?

Автор gorbi_U

Ответов: 3
Просмотров: 2889
Последний ответ 09.02.2023, 21:05:42
от marksetter
Где в Joomla 3.4.3 шаблон материала? Шаблон Yootheme Organic

Автор annushka

Ответов: 13
Просмотров: 5862
Последний ответ 13.09.2022, 11:14:56
от tuztref