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

Quantum Manager нужен сообществу, а автору нужна ваша поддержка!

Quantum Manager нужен сообществу, а автору нужна ваша поддержка!Файловый менеджер Quantum — одно...

Файловый менеджер Quantum — одно из самых популярных решений для Joomla, созданное разработчиком из сообщества Joomla, Дмитрием Цымбалом (@tsymbalmitia). Он делает Quantum удобным, безопасным и современным, обновляет его, исправляет уязвимости и отвечает пользователям — всё это в свободное от основной работы время.

Теперь настал момент для следующего шага: развитие проекта требует больше времени и ресурсов.

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

andrey77777

  • Захожу иногда
  • 83
  • 1 / 1
Добрый день! Ребята посоветуйте, как можно привязать форму обратной связи к материалу?  да и вообще какой компонент или плагин использовать? т.е.  допустим сайт туристической тематики! Есть материал (пример «тур в Испанию») так вот как сделать, что бы человек при нажатии «забронировать» попадал на форму, но в форме отображалось, что он заказывает именно тур в Испанию – ну и соответственно , что бы мне это приходило на почту. crazy!
*

andrey77777

  • Захожу иногда
  • 83
  • 1 / 1
Как передать переменную из компонента в модуль?

В компоненте пишем:
Код
<?php
$document = & JFactory::getDocument();
$document->setBuffer( 'Znachenie', 'component', 'parametr' );
?>
 
В модуле считываем:
Код
<?php
echo JFactory::getDocument()->getBuffer('component', 'parametr');
//return Znachenie
?>
  а можно это использовать  в  компоненте CK Forms?
*

andrey77777

  • Захожу иногда
  • 83
  • 1 / 1
в CK Forms не могу понять куда вставлять

Код
<?php
$document = & JFactory::getDocument();
$document->setBuffer( 'Znachenie', 'component', 'parametr' );
?>
 
В модуле считываем:
Код
<?php
echo JFactory::getDocument()->getBuffer('component', 'parametr');
//return Znachenie
?>
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
Цитировать
что бы человек при нажатии «забронировать» попадал на форму
для этого данные нужно сохранить к примеру в сессию Записываем вставлять код в компоненте с которого берете данные
Код
Код: php-brief
<?php
$session =& JFactory::getSession();
$session->set("product_name",  $this->product->name);
?>
далее в модуле и \ли компоненте вытягиваем данные и назначаем значение элементу с id='product' с использованием js
код вставлять в модуль вывода формы. Решение рабочее (но нужно условиями обернуть если будете использовать несколько форм)
Код: php-brief
<?php
$session =& JFactory::getSession();
$document =& JFactory::getDocument();
$js = "window.addEvent('load', function(){ $('product').value = '".$session->get("product_name")."'; });";
$document->addScriptDeclaration($js);
?>
опишите у вас форма на этой же странице отображается или с переходом на следующую.
*

andrey77777

  • Захожу иногда
  • 83
  • 1 / 1
для этого данные нужно сохранить к примеру в сессию Записываем вставлять код в компоненте с которого берете данные
Код
Код: php-brief
<?php
$session =& JFactory::getSession();


$session->set("product_name",  $this->product->name);
?>
далее в модуле вытягиваем данные и назначаем значение элементу с id='product' с использованием js
код вставлять в модуль вывода формы. Решение рабочее (но нужно условиями обернуть если будете использовать несколько форм)
Код: php-brief
<?php
$session =& JFactory::getSession();
$document =& JFactory::getDocument();
$js = "window.addEvent('load', function(){ $('product').value = '".$session->get("product_name")."'; });";
$document->addScriptDeclaration($js);
?>

Poznakomlus в php не силен! нужно растолковать на примере! думаю многим начинающим будет полезно. Сайт http://www.timmisworld.ru/. В меню  " Страны и направление" - "Европа"- "Испания" - "туры от timmis worrld" - идет список путешествий (обычный материал)! где указана цена - делаю ссылку на форму (за ранее создал материал - без категории ) <span><a href="napisat_nam">забронировать 14000</a></span>. При нажатии на цену - вылазит форма - то что надо ))) Да я действительно буду использовать разные формы.  До этого момента всё понятно - но  я ни как не пойму в какой файл вставляется вот этот код

<?php
$session =& JFactory::getSession();
$session->set("product_name",  $this->product->name);
?>

У меня компонент находится в двух местах  /www/administrator/components/com_ckforms/ и /www/components/com_ckforms/  Этот код вставляется в default.php?

И опять как понять
Цитировать
в модуле вытягиваем данные и назначаем значение элементу с id='product' с использованием js
. Допустим у меня 20 материалов с разными id.  т.е. я должен в

<?php
$session =& JFactory::getSession();
$document =& JFactory::getDocument();
$js = "window.addEvent('load', function(){ $('здесь вставлять id для каждого материала ?').value = '".$session->get("product_name")."'; });";
$document->addScriptDeclaration($js);
?>
 Да и вообще не могу понять куда дальше вставлять этот код. в какой файл? вообще запутался  crazy!
*

andrey77777

  • Захожу иногда
  • 83
  • 1 / 1
Цитировать
назначаем значение элементу с id='product' с использованием js
код вставлять в модуль вывода формы
простите не заметил, но где его искать этот модуль вывода формы?
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
Приведите ссылку сайта где есть форма
И напишите какие данные форме хотите передавать
*

andrey77777

  • Захожу иногда
  • 83
  • 1 / 1
Приведите ссылку сайта где есть форма
И напишите какие данные форме хотите передавать
Форму я сделал....ну почти...

А вот сайт - так тоже хочеться реализовать http://www.elisatours.ru/index.php?app=tours - при нажатии забронировать выходит то что надо
*

andrey77777

  • Захожу иногда
  • 83
  • 1 / 1
После добавления

<?php
$session =& JFactory::getSession();
$session->set("product_name",  $this->product->name);
?>

В письме приходит:

Form : Проверка формы заказа [proba]
 registered at 2012-07-09 15:20:53

 Имя : Андрей
 телефон : 325992
Article ID :

т.е. id начало отображаться, понимаю что где то рядом капаю! теперь нужно вот этот код

$session =& JFactory::getSession();
$document =& JFactory::getDocument();
$js = "window.addEvent('load', function(){ $('product').value = '".$session->get("product_name")."'; });";
$document->addScriptDeclaration($js);

или этот (еще не разобрался какой)

$session =& JFactory::getSession();
echo $session->get("product_name");

прописать в  модуле вывода формы. Но я не знаю как определить этот модуль или узнать как называется? Народ подскажите пожалуйста? использую CK Forms. Мучаюсь уже 2 дня! методом тыка не получается  :'(
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
andrey77777 Еще раз совсем непонятно какие параметры вы хотите передавать, а именно как их определять, где задавать и на основе чего я могу их идентифицировать. Далее непонятно с формой. Она у вас на этой-же странице, или на новой загруженной.
Пример который вы указываете, там этого нет(Автоматического заполнений данных).
Цитировать
Форму я сделал....ну почти...
Хочу то, не знаю что.
*

andrey77777

  • Захожу иногда
  • 83
  • 1 / 1
Poznakomlus сейчас сделаю на timmisworld.ru! форма есть на http://condcareer.ru/ispaniya-madrid/ - это тот же сайт, но на нем эксперементирую - нажать забронировать 14000. Форму сделать не проблема....мне нужно что бы в письме приходило название материала или с какой страницы забронировали! что бы я понимал - что человек бронирует.
*

andrey77777

  • Захожу иногда
  • 83
  • 1 / 1
andrey77777 Еще раз совсем непонятно какие параметры вы хотите передавать, а именно как их определять, где задавать и на основе чего я могу их идентифицировать. Далее непонятно с формой. Она у вас на этой-же странице, или на новой загруженной.
Пример который вы указываете, там этого нет(Автоматического заполнений данных).Хочу то, не знаю что.

Poznakomlus форму сделал  - http://www.timmisworld.ru/tury/formentera . Нужно что бы при бронировании - мне на почту приходило название материала.  Т.е. параметры  - название материала с которого произошло бронирование….
Кстати после установки формы – страница с формой начала зависать
*

andrey77777

  • Захожу иногда
  • 83
  • 1 / 1
Создал пункт меню.  Тип меню - Standard CKForms CSS Layout. Его не опубликовал. Сделал форму. Её назвал zabronirovat. Теперь в материале (где хочу  поставить форму) выделяю текст и даю ссылку на http://www.timmisworld.ru/zabronirovat. При нажатии перебрасывает на форму. Нужно что бы материалы где указывалась форма отображался в письме. Сейчас добился – мне приходит Article ID :  но он пустой! Не указывается материал с которого была произведена бронь или хотя бы id материала. Вот письмо, что приходит

Form : Забронировать [zabronirovat]
 registered at 2012-07-09 22:17:35

 Имя : Андрей
 Фамилия : ххх
 Телефон : 8 903 57 67 822
 email : test@mail.ru
 Количество человек : 2
 Детей (до 7 лет) : 0
 дата заезда : 09/07/2012
 дата выезда : 15/07/2012
 Виза нужна : trebviza
 Рейс :
 Трансфер :
 Номер : 1
 Питание: : zav
 Дополнительные сервисы : 2
 Дополнительные пожелания : Проверка
 IP Address :
 Article ID :
 :(
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
Открываешь файл components/com_ckforms/views/ckforms/tmpl/default.php строка 247
заменяешь
value="<?php if (empty($this->post) ==false) {echo $this->post[$field->name];} else {echo $field->t_initvalueT;} ?>" на
value="<?php if (empty($this->post) ==false) {echo $this->post[$field->name];} elseif ($field->name =='id'){echo $_SERVER['HTTP_REFERER'];} else {echo $field->t_initvalueT;} ?>"
таким образом в скрытое поле id будет занесен адрес страницы с которой перешли. И опять вы поменяли входящие данные, так как до этого это был блок или список категории
*

andrey77777

  • Захожу иногда
  • 83
  • 1 / 1
Открываешь файл components/com_ckforms/views/ckforms/tmpl/default.php строка 247
заменяешь
value="<?php if (empty($this->post) ==false) {echo $this->post[$field->name];} else {echo $field->t_initvalueT;} ?>" на
value="<?php if (empty($this->post) ==false) {echo $this->post[$field->name];} elseif ($field->name =='id'){echo $_SERVER['HTTP_REFERER'];} else {echo $field->t_initvalueT;} ?>"
таким образом в скрытое поле id будет занесен адрес страницы с которой перешли. И опять вы поменяли входящие данные, так как до этого это был блок или список категории

Заменил - точно так же отображается! проверил на 2 сайтах  crazy!
*

rengtai

  • Новичок
  • 2
  • 0 / 0
помогите пожалуйста новичку в Joomla

в конце материала вызываю модуль обратной связи "сделать заявку" (форма обратной связи)
было бы здорово если бы на кнопке "Сделать заявку" можно было менять текст на кнопке на разных страницах
Например "Сделать заявку на пиломатериал", "Сделать заявку на бочки", ...

вызывать модуль feedback обратной связи в коде материала с передачей параметров так ?

$document = JFactory::getDocument();
$document->setBuffer( 'Сделать заявку на бочки', 'mod_feedback', 'parametr' );
{loadmodule mod_feedback}

И потом где и как присваивать значение переменной для отображения текста на кнопке ?
на примере модуля обратной связи

http://freelancer.dn.ua/blog/%D0%BA%D0%B0%D0%BA-%D0%BD%D0%B0%D0%BF%D0%B8%D1%81%D0%B0%D1%82%D1%8C-%D0%BC%D0%BE%D0%B4%D1%83%D0%BB%D1%8C-%D0%B4%D0%BB%D1%8F-joomla-3-%D0%B8%D0%BD%D1%81%D1%82%D1%80%D1%83%D0%BA%D1%86%D0%B8%D1%8F/

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

Где хранится и где искать что написали в обратной связи ?

Автор Lzrv

Ответов: 0
Просмотров: 1413
Последний ответ 04.12.2017, 21:17:14
от Lzrv
Как проверить форму обратной связи [Решено]

Автор mafiozzzza

Ответов: 8
Просмотров: 6850
Последний ответ 30.05.2017, 11:34:11
от darkghost
Как в Joomla создать форму обратной связки со своими полями?

Автор citizenfour

Ответов: 7
Просмотров: 1753
Последний ответ 28.09.2016, 21:42:13
от vipiusss
плагин обратной связи с хорошой защитой от спама!

Автор Meloc987

Ответов: 3
Просмотров: 1649
Последний ответ 23.04.2016, 10:50:21
от flyingspook
Как вставить в материал стандартную форму обратной связи Joomla 1.5?

Автор Meloc987

Ответов: 19
Просмотров: 6291
Последний ответ 20.01.2016, 14:26:25
от effrit