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

lsk

  • Захожу иногда
  • 362
  • 13 / 5
Что конкретно нужно сделать? Поделитесь опытом.
« Последнее редактирование: 29.08.2013, 10:10:17 от b2z »
*

b2z

  • Глобальный модератор
  • 7287
  • 778 / 0
  • Разраблю понемногу
В принципе переделывать ничего не придется. Изменилось только то, что шаблон обязательно надо установить (нельзя просто скопировать), иначе он не будет работать. Можете посмотреть как изменился файл установки templateDetails.xml на примере шаблонов, которые идут в комплекте с Joomla.

Вообщем у меня это все заняло 5 минут:
- поменял templateDetails.xml;
- собрал архив;
- установил.

В index.php шаблона я вообще ничего не менял - все работает.


[spoiler title=Вот пример моего templateDetails.xml]
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE install PUBLIC "-//Joomla! 1.6//DTD template 1.0//EN" "http://www.joomla.org/xml/dtd/1.6/template-install.dtd">
<extension version="1.6" type="template">
   <name>v1</name>
   <creationDate>22/12/10</creationDate>
   <author>b2z</author>
   <authorEmail>www.contra.lv</authorEmail>
   <authorUrl>www.contra.lv</authorUrl>
   <copyright></copyright>
   <license>GNU/GPL</license>
   <version>1.0.0</version>
   <description></description>
   <files>
      <folder>css</folder>
      <folder>html</folder>
      <folder>images</folder>
      <folder>js</folder>
      <filename>favicon.ico</filename>
      <filename>index.html</filename>
      <filename>index.php</filename>
      <filename>templateDetails.xml</filename>
   </files>
   <positions>
      <position>left</position>
      <position>right</position>
      <position>login</position>
      <position>top</position>
      <position>news</position>
      <position>menu</position>
      <position>spotlight</position>
      <position>user1</position>
      <position>user2</position>
      <position>user3</position>
      <position>user4</position>
      <position>footer</position>
      <position>debug</position>
   </positions>
</extension>
[/spoiler]
*

lsk

  • Захожу иногда
  • 362
  • 13 / 5
bzzik, спасибо - совет работает.
Шаблон сложный, клубный, поэтому придется повозиться, чтобы расставить все на свои позиции.
*

b2z

  • Глобальный модератор
  • 7287
  • 778 / 0
  • Разраблю понемногу
bzzik, спасибо - совет работает.
Шаблон сложный, клубный, поэтому придется повозиться, чтобы расставить все на свои позиции.
Рад, что получилось.
*

N-Stor

  • Осваиваюсь на форуме
  • 25
  • 3 / 0
Изменилось только то, что шаблон обязательно надо установить (нельзя просто скопировать)
Скопировали шаблон в папку шаблонов, идем в меню "Расширения" - "Менеджер расширений". Вкладка четвертая слева, у AndyR в новом переводе называется "Обнаружить" (administrator/index.php?option=com_installer&view=discover), копка "Обнаружить" (administrator/index.php?option=com_installer&view=discover#). Движок сам найдет в папках все, что скопировано туда, но не инсталлировано.

После того, как шаблон будет найден, отметить его чекбокс и нажать кнопку "Установить". Он прекрасно встанет без инсталятора.



Текст справки гласит:

Этот раздел поможет вам обнаружить расширения, которые не могут быть установлены путем обычной инсталляции.
К примеру, некоторые расширения слишком велики по размеру для загрузки через WEB-интерфейс из-за ограничений хостинга. Для использования этой функции вам надо загрузить файлы любым способом, к примеру по FTP или SFTP, и поместить эти файлы в соответствующую папку на сервере.
Вы должны использовать функцию обнаружения для поиска новых загруженных расширений и активации процесса их установки.
Запуская функцию обнаружения вы можете заодно обнаружить и установить и другие расширения, закачанные на сервер ранее.
Нажмите кнопку 'Обнаружить' для поиска новых расширений, которые могут быть доступны для установки.
« Последнее редактирование: 06.01.2011, 21:24:44 от N-Stor »
*

b2z

  • Глобальный модератор
  • 7287
  • 778 / 0
  • Разраблю понемногу
*

ivankoby

  • Захожу иногда
  • 84
  • 1 / 0
это функция обновлений как в Drupal, или просто ищет на хосте?
*

b2z

  • Глобальный модератор
  • 7287
  • 778 / 0
  • Разраблю понемногу
это функция обновлений как в Drupal, или просто ищет на хосте?
Данная функция ищет локально. Но есть и функия Обновления. Как она работает, пока ещё неизвестно...
*

b2z

  • Глобальный модератор
  • 7287
  • 778 / 0
  • Разраблю понемногу
Модераторы, открепите пожалуйста эту тему... Я её перенес из раздела J1.6, но перед переносом забыл открепить. Спасибо.
*

CyberMax

  • Новичок
  • 6
  • 0 / 0
bzzik, а можно посмотреть ваш templateDetails.xml который был до изменения? Для сравнения.
*

b2z

  • Глобальный модератор
  • 7287
  • 778 / 0
  • Разраблю понемногу
bzzik, а можно посмотреть ваш templateDetails.xml который был до изменения? Для сравнения.
Да нет проблем ;)

[spoiler title="templateDetails.xml 1.5"]
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE install PUBLIC "-//Joomla! 1.5//DTD template 1.0//EN" "http://www.joomla.org/xml/dtd/1.5/template-install.dtd">
<install version="1.5" type="template">
   <name>v1</name>
   <creationDate>16/11/10</creationDate>
   <author>b2z</author>
   <authorEmail>www.contra.lv</authorEmail>
   <authorUrl>www.contra.lv</authorUrl>
   <copyright></copyright>
   <license>GNU/GPL</license>
   <version>1.0.0</version>
   <description></description>
   <files>
      <filename>index.html</filename>
      <filename>index.php</filename>
      <filename>params.ini</filename>
      <filename>templateDetails.xml</filename>
      <filename>css/index.html</filename>
      <filename>css/template.css</filename>
      <filename>html/index.html</filename>
      <filename>images/index.html</filename>
      <filename>js/index.html</filename>
   </files>
   <positions>
      <position>left</position>
      <position>right</position>
      <position>login</position>
      <position>top</position>
      <position>news</position>
      <position>menu</position>
      <position>spotlight</position>
      <position>user1</position>
      <position>user2</position>
      <position>user3</position>
      <position>user4</position>
      <position>footer</position>
      <position>debug</position>
   </positions>
</install>
[/spoiler]
*

HighFlyer

  • Осваиваюсь на форуме
  • 19
  • 1 / 1
в моем шаблоне Joomla 1.6 споткнулась в самом начале уже на
Код: php
<?php echo $mainframe->getCfg('sitename');?>
если удалить, то еще где-то дальше спотыкается, но понять сложно, что не так..

в общем дело не только в templateDetails.xml

разобрался вроде, была переработана структура параметров шаблона, добавились тэги <config><fields><fieldset>...
« Последнее редактирование: 29.01.2011, 00:46:03 от HighFlyer »
*

korkunov

  • Захожу иногда
  • 127
  • 1 / 0
Интересная фишка.
Но, разумеется, не всегда работает то, что сделано под 1.5... Ну, допустим, шаблоны... в 1.6. нет mosshowlistmenu() и т.д.
*

talgautb

  • Захожу иногда
  • 92
  • 8 / 0
а где руссик взял?может поделимся??
*

Joker

  • Захожу иногда
  • 235
  • 3 / 0
Хелп из-за чего выдается сообщение

Цитировать
Ошибка

        * Шаблон для этого режиме не предусмотрен. Свяжитесь с администратором сайта.

после переделки шаблона выскочило данное сообщение на главной на белом фоне
*

Hnt

  • Новичок
  • 2
  • 0 / 0
Может кто взглянуть ,если все так просто ? Решил оставить старый шаблончик для J1.6 от Yoothemes ,получил фигу на постном масле.

Код
Fatal error: Call to a member function getCfg() on a non-object in ...\Joomla\templates\yoo_evolution_1.5.6\index.php on line 20

Собственно сам index.php и сам шаблончик

index.txt

Архив с шаблоном [1.53МБ]

Будьте добры :]
----------------------------------------
Подправьте по вашему мануалу пожалуйста 3 файла ,нашел через поиск у вас на форуме Как адаптировать шаблон от Joomla 1.5 в Joomla 1.6
« Последнее редактирование: 17.02.2011, 20:15:32 от Hnt »
*

HighFlyer

  • Осваиваюсь на форуме
  • 19
  • 1 / 1
Проанализировал ваш шаблон, и пришел к выводу, что строка 20 там совершенно не нужна, удалите ее или закомментируйте. Объясняю, почему.. если исправить ее, заменив на
Код: php
$app = JFactory::getApplication();
$this->setTitle($app->getCfg('sitename'). ' - ' . $this->getTitle());
то получим Имя сайта - Имя сайта - Главная, а если убрать, то будет как нужно Имя сайта - Главная

ну а CSS и templateDetails.xml исправить проще простого, думаю справитесь по мануалу. я в первый раз вообще по образцу шаблонов из Joomla 1.6 самостоятельно сделал, заняло очень мало времени
*

Hnt

  • Новичок
  • 2
  • 0 / 0
HighFlyer "Да ошибка пропала" шаблон стал грузиться - но по мануалу мне не совсем ясно ,так как строчки отличаются....незатруднит ли вас помочь мне? Так как самостоятельно у меня не получилось. Надеюсь на вас.

1. index.txt
2. templateDetails.txt
3. template.css
4. theme.css - нет в шаблоне   crazy!




« Последнее редактирование: 18.02.2011, 22:35:19 от Hnt »

Сделал при помощи Artisteer 3 шаблон. В программе все показывает отлично. А Вот Joomla 1.6 ни в какую не хочет. В архиве две маленькие картинки и сам шаблон. На первой как задуманно а на второй как показывает Joomla.  Если кому не трудно - посмотрите. Спасибо!
*

Rinny

  • Новичок
  • 6
  • 0 / 0
Господа, а возможно ли мне тоже как-то помочь изменить шаблон под шестёрку.
Вообщем-то он грузится. Но проблема такова - ни один опубликованный материал не отображается. На других шаблонах, заточенных под 1.6 всё нормально и это тоже...

У меня шаблон redxy-tg
Если кто-то захочет помочь, пришлю нужные для диагностики файлы шаблона.
*

axl

  • Новичок
  • 2
  • 1 / 0
  • axl.spb.ru
Протестировал переделку шаблона Joomla 1.5 на 1.6 написал статью на эту тему может кому пригодится.  http://axl.spb.ru/%D0%BA%D0%B0%D0%BA-%D0%BF%D0%B5%D1%80%D0%B5%D0%B4%D0%B5%D0%BB%D0%B0%D1%82%D1%8C-%D1%88%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD-joomla-1-5-%D0%BD%D0%B0-1-6/
*

Guslyar

  • Новичок
  • 2
  • 0 / 0
Проверил - удалось ;D
Благодарю!
*

leshkoff

  • Захожу иногда
  • 83
  • 0 / 0
Рад, что получилось.

Никак не могу понять, почему выдает ошибку в индексе шаблона.
Ошибка:
Код
Notice: Undefined variable: app in /home/z/zonaconsul/perevodpro/public_html/templates/td_zanet/index.php on line 6

Fatal error: Call to a member function getCfg() on a non-object in /home/z/zonaconsul/perevodpro/public_html/templates/td_zanet/index.php on line 6

Вот код индекса:
Код
<?php
// no direct access
defined( '_JEXEC' ) or die( 'Restricted index access' );
define( 'YOURBASEPATH', dirname(__FILE__) );

$live_site                  = $app->getCfg('live_site');
$menu_name                  = $this->params->get("menuName", "mainmenu");
$menustyle                  = $this->params->get("menuType", "2");
$template_path              = $this->baseurl . '/templates/' .  $this->template;
$show_flashheader           = ($this->params->get("showFlashheader", 1)  == 0)?"false":"true";
$show_logo                  = ($this->params->get("showLogo", 1)  == 0)?"false":"true";
$show_date                  = ($this->params->get("showDate", 1)  == 0)?"false":"true";
$show_breadcrumbs           = ($this->params->get("showBreadcrumbs", 1)  == 0)?"false":"true";

?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="<?php echo $this->language; ?>" lang="<?php echo $this->language; ?>" >
<head>
<?php
$app = JFactory::getApplication();
?>
<jdoc:include type="head" />

<link rel="shortcut icon" href="<?php echo $this->baseurl; ?>/images/favicon.ico" />
<link href="<?php echo $this->baseurl ?>/templates/system/css/system.css" rel="stylesheet" type="text/css" />
<link href="<?php echo $this->baseurl ?>/templates/system/css/general.css" rel="stylesheet" type="text/css" />
<link href="<?php echo $this->baseurl; ?>/templates/<?php echo $this->template?>/css/template_css.css" rel="stylesheet" type="text/css" />

<?php include ("templates/".$this->template ."/moomenu.php"); ?>
<!--[if lte IE 6]>
<script type="text/javascript" src="<?php echo $this->baseurl; ?>/templates/<?php echo $this->template?>/scripts/iemoomenu.js"></script>
<link rel="stylesheet" href="templates/<?php echo $this->template ?>/css/ie6.php" type="text/css" />
<![endif]-->

</head>
<body class="body_bg">
<div id="bgr">

<div id="wrapper">
<div id="tophead">
<?php if($this->countModules('user4')) : ?>
<div id="search">
<jdoc:include type="modules" name="user4" style="xhtml" />
</div>
<?php endif; ?>
<!-- BEGIN: LOGO -->

Подскажите кто знает?
« Последнее редактирование: 03.04.2011, 13:15:25 от leshkoff »
*

kslabs

  • Осваиваюсь на форуме
  • 22
  • 0 / 0
Отлично получается найти и установить шаблон из 1.5 на 1.6.
Но возникла проблема стиля по умолчанию. В 1.5 стиль по умолчанию устанавливается нормально, а 1.6 стиль не устанавливается пока вручную не назначишь нажиманием на выбор стиля. Где устанавливается стиль по умолчанию?
*

b2z

  • Глобальный модератор
  • 7287
  • 778 / 0
  • Разраблю понемногу
leshkoff - поставьте $app = JFactory::getApplication(); перед $live_site = $app->getCfg('live_site');

kslabs - что за стиль по умолчанию?
*

leshkoff

  • Захожу иногда
  • 83
  • 0 / 0
leshkoff - поставьте $app = JFactory::getApplication(); перед $live_site = $app->getCfg('live_site');

kslabs - что за стиль по умолчанию?
Спасибо, заработало.
*

Neznajka

  • Осваиваюсь на форуме
  • 27
  • 0 / 0
О! Как раз нужная тема. Я всё сделал, как в здешних рекомендациях - шаблон заработал. Но только - в общем. При попытке перехода по большинству пунктов меню - ругается:
Цитировать
Fatal error: Cannot access protected property ContentViewArticle::$params in /home/jr1.ru/erc/sites/www/templates/icons011_horizont/functions.php on line 171
Я пересмотрел файл functions.php - нет там в 171-й строке и намёка на такое свойство ContentViewArticle... А сам я ещё чайник во всех этих Тырнет-технологиях, без помощи не разберусь. Не знаю, как приложить сюда этот файл шаблона, поэтому поместил его в хранилище:
http://rghost.ru/download/private/5259734/544ebe12be17b0804fb8579a0bea6929/f09a60cc0d504f6730d7cf29232a3879f5e24094/icons011_horizont.rar
Помогите, пожалуйста, убрать вышеописанную ошибку.
*

b2z

  • Глобальный модератор
  • 7287
  • 778 / 0
  • Разраблю понемногу
Neznajka - все эти "навароченные" шаблоны тяжело переделывать, потому что они в себе несут ещё и часть фрейморка Joomla, что мне никогда и не нравилось в них. Врядли кто-то будет качать и специально смотреть, что там и как.  Приведите лучше код functions.php, предварительно поместив его в тэг
Код
[spoiler][/spoiler]
*

Neznajka

  • Осваиваюсь на форуме
  • 27
  • 0 / 0
Да там слишком много строк. Ну, сейчас попробую, вот:
Спойлер
[свернуть]
*

b2z

  • Глобальный модератор
  • 7287
  • 778 / 0
  • Разраблю понемногу
Да блин, убиться можно! И это все ради шаблона сделано, да ещё вижу там поддержку Joomla 1.0! Мой Вам совет, поменяйте шаблон... Не, ну может кто-то и поможет разобраться, но это жесткач :)
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Создание страниц сайта по шаблону Joomla

Автор romanln2016

Ответов: 0
Просмотров: 10713
Последний ответ 13.08.2025, 16:25:06
от romanln2016
Изменение шаблона Joomla! 2.5.24

Автор SecondPC

Ответов: 0
Просмотров: 4344
Последний ответ 26.03.2021, 18:09:33
от SecondPC
Как в Joomla 3 отключить позицию вывода или убрать надпись?

Автор Алексей Лоскутов

Ответов: 2
Просмотров: 7760
Последний ответ 10.04.2020, 19:07:02
от Алексей Лоскутов
Как сделать свой шаблон quickstart?

Автор saiskyi

Ответов: 3
Просмотров: 6843
Последний ответ 19.02.2020, 19:29:01
от Bozhkov2
Руководство - создание шаблона для Joomla 2.5

Автор dynamit

Ответов: 6
Просмотров: 30990
Последний ответ 02.02.2020, 22:28:15
от AlinaBut