Новости Joomla

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

NDanilov2015

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

На сайте http://alcopribor.ru/, который я обслуживаю, вместо 404-й страницы упорно идёт редирект на главную сайта. Так было всегда, просто клиент просит сделать кастомизированную 404-ю. Установил модуль Qlue Custom 404, однако ничего не изменилось. Joomla 2.5.6, PHP 5.3.10

Я сильно подозреваю, что дело в SEF-секции .htaccess, однако не могу разобраться т.к. мозг вообще не переваривает регулярных выражений. Прошу помощи, прилагаю сегмент .htaccess:
Цитировать
## Begin - Joomla! core SEF Section.
#
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
#
# If the requested path and file is not /index.php and the request
# has not already been internally rewritten to the index.php script
RewriteCond %{REQUEST_URI} !^/index\.php
# and the request is for something within the component folder,
# or for the site root, or for an extensionless URL, or the
# requested URL ends with one of the listed extensions
RewriteCond %{REQUEST_URI} /component/|(/[^.]*|\.(php|html?|feed|pdf|vcf|raw))$ [NC]
# and the requested path and file doesn't directly match a physical file
RewriteCond %{REQUEST_FILENAME} !-f
# and the requested path and file doesn't directly match a physical folder
RewriteCond %{REQUEST_FILENAME} !-d
# internally rewrite the request to the index.php script
RewriteRule .* index.php [L]
#
## End - Joomla! core SEF Section.
Также нельзя исключать того, что Joomla где-то в своих внутренностях делает этот паразитный редирект, хотелось бы узнать в каком направлении сам движок копать?
*

NDanilov2015

  • Осваиваюсь на форуме
  • 35
  • 0 / 0
PS. На сайте установлен VirtueMart.
*

NDanilov2015

  • Осваиваюсь на форуме
  • 35
  • 0 / 0
Проблема так и не решена, как бы ни ковырял всё что только можно :( Ни у кого нет идей?
*

antony2606

  • Давно я тут
  • 634
  • 46 / 4
  • Работаем!
Цитировать
Также нельзя исключать того, что Joomla где-то в своих внутренностях делает этот паразитный редирект, хотелось бы узнать в каком направлении сам движок копать?
еще и хостера нельзя исключать..!!

почитайте http://webmastermix.ru/lessons-joomla/134-stranitsa-oshibki-404-v-joomla.html
*

NDanilov2015

  • Осваиваюсь на форуме
  • 35
  • 0 / 0
Эврика! Нашел в .htaccess всё-таки место, которое создаёт проблему - листинг всей секции в первом посте приведен, а вот если закомментировать вот эту штуку:
Цитировать
RewriteRule .* index.php [L]
...то при заходе на несуществующую страницу вместо привычного патологического редиректа на главную выдаст:
Цитировать
Not Found
The requested URL /404test.html was not found on this server.
Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.
Вопросов однако ещё больше стало:
а) почему не срабатывает встроенная 404-я страница Joomla либо даже та, которую должен выдавать установленный мной плагин Qlue Custom 404?

б) что в итоге делать с этим кодом в .htaccess? Ведь эта "SEF-секция" она как я понимаю, нужна для ЧПУ-ссылок, и при этом она пакостит на 404-ю, редиректя всё на главную. Может быть в index.php надо какие-то параметры передавать в этом RewriteRule чтобы была возможность реализовать 404-ю? Однако в самом index.php вообще не вижу кода, который бы принимал какие-то браузерные параметры, вот в чем засада!
*

NDanilov2015

  • Осваиваюсь на форуме
  • 35
  • 0 / 0
Уф, нашел виновника торжества (я-то искренне верил, что [L] в SEF-секции завершает применение правил "реврайта", а судя по всему не завершает и срабатывает строчка дальше вот такая):
Цитировать
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]
Если эти 2 строки закомментировать, тогда всё работает! Но что хотел прошлый веб-программист (которого уже не найти) сделать такой секцией в .htaccess? Редирект с www на без www? Но почему он взял HTTP_HOST, а не скажем REQUEST_URI?
« Последнее редактирование: 23.06.2015, 20:41:33 от NDanilov2015 »
*

NDanilov2015

  • Осваиваюсь на форуме
  • 35
  • 0 / 0
Рано радоваться... теперь и без этого правила вместо 404-й главная вылазит, хотя полчаса назад я стабильно получал 404-ю когда его закомментировал! Совсем уже мистика возникает. :o
*

NDanilov2015

  • Осваиваюсь на форуме
  • 35
  • 0 / 0
Хостер говорит, он тут ни причем. У него свыше таких правил не спускается. Кроме того, я уже писал выше, что если закомментировать строчку в SEF-секции где редирект на index.php, то можно получить 404 Not Found от сервера. Однако у меня есть пример другого сайта, где эта секция абсолютно не мешает родной Джумловской 404-й выскакивать, а серверная не выскакивает при этом.

PS. В .htaccess можно вообще все правила убить, написанные прошлым программистом, кроме исходно Джумловских с которыми на других сайтах 404-я появляется в нормальном виде, и всё равно будет редирект на главную.
« Последнее редактирование: 23.06.2015, 22:02:31 от NDanilov2015 »
*

NDanilov2015

  • Осваиваюсь на форуме
  • 35
  • 0 / 0
Может быть viurtuemart гадит не по децки?
*

voland

  • Легенда
  • 11026
  • 588 / 112
  • Эта строка съедает место на вашем мониторе
прошлым программистом
Так может кто-то воткнул где нить в ядро принудительный редирект и всё..
Есть такие.
И вообще - почему 2,5,6 а не 2,5,28?
*

SeBun

  • BanMaster
  • 4030
  • 259 / 5
  • @SeBun48
Попробуйте обноаить версию Joomla, предварительно сделав бекап. Если не поможет, проблема не у хостера а в вашем коде.
Оказываю услуги по Joomla | Миграция/Обновление | Сопровождение | IT-аутсорсинг | Недорогие домены и хостинг
*

NDanilov2015

  • Осваиваюсь на форуме
  • 35
  • 0 / 0
Всё, проблема с редиректами окончательно решена! :D

Ответ я нашел на зарубежном форуме, рекомендую всем в закладки куда-то сохранить:
https://forum.virtuemart.net/index.php?topic=119171.0
Это действительно VirtueMart пакостит, так решили его разработчики и в новой версии эту особенность лишь смягчили, но не убрали до конца. В общем, в файле /components/com_virtuemart/virtuemart.php в самом конце необходимо найти строку (обычно 110-111):
Код
$mainframe->redirect(JRoute::_ ('index.php?option=com_virtuemart&view=virtuemart', FALSE));
закомментировать ее и на ее место вписать следующий код:
Код
JError::raise(E_ERROR,'404','Not found');
$mainframe->close();
Вот тогда будет нормальная 404-я вылезать, которая соответствует тому, что генерит error.php в шаблоне.

Voland писал:
Цитировать
И вообще - почему 2,5,6 а не 2,5,28?
Но ведь 2.5.6 новее чем 2.5.28! ;)

SeBun писал:
Цитировать
Попробуйте обноаить версию Joomla, предварительно сделав бекап. Если не поможет, проблема не у хостера а в вашем коде.
Как оказалось, это VirtueMart пакостил, и заложили в него эту пакость разработчики, которые посчитали что вместо 404-й должна главная вылезти. А почему если бы обновление Joomla не помогло, то проблема была бы не у хостера? (Или Вы опечатались и хотели сказать, что как раз у хостера?)

...с этой проблемой покончено. Но клиент хочет кастомизированную 404-ю, я хочу для этой цели запрячь модуль Qlue Custom 404, установка проходит гладко. Однако при попытке зайти в админку модуля выдаёт:
Цитировать
Fatal error: Call to a member function get() on a non-object in /home/cp062426/public_html/administrator/components/com_qlue404/controller.php on line 31
Код в этом месте гласит:
Код
class Qlue404Controller extends JControllerLegacy {
....
public function display($cachable = false, $urlparams = false)
{
  ....
  $view   = $this->input->get('view', 'customs'); //Вот тут и возникает ошибка!
  $layout = $this->input->get('layout', 'default');
  $id     = $this->input->getInt('id');
}
Как заставить этот удобный компонент нормально заработать, устранить ошибку?
*

SeBun

  • BanMaster
  • 4030
  • 259 / 5
  • @SeBun48
SeBun писал:А почему если бы обновление Joomla не помогло, то проблема была бы не у хостера? (Или Вы опечатались и хотели сказать, что как раз у хостера?)
Как я написал, так и оказалось - проблема не у хостера и она принципиально не могла быть на стороне хостера. Но я предполагал, что проблема не в магазине а в ваших файлах, поэтому предложил обновление. Кто же мог подумать, что разработчики ВиртоМарта такую бяку устроят... Похвально, что вы нашли ответ!

Как заставить этот удобный компонент нормально заработать, устранить ошибку?
А оно вам надо? Зачем городить какие то компоненты, через которые вас потом и взломают, когда есть способ проще - в htaccess прописать путь до файла, выводящего персональную страницу 404?
Оказываю услуги по Joomla | Миграция/Обновление | Сопровождение | IT-аутсорсинг | Недорогие домены и хостинг
*

draff

  • Гуру
  • 5801
  • 434 / 7
  • ищу работу
*

NDanilov2015

  • Осваиваюсь на форуме
  • 35
  • 0 / 0
SeBun писал:
Цитировать
А оно вам надо? Зачем городить какие то компоненты, через которые вас потом и взломают, когда есть способ проще - в htaccess прописать путь до файла, выводящего персональную страницу 404?
Да я уже сам сделал, как по ссылке которую мне тут кидали. Всё работает.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Периодический страница сайта открывается криво. (Подробнее в описании)

Автор 62411

Ответов: 0
Просмотров: 1310
Последний ответ 27.01.2025, 10:36:57
от 62411
Как редактировать отдельную страницу Joomla 2.5?

Автор mrporter

Ответов: 0
Просмотров: 14183
Последний ответ 14.09.2023, 22:16:47
от mrporter
Проблема с переносом Joomla сайта с хостинга на денвер

Автор 62411

Ответов: 4
Просмотров: 2200
Последний ответ 21.02.2022, 20:22:11
от arma
Нужен редирект.htaccess для перенаправления с без id на id в url сайта

Автор MultiMatrix83

Ответов: 10
Просмотров: 1612
Последний ответ 19.10.2021, 18:28:04
от draff
Долго открывается мобильная версия сайта. (подробнее в теме)

Автор 62411

Ответов: 6
Просмотров: 1577
Последний ответ 13.04.2021, 15:07:31
от IToro82