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

iroot

  • Новичок
  • 9
  • 0 / 0
Модуль новостей
« : 12.11.2011, 15:09:56 »
Приветствую.
Задача установить модуль, который будет отображать сокращенный вид последних добавленных материалов со ссылкой "подробнее". После поисков, остановился на mod_news_pro_gk4, в нем меня все устраивает, НО! Мне нужно, чтобы эти новости локализировались по мере углубления в разделы сайта, другими словами - на главной странице эти новости отображают любой материал который есть в базе, но если я нахожусь в разделе, скажем, "Автомобили -> Suzuki", то и новости должны отображаться именно из данной категории. На моем текущем модуле я не нашел такой возможности.
Помогите если кто знает как это можно реализовать
Спасибо
*

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
Re: Модуль новостей
« Ответ #1 : 12.11.2011, 15:17:31 »
Про mod_news_pro_gk4 ничего не скажу, но на основе стандартного так сделать не проблема, на главной берем перечень категорий из настроек модуля, внутри категории отлавливаем category_id из урла и подставляем в запрос модуля.
По идее так же можно и с mod_news_pro_gk4, придется хакать
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

vegushka

  • Давно я тут
  • 523
  • 36 / 1
  • Мажьте лоб вазеленкой
Re: Модуль новостей
« Ответ #2 : 12.11.2011, 15:26:46 »
создать модулт на каждый раздел и на главную.... показывать каждый модуль ТОЛЬКО в нужном разделе. соответственно модули можно настраивать как угодно :)
ненавижу icetheme, обожаю Rockettheme
Ваше спасибо - в репу, а лучше на Яндекс 41001140731879
*

iroot

  • Новичок
  • 9
  • 0 / 0
Re: Модуль новостей
« Ответ #3 : 12.11.2011, 15:56:40 »
vegushka я конечно думал сделать так, но это вроде как жуть как неправильно, в итоге получится 30-40 модулей.
beliyadm попробую, но я не настолько суров, поэтому хотелось бы найти модуль с такой возможностью
*

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
Re: Модуль новостей
« Ответ #4 : 12.11.2011, 17:59:19 »
В принципе все просто, покажу на примере стандартного mod_latestnews, дальше решайте сами
В хелпере находим
Код: php
 if ($catid)
{
$ids = explode( ',', $catid );
JArrayHelper::toInteger( $ids );
$catCondition = ' AND (cc.id=' . implode( ' OR cc.id=', $ids ). ')';
}
if ($secid)
{
$ids = explode( ',', $secid );
JArrayHelper::toInteger( $ids );
$secCondition = ' AND (s.id=' . implode( ' OR s.id=', $ids ). ')';
}

// Content Items only
$query = 'SELECT a.*, ' .
' CASE WHEN CHAR_LENGTH(a.alias) THEN CONCAT_WS(":", a.id, a.alias) ELSE a.id END as slug,'.
' CASE WHEN CHAR_LENGTH(cc.alias) THEN CONCAT_WS(":", cc.id, cc.alias) ELSE cc.id END as catslug'.
' FROM #__content AS a' .
($show_front == '0' ? ' LEFT JOIN #__content_frontpage AS f ON f.content_id = a.id' : '').
' INNER JOIN #__categories AS cc ON cc.id = a.catid' .
' INNER JOIN #__sections AS s ON s.id = a.sectionid' .
' WHERE '. $where .' AND s.id > 0' .
($access ? ' AND a.access <= ' .(int) $aid. ' AND cc.access <= ' .(int) $aid. ' AND s.access <= ' .(int) $aid : '').
($catid ? $catCondition : '').
($secid ? $secCondition : '').
($show_front == '0' ? ' AND f.content_id IS NULL ' : '').
' AND s.published = 1' .
' AND cc.published = 1' .
' ORDER BY '. $ordering;
И заменяем на
Код: php
        $option = JRequest::getVar( 'option', '', 'get' );
        $view =  JRequest::getVar( 'view', '', 'get' );

if ($option == 'com_content' && $view = 'category') {
$categoryID = JRequest::getInt( 'id', '', 'get' );
$catCondition = ' AND cc.id = '.$categoryID.'';
}
if ($catid)
{
$ids = explode( ',', $catid );
JArrayHelper::toInteger( $ids );
$catCondition = ' AND (cc.id=' . implode( ' OR cc.id=', $ids ). ')';
}
if ($secid)
{
$ids = explode( ',', $secid );
JArrayHelper::toInteger( $ids );
$secCondition = ' AND (s.id=' . implode( ' OR s.id=', $ids ). ')';
}

// Content Items only
$query = 'SELECT a.*, ' .
' CASE WHEN CHAR_LENGTH(a.alias) THEN CONCAT_WS(":", a.id, a.alias) ELSE a.id END as slug,'.
' CASE WHEN CHAR_LENGTH(cc.alias) THEN CONCAT_WS(":", cc.id, cc.alias) ELSE cc.id END as catslug'.
' FROM #__content AS a' .
($show_front == '0' ? ' LEFT JOIN #__content_frontpage AS f ON f.content_id = a.id' : '').
' INNER JOIN #__categories AS cc ON cc.id = a.catid' .
' INNER JOIN #__sections AS s ON s.id = a.sectionid' .
' WHERE '. $where .' AND s.id > 0' .
($access ? ' AND a.access <= ' .(int) $aid. ' AND cc.access <= ' .(int) $aid. ' AND s.access <= ' .(int) $aid : '').
($categoryID ? $catCondition : '').
($catid ? $catCondition : '').
($secid ? $secCondition : '').
($show_front == '0' ? ' AND f.content_id IS NULL ' : '').
' AND s.published = 1' .
' AND cc.published = 1' .
' ORDER BY '. $ordering;
Так, если мы на главной - берется список категорий из настроек модуля, если внутри категории материалов - только материалы текущей категории.
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Модуль mod_custom: где сохраняется добавляемый код?

Автор r0m4n

Ответов: 8
Просмотров: 3590
Последний ответ 20.12.2023, 09:52:48
от kit2m2
Модуль Layer Slider (John Gera, George Krupa, Janos Biro, Balint Polgarfi)

Автор wayn

Ответов: 1
Просмотров: 1456
Последний ответ 15.12.2019, 13:10:49
от beliyadm
Не показывать в модуле новостей открытую новость

Автор zahar_92

Ответов: 5
Просмотров: 1459
Последний ответ 15.03.2019, 11:07:37
от zahar_92
Модуль sp page builder

Автор denchik82

Ответов: 13
Просмотров: 7314
Последний ответ 19.02.2019, 07:34:58
от bayersoff
Архив новостей

Автор mrwad

Ответов: 0
Просмотров: 1298
Последний ответ 10.05.2018, 16:16:37
от mrwad