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

insider

  • Захожу иногда
  • 70
  • 0 / 0
  • Дорога возникает под шагами идущего.
Как внедрить этот код в шаблон Joomla?
Подскажите куда это всё прописать (в какие файлы и как вывести в HTML модуль или в материал)
Код всплывающего окна.
Шаг 1.
Для начала нужно скачать и подключить к документу необходимые скрипты.
Код: javascript
<script type="text/javascript" src="jQuery.js"></script>
<script type="text/javascript" src="interface.js"></script>
Шаг 2.
Между тегами <head> или в отдельном CSS файле пропишем следующие стили для нашего окна:
Код: css
#window

        {

position: absolute;

left: 200px;

top: 100px;

width: 400px;

height: 300px;

overflow: hidden;

display: none;

}

#windowTop

{

height: 30px;

overflow: 30px;

background-image: url(images/window_top_end.png);

background-position: right top;

background-repeat: no-repeat;

position: relative;

overflow: hidden;

cursor: move;

}

#windowTopContent

{

margin-right: 13px;

background-image:url(images/window_top_start.png);

background-position:left top;

background-repeat: no-repeat;

overflow: hidden;

height: 30px;

line-height: 30px;

text-indent: 10px;

font-family:Arial, Helvetica, sans-serif;

font-weight: bold;

font-size: 14px;

color: #6caf00;

}

#windowMin

{

position: absolute;

right: 25px;

top: 10px;

cursor: pointer;

}

#windowMax

{

position: absolute;

right: 25px;

top: 10px;

cursor: pointer;

display: none;

}

#windowClose

{

position: absolute;

right: 10px;

top: 10px;

cursor: pointer;

}

#windowBottom

{

position: relative;

height: 270px;

background-image: url(images/window_bottom_end.png);

background-position: right bottom;

background-repeat: no-repeat;

}

#windowBottomContent

{

position: relative;

height: 270px;

background-image: url(images/window_bottom_start.png);

background-position: left bottom;

background-repeat: no-repeat;

margin-right: 13px;

}

#windowResize

{

position: absolute;

right: 3px;

bottom: 5px;

cursor: se-resize;

}

#windowContent

{

position:absolute;

top: 30px;

left: 10px;

width: auto;

height: auto;

overflow: auto;

margin-right: 10px;

border: 1px solid #6caf00;

height: 255px;

width: 375px;

font-family:Arial, Helvetica, sans-serif;

font-size: 11px;

background-color: #fff;

}

#windowContent *

{

margin: 10px;

}

.transferer2

{

border: 1px solid #6BAF04;

background-color: #B4F155;

filter:alpha(opacity=30);

-moz-opacity: 0.3;

opacity: 0.3;

}
Шаг 3.
Вставим ссылку, по которой будет открываться всплывающее окно, а затем непосредственно сам код блока окна. Нужно не по ссылке а по клику на картинку
Код: html4strict
<a href="" id="windowOpen">Открыть всплывающее окно</a>

  <div id="window">

<div id="windowTop">

<div id="windowTopContent">Название окна</div>

<img src="images/window_min.jpg" id="windowMin" />

<img src="images/window_max.jpg" id="windowMax" />

<img src="images/window_close.jpg" id="windowClose" />

</div>

<div id="windowBottom"><div id="windowBottomContent">&nbsp;</div></div>

<div id="windowContent"><p>Содержание всплывающего окна</p></div>

  <img src="images/window_resize.gif" id="windowResize" /></div>

Шаг 4.
Перед закрывающим тегом </body> вставим код скрипта:
Код: javascript
<script type="text/javascript">

  $(document).ready(

function()

{

$('#windowOpen').bind(

'click',

function() {

if($('#window').css('display') == 'none') {

$(this).TransferTo(

{

to:'window',

className:'transferer2',

duration: 400,

complete: function()

{

$('#window').show();

}

}

);

}

this.blur();

return false;

}

);

$('#windowClose').bind(

'click',

function()

{

$('#window').TransferTo(

{

to:'windowOpen',

className:'transferer2',

duration: 400

}

).hide();

}

);

$('#windowMin').bind(

'click',

function()

{

$('#windowContent').SlideToggleUp(300);

$('#windowBottom, #windowBottomContent').animate({height: 10}, 300);

$('#window').animate({height:40},300).get(0).isMinimized = true;

$(this).hide();

$('#windowResize').hide();

$('#windowMax').show();

}

);

$('#windowMax').bind(

'click',

function()

{

var windowSize = $.iUtil.getSize(document.getElementById('windowContent'));

$('#windowContent').SlideToggleUp(300);

$('#windowBottom, #windowBottomContent').animate({height: windowSize.hb + 13}, 300);

$('#window').animate({height:windowSize.hb+43}, 300).get(0).isMinimized = false;

$(this).hide();

$('#windowMin, #windowResize').show();

}

);

$('#window').Resizable(

{

minWidth: 200,

minHeight: 60,

maxWidth: 700,

maxHeight: 400,

dragHandle: '#windowTop',

handlers: {

se: '#windowResize'

},

onResize : function(size, position) {

$('#windowBottom, #windowBottomContent').css('height', size.height-33 + 'px');

var windowContentEl = $('#windowContent').css('width', size.width - 25 + 'px');

if (!document.getElementById('window').isMinimized) {

windowContentEl.css('height', size.height - 48 + 'px');

}

}

}

);

}

);

</script>

Источник http://ruseller.com/lessons.php?rub_id=32&id=178 там исходники и демо есть.
*

insider

  • Захожу иногда
  • 70
  • 0 / 0
  • Дорога возникает под шагами идущего.
Re: Как внедрить этот код в шаблон Joomla?
« Ответ #1 : 23.01.2014, 01:35:22 »
ребят подскажите
*

b2z

  • Глобальный модератор
  • 7287
  • 778 / 0
  • Разраблю понемногу
Re: Как внедрить этот код в шаблон Joomla?
« Ответ #2 : 23.01.2014, 12:17:49 »
Ну так все же написано. Скрипты в <head>, стили в CSS файл, HTML код в HTML-модуль, а шаг 4 перед </body>. А куда прописывать, зависит от шаблона - обычно index.php.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Различные условия в шаблонах Joomla 3.0 и 2.5

Автор Fedor Vlasenko

Ответов: 133
Просмотров: 31354
Последний ответ 16.12.2024, 15:52:14
от goga_pgasovav
Шаблон 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
Шаблоны Joomlart, Gavick, Yootheme, RocketTheme для Joomla: легально и с обновлениями, no warez

Автор _ib_

Ответов: 168
Просмотров: 207974
Последний ответ 15.04.2023, 18:26:50
от AS1969