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

Atlantis114

  • Осваиваюсь на форуме
  • 14
  • 0 / 0
Добрый день. На сайте подключено несколько форм обратной связи (Super simple contact form). Для Яндекс Метрики необходимо, что бы каждая кнопка отправки, в теге input содержала свой - onclick="yaCounterXXXXXX.reachGoal('TARGET_NAME'); return true;".

Я пошел по адресу modules\mod_super_simple_contact_form\tmpl.php там дополнил код
<input class='rf_submit' type="submit" value="<?php echo $params->get('message_button'); ?>" id="send<?php echo $idmodule ?>" name="submitcontactform<?php echo $idmodule ?>" onclick="yaCounterXXXXXX.reachGoal('TARGET_NAME'); return true;" />

Все работает, НО мне необходимо, что бы у каждой формы был свой индивидуальный метод reachGoal, а не общий на все.
Спойлер
[свернуть]

Подскажите пожалуйста, как можно внести изменения для каждого модуля в отдельности ?


*

lexxbry

  • Живу я здесь
  • 2387
  • 68 / 8
как минимум переопределить в шаблоне
и сделать копии с изменениями для tmpl.php
а потом в модуле как шаблон выбрать их(если это возможно не работал просто с этим модулем)
SEO-оптимизация,продвижение
Создание и сопровождение сайтов на Joomla
Миграция
*

fbr

  • Завсегдатай
  • 1679
  • 209 / 7
в коде, приведенном вами, есть $idmodule
вот к нему и привязывайтесь
Например:

Код
if ($idmodule == 123) {
$TARGET_NAME = "xxx";
} elseif (....) {}

А в onclick подставляете уже переменную $TARGET_NAME
*

draff

  • Гуру
  • 5801
  • 434 / 7
  • ищу работу
Для Яндекс Метрики необходимо, что бы каждая кнопка отправки, в теге input содержала свой - onclick="yaCounterXXXXXX.reachGoal('TARGET_NAME'); return true;".
Не верьте всему сказанному .Назначьте каждому создаваемому модулю суффикс класса модуля, который будет служит селектором. И потом аналогично моему способу, для каждого селектора свой таргет.
*

Atlantis114

  • Осваиваюсь на форуме
  • 14
  • 0 / 0
в коде, приведенном вами, есть $idmodule
вот к нему и привязывайтесь
Например:

Код
if ($idmodule == 123) {
$TARGET_NAME = "xxx";
} elseif (....) {}

А в onclick подставляете уже переменную $TARGET_NAME

Благодарю за подсказку, не могли бы подсказать, что я сделал не верно ? на JS такая конструкция бы работала.

<input class='rf_submit' type="submit" value="<?php echo $params->get('message_button'); ?>" id="send<?php echo $idmodule ?>" name="submitcontactform<?php echo $idmodule ?>" onclick="yaCounter123456.reachGoal('<?php echo $target_name ?>'); return true;"/>


        <?php if($idmodule == 'send89') : ?>
            $target_name = 123;
        <?php endif; ?>

Ничего не подставляет, ID кнопки прописан верно.
*

Atlantis114

  • Осваиваюсь на форуме
  • 14
  • 0 / 0
Не верьте всему сказанному .Назначьте каждому создаваемому модулю суффикс класса модуля, который будет служит селектором. И потом аналогично моему способу, для каждого селектора свой таргет.

Благодарю за помощь, подскажите только в каком виде должна быть запись в php, что бы шла подстановка в JS, по вашей конструкции.
*

draff

  • Гуру
  • 5801
  • 434 / 7
  • ищу работу
подскажите только в каком виде должна быть запись в php
Только через параметры модуля и вставкой JavaScript в шаблон, иначе при обновлении модуля изменения в файле затрутся.
*

Atlantis114

  • Осваиваюсь на форуме
  • 14
  • 0 / 0
Только через параметры модуля и вставкой JavaScript в шаблон, иначе при обновлении модуля изменения в файле затрутся.
Блин не догоняю малость)))

Значить в default.php я ничего не дописываю, не изменяю.
Вот код моей выводимой кнопки: <input class='rf_submit' type="submit" value="Позвоните мне" id="send89" name="submitcontactform89" />

Если я в JS (jQuery) пропишу

jQuery('#send89').on('click', function() {
    yaCounterXXXXXXX.reachGoal('имя_цели');
});

У меня ничего не будет происходить. 

*

draff

  • Гуру
  • 5801
  • 434 / 7
  • ищу работу
У меня ничего не будет происходить.
На сайте не будет, а цель будет в списке целей Яндекс активной. НО если правильно настроен JavaScript, т.е нет конфликта яваскриптов и правильно выбран селектор.-
*

Atlantis114

  • Осваиваюсь на форуме
  • 14
  • 0 / 0
На сайте не будет, а цель будет в списке целей Яндекс активной. НО если правильно настроен JavaScript, т.е нет конфликта яваскриптов и правильно выбран селектор.-
Спасибо буду пробовать.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Дублируются дивы у модуля mod_custom

Автор timofe

Ответов: 0
Просмотров: 776
Последний ответ 07.09.2024, 13:19:48
от timofe
Вывод содержимого модуля mod_custom без html разметки

Автор goga_pgasovav

Ответов: 3
Просмотров: 1212
Последний ответ 07.06.2024, 11:15:50
от goga_pgasovav
Убрать из модуля новостей ссылку на статью, на которой выводится модуль

Автор zeus07

Ответов: 3
Просмотров: 1465
Последний ответ 08.11.2023, 21:17:26
от GrayAn
Изменение отображения модуля от разрешения экрана

Автор mag_num83

Ответов: 5
Просмотров: 1040
Последний ответ 17.05.2023, 09:35:23
от Театрал
Как удалить позицию модуля в настройках модуля?

Автор 62411

Ответов: 6
Просмотров: 1097
Последний ответ 12.03.2023, 18:24:38
от 62411