Новости Joomla

Astroid обновился до версии 3.3.7!

Astroid обновился до версии 3.3.7!

Astroid — это мощный фреймворк для дизайнеров и разработчиков, позволяющий создавать адаптивные, быстрые и надежные веб-сайты и шаблоны на базе Joomla.

Главное в новой версии:

-   Исправлена загрузка файлов макетов

В предыдущем крупном релизе Astroid 3.3.6 были сделаны важные улучшения:

Основные моменты:

  • Улучшенный UI/UX в ключевых областях конфигурации
  • Повышенная стабильность и согласованность в Layout Builder и Form Builder
  • Исправления ошибок на основе отзывов сообщества
  • Улучшенная обработка визуальных эффектов, границ и шрифтов

Улучшения:

  • Обновленный UX Layout Builder
  • Улучшенный эффект предзагрузчика
  • Улучшенный стиль границ
  • Улучшенный UI/UX вкладки «Layout» в Template Options

Исправления ошибок:

  • Решены проблемы с некорректными динамическими значениями
  • Исправлен Color Transform при прокрутке
  • Устранены проблемы с работой Form Builder в Article Layout и Module Layout Builder
  • Исправлена проблема с созданием ненужных временных файлов при обработке шрифтов

Скачать: https://github.com/templaza/astroid-framework/releases/tag/v3.3.7

Как тестировать Joomla PHP-разработчику? Компонент Patch tester.

👩‍💻 Как тестировать Joomla PHP-разработчику? Компонент Patch tester.Joomla - open source PHP-фреймворк с готовой админкой. Его основная разработка ведётся на GitHub. Для того, чтобы международному сообществу разработчиков было удобнее тестировать Pull Requests был создан компонент Patch Tester, который позволяет "накатить" на текущую установку Joomla именно те изменения, которые необходимо протестировать. На стороне инфраструктуры Joomla для каждого PR собираются готовые пакеты, в которых находится ядро + предложенные изменения. В каждом PR обычно находятся инструкции по тестированию: куда зайти, что нажать, ожидаемый результат. Тестировщики могут предположить дополнительные сценарии, исходя из своего опыта и найти баги, о которых сообщить разработчику. Или не найти, и тогда улучшение или исправление ошибки быстрее войдёт в ядро Joomla. Напомню, что для того, чтобы PR вошёл в ядро Joomla нужны минимум 2 положительных теста от 2 участников сообщества, кроме автора. Видео на YouTubeВидео на VK ВидеоВидео на RuTubeКомпонент на GitHub https://github.com/joomla-extensions/patchtester@joomlafeed#joomla #php #webdev #community

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

RuCosinus

  • Осваиваюсь на форуме
  • 19
  • 0 / 1
Добрый день.

В свое время понадобилось разместить форму на сайте, но ни один из существующих компонентов не подошел и был написан компонент(именно компонент), основной задачей которого было выведение на сайт формы и последующей ее некоторой обработки. Почему компонент? Потому что единственная более-менее вменяемая статья рассказывала о написании именно компонента :) По сути это компонент-пустышка с несколькими файлами js и CSS, основной код которого находится в файлике default шаблона в папочке view. Работало это таким образом годами, но тут добрался до нее недоброжелательный робот, итогом чего стало гигантское количество спама, ибо конкретно эта форма CAPTCHA не имела. Встала задача прикрутить капчу.
Я нашел простенькую капчу, которая состоит, по сути, из единственного php-файлика. Его суть проста, как топор: он генерирует картинку по заданным переменным и сохраняет сам текст для проверки в некую сессионную переменную. Если я вызываю этот файлик из своего default.php не изменяя, то картинка показывается, но не работает проверка, потому что в оригинале, этот файлик работал с сессиями стандартными средствами PHP, то есть
Код
session_start(); 
$_SESSION['captcha'] = $capcha;
А Joomla так работать не хочет, Joomla понимает только вот так, как мы знаем
Код
$session = JFactory::getSession();
$session->set('captchaa', $capcha);
.
Но если я вставляю в файл-генератор картинки Joomla код работы с сессиями, то картинка вообще не отображается, значит файлик кем-то считается кривым :(
То есть у меня проблема в следующем - я имею два рядом лежащих php файла, один понимает работу с сессиями в php формате, второй в jooomla. Вопрос - как их подружить? Может нужно где-то прописать, что этот новый файлик тоже принадлежит компоненту, чтобы в нем тоже обрабатывались стандартные Joomla переменные и методы?
Подскажите, плз, пути решения.
*

draff

  • Гуру
  • 5801
  • 434 / 7
  • ищу работу
Прикрутил недавно kcaptcha , был трабл с картинкой.
Проверяй путь. Хотя народ на серче пишет, что лучше проверять на заполнение поля, скрытому от юзеров, но видное ботам
« Последнее редактирование: 05.08.2014, 16:23:46 от draff »
*

zomby6888

  • Завсегдатай
  • 1473
  • 171 / 3
Текст скрипта с капчей приведите сюда. Там у вас вообще фреймворк подключен Joomla?
интернет-блог: http://websiteprog.ru
*

RuCosinus

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

zomby6888:
Нет, что вы, ничего там не подключено, поэтому и интересуюсь. Код под спойлером, строки работы с сессиями по обоим методам закомментированы.

Спойлер
[свернуть]
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
А Joomla так работать не хочет, Joomla понимает только вот так, как мы знаем
Я об этом не знал ^-^. А если серьезно, то Joomla понимает все, что написано на PHP.

Код, который вы привели, только нарисует картинку и помещает значение captcha в сессию. Его не трогайте, оставьте в первоначальном виде. Вам нужно добавить в свою форму поле, значение которого будет сравниваться с тем, что в сессии.
Не будь паразитом, сделай что-нибудь самостоятельно!
*

zomby6888

  • Завсегдатай
  • 1473
  • 171 / 3
Вроде как Joomla сессии в базе хранит по умолчанию а php в файлах. Но и там и там можно использовать суперглобальный массив $_SESSION. А если хочется работать через встроенный механизм сессий ( JFactory::getSession(); ) то надо подключать фреймворк в скрипте.
интернет-блог: http://websiteprog.ru
*

RuCosinus

  • Осваиваюсь на форуме
  • 19
  • 0 / 1
robert
прошу прощения, за такой словесный оборот, что-то меня в графоманию ударило, пока писал свой вопрос. Старался наиболее доступно донести :)

robert,zomby6888
понимаете в чем дело, при формировании страницы идет обращение в том числе и к captcha.php, который я выложил, следовательно если я раскоментирую вот эти строки
Код
session_start(); 
$_SESSION['captchaa'] = $capcha;
то, в теории, в переменной сессии captchaa я найду то, что мне надо. Но, по моему, она пустая :(
Сейчас проверю, я просто понял, что предыдущая проверка, которую я проводил, была не совсем корректна.
*

RuCosinus

  • Осваиваюсь на форуме
  • 19
  • 0 / 1
Такс... Привожу итоги эксперимента.

1) Что делал: В файле captcha.php комментируем все строки с работой с сессиями, а в default.php в блоке, который выполняется после нажатия submit , пишем следующее:
Код
if (isset($_POST['submit_button']))
{
session_start();
$_SESSION['captchaa'] = '999';
$code2 = $_SESSION['captchaa'];
echo $code2;
...
Результат: после нажатия кнопки submit, на страницу выводится число 999

2) Что делал: прописываем в captcha.php следующие строки записи переменной в сессию:
Код
session_start(); 
$_SESSION['captchaa'] = '999';
В default.php пишем
Код
if (isset($_POST['submit_button']))
{
$code2 = $_SESSION['captchaa'];
echo $code2;
...
Результат: после нажатия кнопки submit, на страницу ничего не выводится.

То есть из файла в файл так ничего и не передается :( Почему?

*

zomby6888

  • Завсегдатай
  • 1473
  • 171 / 3
я думаю что при переходе от скрипта к фреймворку активизируется новая сессия. в captcha.php подключите фреймворк попробуйте:
Код: php
ddefine('_JEXEC', 1);
define('JPATH_BASE', dirname(__FILE__). '/../../../');
define('DS', DIRECTORY_SEPARATOR);
require_once JPATH_BASE . DS . 'includes' . DS . 'defines.php';
require_once JPATH_BASE . DS . 'includes' . DS . 'framework.php';
$app = JFactory::getApplication('site')->initialise();
интернет-блог: http://websiteprog.ru
*

RuCosinus

  • Осваиваюсь на форуме
  • 19
  • 0 / 1
zomby6888
Прописал ваш код в начале captcha.php.
Я правильно понимаю, что я просто вставляю его в начало без каких-либо изменений (кроме задвоенной d в первом ddefine) и фреймворк должен подключится? Никакие пути дополнительно прописывать не нужно? Или все берется из глобальных переменных и они заведомо верные?
Просто после этого картинка CAPTCHA не появляется, значит ошибка в скрипте. Сейчас все закоментирую и буду по одной записи включать, чтобы понять, что ему не нравится.
*

RuCosinus

  • Осваиваюсь на форуме
  • 19
  • 0 / 1
Проверил, где спотыкается.
Чем то ему не нравятся require_once.
*

zomby6888

  • Завсегдатай
  • 1473
  • 171 / 3
пути проверьте здесь define('JPATH_BASE', dirname(__FILE__). '/../../'); количество /../../ должно быть равно вложенности пути к вашему скрипту от корня сайта. Или вобще просто пропишите define('JPATH_BASE', 'полный_путь_к_корню_сайту'). вот так вот например: define('JPATH_BASE', 'Z:\home\localhost\www\site').
« Последнее редактирование: 06.08.2014, 19:34:35 от zomby6888 »
интернет-блог: http://websiteprog.ru
*

RuCosinus

  • Осваиваюсь на форуме
  • 19
  • 0 / 1
Да, да, я уже нашел этот косяк и исправил :)
Но все равно спасибо.
Тестирую сессии.
*

RuCosinus

  • Осваиваюсь на форуме
  • 19
  • 0 / 1
zomby6888,
да, вы были правы. Похоже сессии действительно "перещелкивались", теперь родные PHP сессии все выдают верно, но думаю и с joomla-вскими проблем не будет.
Огромное спасибо за помощь.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Как поставить более старое раширение в Joomla 4.8.4?

Автор alexs64

Ответов: 4
Просмотров: 867
Последний ответ 29.10.2025, 15:45:42
от web1
Компонент Search в Joomla 5

Автор hensler

Ответов: 4
Просмотров: 1954
Последний ответ 28.03.2025, 17:27:24
от azm1n
Расширение od jshopping categories на Joomla 5

Автор ironDiaper

Ответов: 0
Просмотров: 2453
Последний ответ 13.01.2024, 17:54:34
от ironDiaper
Непонятная работа плагина "Поиск"

Автор Snip

Ответов: 0
Просмотров: 2839
Последний ответ 20.03.2023, 10:47:56
от Snip
Формирование ссылок для компонента Joomla Tags

Автор stepan39

Ответов: 6
Просмотров: 3968
Последний ответ 05.02.2023, 15:22:13
от tweenpix