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

WinSSLioN

  • Захожу иногда
  • 111
  • 1 / 0
Реализация формы обратной связи во всплывающем окне

Используем:

- CSS
- simpleForm2
- Modules Anywhere

Заранее скажу, что многие посчитают что не интересно устанавливать дополнительный модули и плагины, НО, оба эти дополнения полезны и не помешают никому, тот же simpleForm2 в любом случаи понадобится, а Modules Anywhere очень полезен для гибкой настройки модулей на странице..


Последовность действий:

1. Для начала нам нужно сделать так что бы можно было показывать информацию во всплывающем окне без плагинов..
  
     Приведенный ниже код вставляем в модуль HTML текст и публикуем куда нибуть на сайте, данный текст будет в виде кнопки.
   
   
Код
	
<p><a href="#openModal" target="" class="btn btn-primary report-button">Название кнопки</a></p>
<div id="openModal" class="modalDialog">
<div>
<a href="#close" class="right-position" title="Закрыть"><img src="images/system/close.png"></a></p>
<h2 style="text-align: center;">Заголовок</h2>
<p>&nbsp;</p>
<p>Текст вместо которого мы потом вставим форму обратной связи</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
</div>
</div>

    В папку закидываем изображение для кнопки закрытия окна, по вкусу но размер должен быть где то 25x25px с расщирением .png  images/system/close.png

2. Далее подключаем стили CSS для окна и кнопки вызова этого самого окна.

   В файл custom.css вставляем стили:
  
  
  
Код
 /* Стили модального окна
----------------------------------------------------------------------------------------------------*/

.modalDialog {

position: fixed;

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

top: 0;

right: 0;

bottom: 0;

left: 0;

background: rgba(0, 0, 0, 0.47);

z-index: 99999;

opacity:0;

-webkit-transition: opacity 400ms ease-in;

-moz-transition: opacity 400ms ease-in;

transition: opacity 400ms ease-in;

pointer-events: none;

}

.modalDialog:target {

opacity:1;

pointer-events: auto;

}

.modalDialog > div {

width: 500px;

position: relative;

margin: 2% auto;

padding: 25px 50px 25px 50px;

border-radius: 3px;

background: #fff;

}

.close-dailog {

padding-left: 50%;

font-size: 20px;

font-weight: bold;

line-height: 20px;

color: #000;

text-shadow: 0 1px 0 #ffffff;

opacity: 0.2;

}

.close-dialog-button {

margin-left: 175px;

color: #fff;

background-color: #016da9;

border: 1px solid #016da9;

font-size: 16px;

padding: 8px 40px;

cursor: pointer;
}

.open-dialog-button {

vertical-align: 0;

color: #0070FF;

font-size: 13px;

display: inline-block;

}

.open-dialog-botton-blue {

margin-top: 6px;

color: #fff;

background-color: #008CDA;

border: 1px solid #008CDA;

padding: 3px 9px;

cursor: pointer;
}

.open-dialog-text-botton {
color: #797979;
}

  
  
    /* Конец стилей модального окна
----------------------------------------------------------------------------------------------------*/

Теперь модуль с HTML текстом будет отображен как кнопка при нажатии которой будет показано модальное окно.

3. Устанавливаем плагин Modules Anywhere который даст возможность вставлять модули в материал.

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

5. Создаем в менеджере модулей модуль simpleForm2, и настраиваем его.

6. Заходим в модуль с HTML кодом который мы создали ранее, находим под визуальным редактором кнопку Insert Module, нажимаем и выбираем модуль simpleForm2. В материале появится шорт код {module simpleForm2}  и вместо "Текст вместо которого мы потом вставим форму обратной связи" вставляем данный код.

Готово, теперь форма будет появлятся в модальном окне при нажатии кнопки.
  
P.S. CSS нашел в интернете, вот уж не помню где, но автор молодец..
« Последнее редактирование: 22.06.2015, 13:44:13 от WinSSLioN »
*

Lordon

  • Осваиваюсь на форуме
  • 16
  • 0 / 0
я до сих пор ищу, пока не нашел варианта
этот simpleForm2 не рекомендую
я его когда то устанавливал, у меня появилось около 30 страниц в индексе с simpleForm2. Потом удалял долго
*

vipiusss

  • Гуру
  • 5739
  • 344 / 11
  • Скайп: renor_
- CSS
- simpleForm2
- Modules Anywhere

CSS можно и адван модуль и не надо симпл этот, я тоже против него, он какой то заумно покарябенный.
а идея хорошая и спасибо за труд ваш.
Миграция, установка, обновление версий Joomla  |  Создание сайтов "под ключ"  |  Эксклюзивные заглушки "offline"  |  Работа с "напильником" над шаблонами и расширениями
*

kik84

  • Завсегдатай
  • 1350
  • 64 / 4
CSS можно и адван модуль и не надо симпл этот
Что такое адван?) И какая есть альтернатива симле с аналогичным функционалом?
*

vipiusss

  • Гуру
  • 5739
  • 344 / 11
  • Скайп: renor_
адвансе модуль и прикрепить в движок.
если нету, дам, офф сайт есть про него.
про алтернативу, так инклуде проще и свою всплывашку.
симпл гониво, рсформ и то лучше
Миграция, установка, обновление версий Joomla  |  Создание сайтов "под ключ"  |  Эксклюзивные заглушки "offline"  |  Работа с "напильником" над шаблонами и расширениями
*

brondex

  • Новичок
  • 4
  • 0 / 0
Красавей! Оценил и все работает)
*

staticlight

  • Завсегдатай
  • 1086
  • 65 / 0
  • Staticlight
Недавно столкнулся с проблемой поиска решения (выводим модуль с формой обратной связи в popup).
Компонент форм  - QuickForm
Modals от NN не заработали, а их форум, на котором жаловались на похожую проблему, закрыли на время переделки сайта.
Лень было возиться с урезанными шаблонами, поэтому в итоге, рабочее решение было найдено.

Решение на CSS3 и HTML5, так что будет работать не везде.

Мб кому-нибудь будет полезно.

Код

<style>
/*Убираете данный код в файлы CSS*/
.modalDialog {
position: fixed;
font-family: Arial, Helvetica, sans-serif;
top: 0;
right: 0;
bottom: 0;
left: 0;
background: rgba(0,0,0,0.8);
z-index: 99999;
opacity:0;
-webkit-transition: opacity 400ms ease-in;
-moz-transition: opacity 400ms ease-in;
transition: opacity 400ms ease-in;
pointer-events: none;
}

.modalDialog:target {
opacity:1;
pointer-events: auto;
}

.modalDialog > div {
width: 400px;
position: relative;
margin: 10% auto;
padding: 5px 20px 13px 20px;
border-radius: 10px;
background: #fff;
background: -moz-linear-gradient(#fff, #999);
background: -webkit-linear-gradient(#fff, #999);
background: -o-linear-gradient(#fff, #999);
}

.close {
background: #606061;
color: #FFFFFF;
line-height: 25px;
position: absolute;
right: -12px;
text-align: center;
top: -10px;
width: 24px;
text-decoration: none;
font-weight: bold;
-webkit-border-radius: 12px;
-moz-border-radius: 12px;
border-radius: 12px;
-moz-box-shadow: 1px 1px 3px #000;
-webkit-box-shadow: 1px 1px 3px #000;
box-shadow: 1px 1px 3px #000;

}
/* Стили modalbutton сгенерированы в CSS3 button generatorЕ */
.modalbutton {background: #42d934;
  background-image: -webkit-linear-gradient(top, #42d934, #0c800f);
  background-image: -moz-linear-gradient(top, #42d934, #0c800f);
  background-image: -ms-linear-gradient(top, #42d934, #0c800f);
  background-image: -o-linear-gradient(top, #42d934, #0c800f);
  background-image: linear-gradient(to bottom, #42d934, #0c800f);
  -webkit-border-radius: 28;
  -moz-border-radius: 28;
  border-radius: 28px;
  font-family: Arial;
  color: #ffffff !important;
  font-size: 20px;
  padding: 10px 20px 10px 20px;
  text-decoration: none;}

.modalbutton:hover {
  background: #3382c4;
  background-image: -webkit-linear-gradient(top, #3cb0fd, #3498db);
  background-image: -moz-linear-gradient(top, #3cb0fd, #3498db);
  background-image: -ms-linear-gradient(top, #3cb0fd, #3498db);
  background-image: -o-linear-gradient(top, #3cb0fd, #3498db);
  background-image: linear-gradient(to bottom, #3cb0fd, #3498db);
  text-decoration: none;
}

.close:hover { background: #00d9ff; }
</style>

В тексте материала:

<a class="modalbutton" href="#openModal">ЗАКАЗАТЬ</a>

<div id="openModal" class="modalDialog">
<div>
<a href="#close" title="Close" class="close">X</a>
<h2>Сделайте заказ, заполнив поля ниже:</h2>
<p>{QuickForm id=1}</p>

</div>
</div>

« Последнее редактирование: 14.04.2016, 10:37:13 от staticlight »
Руководитель отдела сервисного обслуживания систем безопасности.
Устали от com_content - поставьте com_k2.
TRIPLE "F" POWER: Firefox+FireShot+Firebug. Chrome + Ctrl+Shift+I
*

tkav

  • Осваиваюсь на форуме
  • 23
  • 0 / 0
Спасибо, рецепт работает!
Однако есть проблема - сообщение об успешной отправке или об ошибках запонения - не выводится в этом же окошке, т.к. кнопка "отправить" в форме первым делом закрывает окно...
Как добиться проверки формы, не закрывая окошко? Использую RsForms
*

ZyX

  • Захожу иногда
  • 254
  • 42 / 0
  • AllForJoomla.ru
В SimpleForm2 для Joomla 3.x показывать форму во всплывающем окне - это уже стандартная опция.
<a href="http://allforjoomla.ru/">AllForJoomla.ru</a> - расширения для Joomla!
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Видео в модальном окне

Автор Leo1986

Ответов: 0
Просмотров: 925
Последний ответ 25.03.2024, 18:48:40
от Leo1986
reCapcha во всплывающем окне - "Ошибка защиты от спама"

Автор Dannik

Ответов: 12
Просмотров: 2633
Последний ответ 14.09.2023, 18:59:24
от all_zer
Прием заявок через форму обратной связи

Автор timssky

Ответов: 6
Просмотров: 1085
Последний ответ 02.06.2022, 17:33:52
от marksetter
Почему не работает форма поиска type="search"

Автор Hufflepuff

Ответов: 3
Просмотров: 981
Последний ответ 16.12.2021, 12:13:46
от Hufflepuff
Общая форма регистрации и авторизации для VirtueMart 3

Автор Evgen Kulibin

Ответов: 0
Просмотров: 710
Последний ответ 30.11.2021, 14:18:37
от Evgen Kulibin