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

mainet

  • Захожу иногда
  • 148
  • 1 / 0
Компонент acepolls
« : 24.02.2011, 16:38:16 »
Как убрать acepolls из строки?

index.php/component/acepolls/poll/1

чтобы получилось:

index.php/poll/1
*

b2z

  • Глобальный модератор
  • 7288
  • 778 / 0
  • Разраблю понемногу
*

mainet

  • Захожу иногда
  • 148
  • 1 / 0
Re: Компонент acepolls
« Ответ #2 : 24.02.2011, 17:16:51 »
Пункт меню для Acepolls создан?
нет, стоит модуль, и когда жмешь детали, открывается полное голосование в такой строке index.php/component/acepolls/poll/1
*

b2z

  • Глобальный модератор
  • 7288
  • 778 / 0
  • Разраблю понемногу
Re: Компонент acepolls
« Ответ #3 : 24.02.2011, 18:03:21 »
Тогда понятно. Создайте пункт меню и будет Вам счастье.
*

mainet

  • Захожу иногда
  • 148
  • 1 / 0
Re: Компонент acepolls
« Ответ #4 : 24.02.2011, 19:23:15 »
Тогда понятно. Создайте пункт меню и будет Вам счастье.
нет, не помогло....
*

b2z

  • Глобальный модератор
  • 7288
  • 778 / 0
  • Разраблю понемногу
Re: Компонент acepolls
« Ответ #5 : 25.02.2011, 10:07:19 »
Возможно тогда в модуле ссылка не использует JRoute? Или криво роутер написан у компонента...
*

mainet

  • Захожу иногда
  • 148
  • 1 / 0
Re: Компонент acepolls
« Ответ #6 : 25.02.2011, 12:07:50 »
Возможно тогда в модуле ссылка не использует JRoute? Или криво роутер написан у компонента...
ссылка именно через  JRoute
Код
<?php if ($params->get('show_view_details')) : ?>
<a class="poll_result_link" href="<?php echo JRoute::_('index.php?option=com_acepolls&view=poll&id='.$slug.$itemid); ?>"><?php echo JText::_('MOD_ACEPOLLS_VIEW_DETAILS'); ?></a><br />
<?php endif; ?>

Что изменить в роутере ?вот его код
Код
<?php
/**
* @version 1.0.0
* @package AcePolls
* @subpackage AcePolls
* @copyright 2009-2011 JoomAce LLC, www.joomace.net
* @license GNU/GPL http://www.gnu.org/copyleft/gpl.html
*
* Based on Apoll Component
* @copyright (C) 2009 - 2011 Hristo Genev All rights reserved
* @license http://www.gnu.org/copyleft/gpl.html GNU/GPL
* @link http://www.afactory.org
*/

// Check to ensure this file is included in Joomla!
defined('_JEXEC') or die('Restricted access');

function AcepollsBuildRoute(&$query) {
static $items;

$segments = array();
$itemid = null;

// Break up the poll id into numeric and alias values.
if (isset($query['id']) && strpos($query['id'], ':')) {
list($query['id'], $query['alias']) = explode(':', $query['id'], 2);
}

// Get the menu items for this component.
if (!$items) {
$component = &JComponentHelper::getComponent('com_acepolls');
$menu = &JSite::getMenu();
$items = $menu->getItems('componentid', $component->id);
}

// Search for an appropriate menu item.
// First we will search for menu item linking to this poll,
// if we can't find we will look for a menu item linking to the polls view.
if (is_array($items)) {
// If only the option and itemid are specified in the query, return that item.
if (!isset($query['view']) && !isset($query['id']) && isset($query['Itemid'])) {
$itemid = (int) $query['Itemid'];
}
 
// Search for a menu that links to the same view and id
if (!$itemid) {
foreach ($items as $item) {
// Check if this menu item links to this view.
// menu-view must be equal to the query-view
// also menu-id must be equal to the query-id
if (isset($item->query['view']) && isset($query['view'])
&& $item->query['view'] == $query['view']
&& isset($item->query['id'])
&& $item->query['id'] == $query['id'])
{
$itemid = $item->id;
}
}
}

// If no specific link has been found, search for a general one.
// Search for a menu linking to polls view
if (!$itemid) {
foreach ($items as $item) {
if (isset($query['view']) && $query['view'] == 'poll' && isset($item->query['view']) && $item->query['view'] == 'polls') {
// Check for an undealt with poll id.
if (isset($query['id'])) {
// This menu item links to the apolls view but we need to append the poll id to it.
$itemid = $item->id;
$segments[] = isset($query['alias'])? $query['id'].':'.$query['alias'] : $query['id'];
break;
}
}
}
}
}

// Check if the router found an appropriate itemid.
if (!$itemid) {
//if item id was not found that means that there is no link to either polls view or poll view
// Check if a id was specified.
if (isset($query['id'])) {
if (isset($query['alias'])) {
$query['id'] .= ':'.$query['alias'];
}

// Push the id onto the stack.
$segments[] = 'poll';
$segments[] = $query['id'];

unset($query['id']);
unset($query['alias']);
}

unset($query['view']);
}
else {
$query['Itemid'] = $itemid;

// Remove the unnecessary URL segments.
unset($query['view']);
unset($query['id']);
unset($query['alias']);
}

return $segments;
}

function AcepollsParseRoute($segments) {
$vars = array();

//Get the active menu item if there is a menu link to polls view
$menu =& JSite::getMenu();
$item =& $menu->getActive();

// Count route segments
$count = count($segments);

//if item is not set, there is no menu linking to this view - poll
if (!isset($item)) {
$vars['view'] = 'poll';
$vars['id']    = $segments[$count - 1];
return $vars;
}

//if there is a menu to polls view ->
$vars['view'] = 'poll';
$vars['id'] = $segments[$count-1];

return $vars;
}
*

intcorp

  • Захожу иногда
  • 456
  • 12 / 0
Re: Компонент acepolls
« Ответ #7 : 26.02.2012, 16:23:47 »
На сайте установлен sh404SEF и ссылка идет типа www .site. ru/poll/1-opros.html
Столкнулся с другой проблемой: при включенном кешировании, если перейти на другой опрос через дропдаун компонента, опрос не перезагружается, хотя в адресной строке идет ссылка на другой опрос.
Как решить данную проблему, либо отключить кеширование для всего компонента?
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Компонент Search в Joomla 5

Автор hensler

Ответов: 4
Просмотров: 1960
Последний ответ 28.03.2025, 17:27:24
от azm1n
DJ-Classifieds - компонент доска объявлений. Как скрыть системные сообщения

Автор user2008june

Ответов: 2
Просмотров: 1090
Последний ответ 03.02.2022, 08:53:49
от user2008june
REreplacer 2.10.3 (Рус.) Компонент замены любых значений.

Автор ЗЛОЙ на всех

Ответов: 80
Просмотров: 26523
Последний ответ 28.12.2021, 23:06:04
от Vlad1
Компонент тестов Guru от iJoomla.com

Автор Фей

Ответов: 3
Просмотров: 1173
Последний ответ 31.05.2021, 00:51:00
от AdWeb
Компонент Joomla для больших каталогов

Автор powerful888

Ответов: 15
Просмотров: 2133
Последний ответ 09.07.2020, 23:03:47
от voland