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

valdemarv

  • Осваиваюсь на форуме
  • 10
  • 1 / 0
Народ подскажите как сделать описание товара с помощью вкладок (табов)? Стоит Joomla 1.7 + VirtueMart 2.0 Хочу использовать такие примеры табов http://followdesign.com/development/2011/11/18/jquery-css-vkladki-taby-chast-1.html , только как их прикрутить в описание товара в магазине не знаю. Пробовал плагин magictabs, но при его включении сайт становится белым лмстом.
« Последнее редактирование: 29.02.2012, 21:22:32 от ELLE »
*

valdemarv

  • Осваиваюсь на форуме
  • 10
  • 1 / 0
Я извиняюсь, но куда вписывать данный код. Подойдет ли он на Joomla 1.7 и virt 2.0 ?
*

ELLE

  • Глобальный модератор
  • 4505
  • 893 / 0
вписывать в шаблон карточки товара первую часть, второй код в CSS файл вашего шаблона.. там только если это необходимо нужно заменить/изменить заглушки VM как вам нужно.
*

valdemarv

  • Осваиваюсь на форуме
  • 10
  • 1 / 0
Если не трудно ELLE объясните новичку, где я могу этот файл найти. Я изменил файл view.html.php в категории com_virtuemart\views\productdetails  и какие то косячки пошли, а табов так и не стало.
*

ELLE

  • Глобальный модератор
  • 4505
  • 893 / 0
com_virtuemart\views\productdetails\default.php
в любое удобное место вставляете
Код: php
<?php
 //Говорим Joomla, что мы хотим использовать панели
jimport('joomla.html.pane');
$myTabs = & JPane::getInstance('tabs', array('startOffset'=>0));
 $output = '';
 
//Создаем панель для вкладок
$output .= $myTabs->startPane( 'pane' );

 //Создаем 1 вкладку
$output .= $myTabs->startPanel( 'Описание', 'tab1' );
$output  .= '<p>'.$this->product->product_desc.'</p>';
$output .= $myTabs->endPanel();

// Создаем 2 вкладку
$output .= $myTabs->startPanel( 'Бренд', 'tab2' );
$output  .= '<p>'.$this->product->mf_name.'</p>';
$output .= $myTabs->endPanel();

// Создаем 3 вкладку
$output .= $myTabs->startPanel( 'Помощь', 'tab3' );
$output  .= '<p>Здесь текст помощи он везде одинаковый</p>';
$output .= $myTabs->endPanel();
 
//окончание панели
$output .= $myTabs->endPane();
//Выводим
echo $output;
?>
просто изменился шаблон вывода и соответственно старые заглушки не работают - нужно было подправить и все.
css стили из того топика пихаете в свой шаблон Joomla.
*

valdemarv

  • Осваиваюсь на форуме
  • 10
  • 1 / 0
Может что то не то я делаю, вставил код в файл default.php, по адресу com_virtuemart/views/productdetails/tmpl в самой папке productdetails нет файла default.php И при нажатии на товар белый экран http://top-kondicioner.ru/%D1%81%D0%BF%D0%BB%D0%B8%D1%82-%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D1%8B/general-climate/dantex-rk-07seg-detail Я хочу чтоб получилось как тут http://pro-kondicioner.ru/kond/split-sistemy/general-climate/general-climate-gcgus07hrin1.html
*

ELLE

  • Глобальный модератор
  • 4505
  • 893 / 0
valdemarv, я не знаю - у меня на локалке стоит голый VirtueMart 2.0 с такой же голой Joomla 1.7 - шаблон карточки находится именно по такому пути как я писала постом выше.
для того чтобы понять вам тот это файл или нет - впишите любое слово там и посмотрите появилось оно в карточке или нет.
код для табов полностью рабочий - только для вас проверяла.
*

ag777

  • Захожу иногда
  • 81
  • 0 / 1
подробнее что делали?

код закинул в components/com_virtuemart/views/productdetails/tmpl/default.php, пробовал и в начало и в конец основного кода вписывать

стили в основной сss шаблона сайта
*

ELLE

  • Глобальный модератор
  • 4505
  • 893 / 0
шаблон стандартный или установлена тема для VM?
если все удалить в файле и просто вставить тот код, что-то меняется?
*

ag777

  • Захожу иногда
  • 81
  • 0 / 1
шаблон стандартный или установлена тема для VM?
если все удалить в файле и просто вставить тот код, что-то меняется?
стандартный

если удалить основной код, то вместо товара пустая область
*

ELLE

  • Глобальный модератор
  • 4505
  • 893 / 0
у меня не стоит сейчас vm2, выложите куда-нибудь этот файл (или тут прикрепите) - я гляну, но на тот момент все работало
возможно что-то в шаблонах поменялось
*

ag777

  • Захожу иногда
  • 81
  • 0 / 1
прикрепил файл.

спасибо за помощь!

[вложение удалено Администратором]
*

ELLE

  • Глобальный модератор
  • 4505
  • 893 / 0
фактически все тоже самое
можно в самый конец вставить
Код: php
<?php
 //Говорим Joomla, что мы хотим использовать панели
jimport('joomla.html.pane');
$myTabs = & JPane::getInstance('tabs', array('startOffset'=>0));
 $output = '';
 
//Создаем панель для вкладок
$output .= $myTabs->startPane( 'pane' );
 
 //Создаем 1 вкладку
$output .= $myTabs->startPanel( 'Описание', 'tab1' );
$output  .= $this->product->product_desc;
$output .= $myTabs->endPanel();
 
// Создаем 2 вкладку
$output .= $myTabs->startPanel( 'Характеристики', 'tab2' );
$output  .= $this->loadTemplate('customfields');
$output .= $myTabs->endPanel();
 
// Создаем 3 вкладку
$output .= $myTabs->startPanel( 'Отзывы', 'tab3' );
$output  .= $this->loadTemplate('reviews');
$output .= $myTabs->endPanel();
 
//окончание панели
$output .= $myTabs->endPane();
//Выводим
echo $output;
?>
и сохранить в utf-8
только за "характеристики" не ручаюсь, но описание и отзывы выводятся в табах
*

ag777

  • Захожу иногда
  • 81
  • 0 / 1
*

ELLE

  • Глобальный модератор
  • 4505
  • 893 / 0
у меня работает
Спойлер
[свернуть]

[вложение удалено Администратором]
*

ag777

  • Захожу иногда
  • 81
  • 0 / 1
хм, видать я куда то не туда его ставил... ставлю код вобще за тег </div>

а не подскажите как убрать дублирующееся строчные данные?
*

ELLE

  • Глобальный модератор
  • 4505
  • 893 / 0
*

ag777

  • Захожу иногда
  • 81
  • 0 / 1
*

Iyulka

  • Новичок
  • 9
  • 0 / 0
вписывать в шаблон карточки товара первую часть, второй код в CSS файл вашего шаблона.. там только если это необходимо нужно заменить/изменить заглушки VM как вам нужно.

Здравствуйте, Elle!
Что такое заглушки? я очень хочу реализовать вкладки, потому что у меня очень длинное описание у товаров
Мне нужны вкладки в описании товара на сайте http://sibplant-ipso.ru - версия вирта 2.0.10, Joomla! 2.5.4
*

ELLE

  • Глобальный модератор
  • 4505
  • 893 / 0
Здравствуйте, Elle!
Что такое заглушки?
это образно - переменная которая выводить что-то из конкретного поля БД
например,
$this->product->product_desc - выводит описание товара
$this->loadTemplate('reviews') - выводит отзывы

по-моему никто еще не делал для VM2 описания всех этих заглушек в шаблоне
*

web11

  • Захожу иногда
  • 58
  • 1 / 0
решил проблему с помощью плагина
joomla 2.5 + вирт 2,0,10
все работает как часы :)
http://nauca.com.ua/plugins/add-vkladok-v-opisanie-tovarov-virtuemart2/
*

glutton

  • Захожу иногда
  • 54
  • 0 / 0
Отличное решение, у меня заработало. Спасибо!
« Последнее редактирование: 12.11.2012, 21:43:08 от ELLE »
*

glutton

  • Захожу иногда
  • 54
  • 0 / 0
При переходе, например, по ссылкам навигации, с одной на другую страницу описания товара попадаешь на ту же открытую вкладку, которая была открыта на предыдущей странице.
А нельзя как-то сделать так, чтобы при открытии любой страницы с табами (вкладками) всегда сначал принудительно открывалась главная вкладка (например, с фотографией товара)?
Спасибо!
*

glutton

  • Захожу иногда
  • 54
  • 0 / 0
как сделать первую вкладку Активной при открытии страницы ? Иначе в любом товаре открывается та вкладка, которая была просмотрена последней в любом другом товаре
*

Garyk01

  • Осваиваюсь на форуме
  • 22
  • 1 / 0
Такая же ерунда - пробовал через CSS - не получилось.
Пробовал так
Код
.tabs>dt:first-child + dd{
        display: block;
     }
*

jouser

  • Захожу иногда
  • 124
  • 9 / 0
Тут надо яваскриптовую функцию прописать. Типа событие onLoad присвоить свойство current первой вкладке - принцип понятен, но я в ЯС не силен(
*

jouser

  • Захожу иногда
  • 124
  • 9 / 0
В общем надо править файлы
\libraries\joomla\html\tabs.php
и
\media\system\tabs.js
но как не знаю(((
может кто посмотрит
*

jouser

  • Захожу иногда
  • 124
  • 9 / 0
Нашел! Вроде работает
\media\system\tabs.js
начиная со строки 45 удаляем или комментируем
if (this.options.useStorage) {
         if (Browser.Features.localstorage) {
            this.options.display = localStorage[this.storageName];
         } else {
            this.options.display = Cookie.read(this.storageName);
         }
      }
*

Maravillosa

  • Осваиваюсь на форуме
  • 12
  • 0 / 0
Спойлер
[свернуть]

Сделал все, как говорили, не работает, к сожалению.

Вкладки появились, но в виде спойлеров. Никак не оформляются... :(
Если кто может подсказать что делать, буду благодарен.
И еще, как мне эти вкладки потом поместить между ценой и кнопкой "Добавить в корзину"?

Правил default.php в файловом менеджере на хостинге и templates.css через Админ. панель.

Joomla 1.5.25, VirtueMart 2.0.16.

Спасибо заранее.

Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Модуль SJ Filter for VirtueMart - только 30 custom fields

Автор Alex_gs

Ответов: 0
Просмотров: 2534
Последний ответ 08.08.2022, 15:09:59
от Alex_gs
Эффект добавления товара в корзину VM3

Автор bassez

Ответов: 0
Просмотров: 2873
Последний ответ 05.06.2020, 12:28:26
от bassez
Решено: Валютный знак рубля в VirtueMart 2

Автор frostwar

Ответов: 10
Просмотров: 11650
Последний ответ 07.04.2020, 15:50:54
от liberator
Вывод краткого описания товара в корзине

Автор PavelK

Ответов: 2
Просмотров: 3190
Последний ответ 04.04.2020, 16:34:10
от PavelK
Как вывести модуль в витрине VirtueMart?

Автор Дмитрий_76

Ответов: 1
Просмотров: 2916
Последний ответ 09.02.2020, 10:06:17
от AlexB