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

Вышел релиз Revo PageBuilder Toolkit for YOOtheme Pro 1.6

Вышел релиз Revo PageBuilder Toolkit for YOOtheme Pro 1.6.2PageBuilder Toolkit - это специализированный плагин для конструктора страниц Yootheme Pro, содержит набор различных утилит для ускорения процесса работы и отладки макета, множественные улучшения в интерфейсе, включая поддержку dark mode, подсказки, быстрая смена разрешения в окне просмотра и много чего еще.v.1.6.2 Что нового?- Индикатор статусов: теперь не просто показывает состояние запросов, но и делает автоматические попытки их отправки при кратковременных сбоях в сети, а если это не помогло, то переводит конструктор в ручной режим, что позволяет сохранит макет и настройки темы прежде чем вы потеряете все, что было сделано с момента последнего сохранения- Подсветка ошибок в макете: плагин анализирует код страницы и может автоматически подсвечивать data атрибуты с кучей мусора, которые попадают в код страницы при копипасте из Figma в TinyMCE (пригодится для старых макетов, в текущей работе плагин сам очищает код мусора). Также есть подсветка семантических ошибок сборки - дубли h1 тега на странице и вложенных друг в друга заголовков.- Улучшена поддержка будущего релиза Yootheme Pro 5 и редактора CodeMirror 6Плагин для русскоязычных пользователей доступен в каталоге расширений SovMart и распространяется за символическую плату (100р). Разработчики Joomla расширений и партнеры автора могут получить плагин бесплатно.Для работы плагина необходим конструктор страниц Yootheme Pro.Разработчик плагина - участник нашего сообщества Александр Судьбинов (@alexrevo), член официальной группы поддержки Yootheme Pro. Страница расширенияОписание на сайте автора@joomlafeed#joomla #yootheme

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

Efanych

  • Глобальный модератор
  • 4683
  • 644 / 0
  • Меняю свою жизнь на 360°!
Цитировать
Подскажите как вернуть ссылку главной?
Лечится, если в модуле меню (в котором пункт по умолчанию) выставить стиль отображения - список. Правда полетит оформление, придётся стили переписывать.
Создание сайтов, шаблонов, помощь в решении проблем.
*

bestor

  • Новичок
  • 3
  • 0 / 0
Лечится, если в модуле меню (в котором пункт по умолчанию) выставить стиль отображения - список. Правда полетит оформление, придётся стили переписывать.
Стиль отображения изначально выставлен списком. не помогло.
*

bestor

  • Новичок
  • 3
  • 0 / 0
После подстановки кода в article, главная http://www.site.ru/ теперь имеет вид http://www.site.ru/glavnaya.html.
Теперь http://www.site.ru/ вообще не работает, даже с перенаправлением.
в .htaccess прописано:
#RewriteCond %{REQUEST_URI} ^(/components/option,com) [NC,OR]
#RewriteCond %{REQUEST_URI} (/|\.htm|\.php|\.html|/[^.]*)$ [NC]
#RewriteCond %{REQUEST_FILENAME} !-f
#RewriteCond %{REQUEST_FILENAME} !-d
#RewriteRule (.*) index.php

Подскажите как вернуть ссылку главной в первоначальный вид?
*

angemax

  • Захожу иногда
  • 140
  • 3 / 0
Привет! все сделано, как описано в файле первого поста.
home.html - пропала, но так же  пропал вывод страницы 404. Стоит плагин Artio Joom SEF
Если до борьбы с дублями переход по ссылке http://sites.ru/123  перекидывал на страницу ошибки 404, которая для этого и оформлена. То сейчас отображается обычная джумловская ошибка о не найденной странице.

А страница home, вновь всплыла через час :o Что-то не пойму....

Как с этим быть?
« Последнее редактирование: 15.06.2011, 23:17:07 от angemax »
*

bren

  • Осваиваюсь на форуме
  • 11
  • 0 / 0
Ребята а у меня вообще нету такого пути Файл /templates/название_вашего_шаблона/html/ а дальше кроме файла moduls  там нет нечего :(  и что тогда не работает этот метод?
*

Mihanja80

  • Завсегдатай
  • 1918
  • 168 / 4
  • Всю жизнь учусь...
ну так создайте если ещё нет...
Я с мобильного, в основном...
*

TwistedAndy

  • Захожу иногда
  • 84
  • 23 / 1
Скажите во всех 4-еч файлах это нужно делать, если у меня дублируется только главная, то есть нет там всяких тяжелых компонентов итп? Глюков не будет итп?
Там нужно вносить изменения в те шаблоны, для которых нужно проверять дубли.

Подскажите как вернуть ссылку главной?
Прописываем внутренний редирект (с флагом L) с / на glavnaya.html

Цитировать
Стоит плагин Artio Joom SEF
Значит придется его отключить.

Цитировать
и что тогда не работает этот метод?
Придется другой файл править. Об этом написано.
*

sherza

  • Захожу иногда
  • 226
  • 90 / 1
TwistedAndy,
Все здорово, но:
Не учли маленькую деталь
В случае frontpage у вас следующее: $this->original_link = "/";
Если сайт находится в субдиректории, переадресация будет не к корню сайта. Думаю, имеет смысл заменить на JURI::base(true).'/' 

Еще я подумала, почему бы не вынести все хаки в маленький контектстный плагин и вызывать по событию onPrepareContent. Как считаете?
Код: php
	function onPrepareContent(&$article, &$params, $limitstart = 0)
{

$real_link = JRequest::getURI();
$option=JRequest::getVar('option', '', 'get');
$view=JRequest::getVar('view', '', 'get');
$layout=JRequest::getVar('layout');
    if($option=='com_content'){
switch($view){
  case 'article':
    if ($article->readmore_link != $real_link) JApplication::redirect($article->readmore_link);
  break;
  case 'category':
    if($layout=='blog' && $article->catslug){
$original_link = JRoute::_(ContentHelperRoute::getCategoryRoute($article->catslug, 0));
if (JRequest::getInt('start') > 0) $original_link .= "?start=" . JRequest::getVar('start');
if ($original_link != $real_link) JApplication::redirect($original_link);
    }
  break;
  case 'section':
    if($layout=='blog' && $article->sectionid){
$original_link = JRoute::_(ContentHelperRoute::getSectionRoute($article->sectionid));
if (JRequest::getInt('start') > 0) $original_link .= "?start=" . JRequest::getVar('start');
if ($original_link != $real_link) JApplication::redirect($original_link);
    }
  break;
  case 'frontpage':
      $original_link = JURI::base(true).'/';
      if (JRequest::getInt('start') > 0) $original_link .= "index.php?start=".JRequest::getVar('start');
      if ($original_link != $real_link) JApplication::redirect($original_link);

  break;
}
             }

}

(я добавила строчку " if($option=='com_content')" , поскольку плагины content могут подгружаться не только в компоненте com_content)
*

TwistedAndy

  • Захожу иногда
  • 84
  • 23 / 1
TwistedAndy,
Все здорово, но:
Не учли маленькую деталь
В случае frontpage у вас следующее: $this->original_link = "/";
Если сайт находится в субдиректории, переадресация будет не к корню сайта. Думаю, имеет смысл заменить на JURI::base(true).'/' 

Еще я подумала, почему бы не вынести все хаки в маленький контектстный плагин и вызывать по событию onPrepareContent. Как считаете?
Код: php
	function onPrepareContent(&$article, &$params, $limitstart = 0)
{

$real_link = JRequest::getURI();
$option=JRequest::getVar('option', '', 'get');
$view=JRequest::getVar('view', '', 'get');
$layout=JRequest::getVar('layout');
    if($option=='com_content'){
switch($view){
  case 'article':
    if ($article->readmore_link != $real_link) JApplication::redirect($article->readmore_link);
  break;
  case 'category':
    if($layout=='blog' && $article->catslug){
$original_link = JRoute::_(ContentHelperRoute::getCategoryRoute($article->catslug, 0));
if (JRequest::getInt('start') > 0) $original_link .= "?start=" . JRequest::getVar('start');
if ($original_link != $real_link) JApplication::redirect($original_link);
    }
  break;
  case 'section':
    if($layout=='blog' && $article->sectionid){
$original_link = JRoute::_(ContentHelperRoute::getSectionRoute($article->sectionid));
if (JRequest::getInt('start') > 0) $original_link .= "?start=" . JRequest::getVar('start');
if ($original_link != $real_link) JApplication::redirect($original_link);
    }
  break;
  case 'frontpage':
      $original_link = JURI::base(true).'/';
      if (JRequest::getInt('start') > 0) $original_link .= "index.php?start=".JRequest::getVar('start');
      if ($original_link != $real_link) JApplication::redirect($original_link);

  break;
}
             }

}

(я добавила строчку " if($option=='com_content')" , поскольку плагины content могут подгружаться не только в компоненте com_content)
Было бы неплохо в качестве плагина реализовать. Проще стало бы устанавливать. Я, правда, пока этим заняться не могу т.к. времени на изучение Joomla API нет :(
*

skai

  • Завсегдатай
  • 1198
  • 153 / 1
  • skaiseo
Предлагаю скинуться всем желающим и разместить ТЗ в коммерческом разделе. Думаю, что за 1000-1500р. исполнитель будет найден в тот же день. Тем более что само решение уже есть.
Наполнение вашего сайта - 1т.р. стр. (текст, изображения, мета, перелинковка). Гарантия высокого ранжирования. SEO консультация в подарок.
----------------------------------------------------------------------------------------------
*

sherza

  • Захожу иногда
  • 226
  • 90 / 1
в общем, для себя я сделала плагин
http://hekima.ru/downloads/shnodoubles.zip
правда, он, помимо указанного, заменяет ссылки, содержащие component/content/article , на ссылки с определенным алиасом, указанным в админ-панели плагина (мне так было надо под мою конкретную задачу)
если кому-то пригодится - буду рада
*

AmiGator

  • Захожу иногда
  • 56
  • 3 / 0
в общем, для себя я сделала плагин
http://hekima.ru/downloads/shnodoubles.zip
правда, он, помимо указанного, заменяет ссылки, содержащие component/content/article , на ссылки с определенным алиасом, указанным в админ-панели плагина (мне так было надо под мою конкретную задачу)
если кому-то пригодится - буду рада

надо надо. надо уже как много лет :) на 1.6 работает? потестирую как будет возможность
*

TTL

  • Захожу иногда
  • 163
  • 10 / 0
  • Мы друзья, не то что другие))
в общем, для себя я сделала плагин
http://hekima.ru/downloads/shnodoubles.zip
правда, он, помимо указанного, заменяет ссылки, содержащие component/content/article , на ссылки с определенным алиасом, указанным в админ-панели плагина (мне так было надо под мою конкретную задачу)
если кому-то пригодится - буду рада
Огромное спасибо, буду тестировать.
*

lpsz

  • Осваиваюсь на форуме
  • 10
  • 1 / 0
Решение отличное и автор реальный молодец!

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

Проверил редирект на статьях, Joomla 1.5.22.
Он отдает 303,  а не 301 (который угоден поисковикам).
Причина в файле - libraries/joomla/application/application.php,
функция редиректа из которого и вызывается.

Собственно просмотр этой функции и поможет обойти это досадное
поведение.

А автору ветки спасибо - идея очень хорошая!
*

TTL

  • Захожу иногда
  • 163
  • 10 / 0
  • Мы друзья, не то что другие))
Решение отличное и автор реальный молодец!

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

Проверил редирект на статьях, Joomla 1.5.22.
Он отдает 303,  а не 301 (который угоден поисковикам).
Причина в файле - libraries/joomla/application/application.php,
функция редиректа из которого и вызывается.

Собственно просмотр этой функции и поможет обойти это досадное
поведение.

А автору ветки спасибо - идея очень хорошая!
Как решить данный вопрос?
*

TTL

  • Захожу иногда
  • 163
  • 10 / 0
  • Мы друзья, не то что другие))
TwistedAndy, разберетесь с редиректами или мне поглядеть?
Поглядите пожалуйста, если не затруднит.
*

TTL

  • Захожу иногда
  • 163
  • 10 / 0
  • Мы друзья, не то что другие))
Уважаемых sherza и автора данного решения прошу WMR кошельки написать, с удовольствием отблагодарю. Я думаю присоединятся и другие.
*

AmiGator

  • Захожу иногда
  • 56
  • 3 / 0
в общем, для себя я сделала плагин
http://hekima.ru/downloads/shnodoubles.zip
правда, он, помимо указанного, заменяет ссылки, содержащие component/content/article , на ссылки с определенным алиасом, указанным в админ-панели плагина (мне так было надо под мою конкретную задачу)
если кому-то пригодится - буду рада

кстати, ваш вариант работает только с подстановкой "home", попробовал туда написать "h" и выдало ошибку 404. но даже вариант с "home" имеет глюк. если на сайте шаблон для главной отличается от шаблона для других страниц, то плагин путается и использует его.
Идеальным решением для Joomla было бы аля drupal, когда в поле вписываешь alias и он его юзает как положено, именно как адрес, а не перенаправление
*

321

  • Захожу иногда
  • 364
  • 3 / 8
Ребяты у кого есть нормальное решение в нормальном для работы формате не в pdf, поделитесь, пожалуйста!

Efanych, Спасибо огромное за

Цитировать
Поставьте программу, например Foxit pdf reader или adobe reader
« Последнее редактирование: 03.07.2011, 15:38:35 от 321 »
*

Raensul

  • Осваиваюсь на форуме
  • 10
  • 0 / 0
почему-то такая проблема:
когда в адресе указываю неверный адрес именно материала, т.е. вместо /category/article.html пишу category/artcl.html появляется ошибка "Database Error: Unable to connect to the database:Could not connect to MySQL"
на другом моем сайте все ок.
все действия одинаковые были, правда хостинги разные.
куда копать?
*

vveco

  • Осваиваюсь на форуме
  • 29
  • 0 / 0
в общем, для себя я сделала плагин
http://hekima.ru/downloads/shnodoubles.zip
правда, он, помимо указанного, заменяет ссылки, содержащие component/content/article , на ссылки с определенным алиасом, указанным в админ-панели плагина (мне так было надо под мою конкретную задачу)
если кому-то пригодится - буду рада
Спасибо, поставил. Точнее вопрос - скачал, установил, активировал и.. все - наслаждаюсь результатом? - или еще что то нужно сделать, настроить в Joomla?
и с этим моментом как быть:
"Он отдает 303,  а не 301 (который угоден поисковикам).
Причина в файле - libraries/joomla/application/application.php,
функция редиректа из которого и вызывается."
Не местный я, не ругайтесь сильно. Это решение окончательное и самодостаточное или еще в robots.txt нужно что то прописывать?
*

Kuzy4ka

  • Осваиваюсь на форуме
  • 15
  • 0 / 0
Помогите решить проблему с вечным редиректом.
Установил плагин, все страницы редиректется как надо с дублей на алиас который прописан в меню. Но проблема в главной, как я понимаю она тоже редиректится с / на алиас index.html

Поисковик знает мою главную как "http://www.мой-сайт.ru/" но не как
"http://www.мой-сайт.ru/index.html"

Мои редиректы в htaccess

RewriteEngine On
RewriteCond %{HTTP_HOST} ^мой-сайт\.ru$ [NC]
RewriteRule ^(.*)$ http://www.мой-сайт.ru/$1 [R=301,L]
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/
RewriteRule ^index\.php$ http://www.мой-сайт.ru/ [R=301,L]
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.html\ HTTP/
RewriteRule ^index\.html$ http://www.мой-сайт.ru/ [R=301,L]

код плагина
Код
<?php

defined( '_JEXEC' ) or die( 'Restricted access' );

jimport( 'joomla.plugin.plugin' );

class plgSystemShnodoubles extends JPlugin
{

function onAfterRender()
{

$app =& JFactory::getApplication();
$homealias=$this->params->get('homealias', 'home');

if($app->getName()!= 'site') {
return true;
}
$buffer = JResponse::getBody();
$regex  = '#component/content/article/#m';
$buffer=preg_replace($regex,$homealias.'/',$buffer);
JResponse::setBody($buffer);
return true;
}

function onPrepareContent(&$article, &$params, $limitstart = 0)
{

$real_link = JRequest::getURI();
$original_link='';
$option=JRequest::getVar('option', '', 'get');
$view=JRequest::getVar('view', '', 'get');
$layout=JRequest::getVar('layout');

$homealias=$this->params->get('homealias', 'home');

if($option=='com_content'){
    switch($view){
      case 'article':
$original_link=$article->readmore_link;
if(strpos($original_link, 'component/content/article')!== false) $original_link= str_replace('component/content/article', $homealias, $original_link);
      break;
      case 'category':
if($layout=='blog' && $article->catslug){
    $original_link = JRoute::_(ContentHelperRoute::getCategoryRoute($article->catslug, $article->sectionid));
    if (JRequest::getInt('start') > 0) $original_link .= "?start=" . JRequest::getVar('start');
}
      break;
      case 'section':
if($layout=='blog' && $article->sectionid){
    $original_link = JRoute::_(ContentHelperRoute::getSectionRoute($article->sectionid));
    if (JRequest::getInt('start') > 0) $original_link .= "?start=" . JRequest::getVar('start');
}
      break;
      case 'frontpage':
  $original_link = JURI::base(true).'/';
  if (JRequest::getInt('start') > 0) $original_link .= "index.php?start=".JRequest::getVar('start');
      break;
    }

    if (($original_link != $real_link) && $original_link){
      if($this->params->get('301redirect', 1)){
    JApplication::redirect($original_link);
      }else JError::raiseError( 404, JText::_( 'Страница не найдена' ) );
    }
}
}

}
:D !Помогите парни все пальцы стер уже и поисковиков достал
« Последнее редактирование: 12.07.2011, 17:23:56 от Kuzy4ka »
*

Kuzy4ka

  • Осваиваюсь на форуме
  • 15
  • 0 / 0
Решил проблему частично, методом удаления алиаса "index" из базы данных в записи главной страницы.
Но это временное решение и не совсем подходит, так как если зайти в пункт меню и зайти на главную страницу, при сохранении запишет алиас по дефолту и надо будет в каждый раз бегать в базу данных.
Есть у кого ещё идеи?
*

liberator

  • Захожу иногда
  • 208
  • 4 / 0
Прежде всего спасибо за мамбота! Очень хорошее решение бОльшей части проблемы - маленьким дополнением....Еще хочу добавить, может кому то будет полезно. Есть компонент, который решает данную задачу, есть платные версии, но в бесплтатной так же работает функция перенаправления - для решения проблем с дублированием.
Компонент называется AceSEF,
Описание тут
http://extensions.joomla.org/extensions/site-management/sef/10019?qh=YTo3OntpOjA7czoxMToiZHVwbGljYXRpb24iO2k6MTtzOjk6ImR1cGxpY2F0ZSI7aToyO3M6MTA6ImR1cGxpY2F0ZXMiO2k6MztzOjEwOiJkdXBsaWNhdGVkIjtpOjQ7czoxMToiZHVwbGljYXRpbmciO2k6NTtzOjEwOiJkdXBsaWNhdG9yIjtpOjY7czoxMjoiZHVwbGljYXRpb25zIjt9
оф сайт и загрузить мона тут...:
http://www.joomace.net/joomla-extensions/acesef#download
*

liberator

  • Захожу иногда
  • 208
  • 4 / 0
С мамботом трабла вышла, не для компонентов он похоже :) - у меня проблема с компонентом com_estateagent - там плагин не работает, видимо условие стоит "только для компонента контент?" :)
*

Dimitry

  • Новичок
  • 2
  • 1 / 0
в общем, для себя я сделала плагин
http://hekima.ru/downloads/shnodoubles.zip
правда, он, помимо указанного, заменяет ссылки, содержащие component/content/article , на ссылки с определенным алиасом, указанным в админ-панели плагина (мне так было надо под мою конкретную задачу)
если кому-то пригодится - буду рада

sherza, не могли бы вы переписать плагин под J1.6 или J1.7 ? Спасибо.
*

sherza

  • Захожу иногда
  • 226
  • 90 / 1
Dimitry, могу, конечно. Но, честно говоря, я сейчас думаю над более универсальным решением- компонентом/плагином. Поскольку помимо com_content есть еще такие вещи как kunena и т.п, где возникает та же самая история. Есть несколько моментов, по которым меня не устраивают существующие решения SEF в данном направлении (платные и бесплатные), вот думаю сделать что-то универсальное и в то же время нересурсоемкое. Сейчас для меня это насущная необходимость. Если это будет кому-то интересно - присоединяйтесь (буду рада советам, рекоммендациям, дополнениям).
*

igorich

  • Осваиваюсь на форуме
  • 13
  • 0 / 0
Подскажите, как проще всего средствами htaccess запретить diz-by.com/panogallery/ (404 ошибка)
рабочий урл должен быть http://diz-by.com/panogallery.html
*

vomitting

  • Захожу иногда
  • 80
  • 0 / 0
Простите а если этот фикс сделать, то чожно этот не делать? - http://forum.searchengines.ru/showthread.php?t=541101

Или лучше оба сделать?
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Не работают SEF-ссылки на Joomla 5

Автор Detonator

Ответов: 2
Просмотров: 3528
Последний ответ 29.03.2025, 07:26:44
от azm1n
Расширение SEF Wizard — улучшение маршрутизации и ЧПУ в Joomla! Инструменты SEO - администратора

Автор Филипп Сорокин

Ответов: 525
Просмотров: 58966
Последний ответ 22.10.2022, 12:14:38
от Lemonez
Как убрать ID из URL Joomla 3?

Автор SaxMusicOnly

Ответов: 142
Просмотров: 63111
Последний ответ 02.03.2021, 14:47:35
от Vasiliy111
Редирект со страниц *.php на главную через htaccess ~

Автор kiev

Ответов: 0
Просмотров: 3125
Последний ответ 07.02.2021, 15:29:04
от kiev
Как прописать "canonical" для всех страниц с поддомена на домен?

Автор misteri27

Ответов: 11
Просмотров: 7216
Последний ответ 12.09.2020, 10:41:07
от webzepa