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

Nazaretto

  • Давно я тут
  • 666
  • 4 / 4
Здравствуйте! Столкнулся с такой проблемой:
На сайте http://live-football.com.ua/ есть вывод слайд-шоу (сверху, под меню). Слева, в области главного изображения слайд-шоу, есть 2 варианта перехода по ссылке:
1) Нажатие по заголовку, после чего перебрасывает на материал и при этом человек как бы размещен в одном из пунктов меню.
2) Нажатие по кнопке "ПОДРОБНЕЕ..." после чего производится переход на какую-то страничку, которая не является пунктом меню(отличие от 1-го варианта). Лишь материал выводит и все...
Собственно, в чем стоит вопрос. Мне нужно как-то сделать, что бы на кнопке "ПОДРОБНЕЕ" (2-й вариант) был тот же вид ссылки что и на заголовке (1-й вариант). По сути, ничего сложного. Код есть, его лишь нужно скопировать с первого варианта на второй. Увы, я PHP плохо знаю, по этому очень надеюсь на Вашу любую помощь.

Кидаю код из файла вывода. Вернее отрезок кода, в котором по моему мнению есть все принадлежащее для решения данной задачи.
Код
// Switching type of link
switch($item->linktype)
{
// link value
case 0:
$slide_link = $item->linkvalue;
break;
// standard link value
case 1:
$slide_link = JRoute::_(ContentHelperRoute::getArticleRoute($item->article, $item->cid, $item->sid));
break;
// blank link
default:
$slide_link = '';
break;
}
// links in titles are enabled ?
if($this->title_link == 0)
{
$slide_text = '<h2 style="color:'.$this->base_titlecolor.';">'.$slide_title.'</h2><p style="color:'.$slide_textcolor.';">'.$slide_text;
}
else // in other situation
{
// preparing hover effect
$hover_effect = ' style="color:'.$this->base_titlecolor.';" onmouseover="this.style.color = \''.$this->base_hlinkcolor.'\';" onmouseout="this.style.color = \''.$this->base_titlecolor.'\'" ';
// and code with link and hover efect
$slide_text = '<h2><a href="'.$slide_link.'" '.$hover_effect.' class="gk_news_image_6_title">'.$slide_title.'</a></h2><p style="color:'.$slide_textcolor.';">'.$slide_text;
}
// finishing slide text
$slide_text .= '</p>';
// filling JSON data tag
$this->JSON .= '<div class="gk_ni_6_news_text">'.$slide_text.'</div><div class="gk_ni_6_news_link">'.$slide_link.'</div>';
// push prepared data to slide storage
array_push($this->slides, $prepared_image);
}
}
// finishing JSON data tag
$this->JSON .= '</div>';
}

/**
Method for generating content
**/

function generateContent()
{
// create instances of basic Joomla! classes
$document =& JFactory::getDocument(); // getting handle to document
$uri =& JURI::getInstance(); // getting instance of JURI class
// include file content.php and parse it
require(JModuleHelper::getLayoutPath('mod_gk_news_image_6', 'content'));
// add stylesheets to document header
$document->addStyleSheet( $uri->root().'modules/mod_gk_news_image_6/css/style.css', 'text/css' );
// init $headData variable
$headData = false;
// add scripts with automatic mode to document header
if($this->useMoo == 2)
{
// getting module head section datas
unset($headData);
$headData = $document->getHeadData();
// generate keys of script section
$headData_keys = array_keys($headData["scripts"]);
// set variable for false
$mootools_founded = false;
// searching phrase mootools in scripts paths
for($i = 0;$i < count($headData_keys); $i++)
{
if(preg_match('/mootools/i', $headData_keys[$i]))
{
// if founded set variable to true and break loop
$mootools_founded = true;
break;
}
}
// if mootools file doesn't exists in document head section
if(!$mootools_founded)
{
// add new script tag connected with mootools from module
$headData["scripts"][$uri->root().'modules/mod_gk_news_image_6/js/mootools.js'] = "text/javascript";
// if added mootools from module then this operation have sense
$document->setHeadData($headData);
}
}
// if automatic including of JavaScript engine is enabled
if($this->useScript == 2){
// getting module head section datas
unset($headData);
$headData = $document->getHeadData();
// generate keys of script section
$headData_keys = array_keys($headData["scripts"]);
// set variable for false
$engine_founded = false;
// searching phrase mootools in scripts paths
if(array_search($uri->root().'modules/mod_gk_news_image_6/js/engine'.(($this->compress_js == 1)? '_compressed' : '').'.js', $headData_keys) > 0)
{
// if founded set variable to true
$engine_founded = true;
}
// if mootools file doesn't exists in document head section
if(!$engine_founded)
{
// add new script tag connected with mootools from module
$headData["scripts"][$uri->root().'modules/mod_gk_news_image_6/js/engine'.(($this->compress_js == 1)? '_compressed' : '').'.js'] = "text/javascript";
// if added mootools from module then this operation have sense
$document->setHeadData($headData);
}
}
// if clean code is enable use importer.php to include
// module settings in head section of document
if($this->clean_code)
{
// add script tag with module configuration to document head section
// get head document section data
unset($headData);
$headData = $document->getHeadData();
// add new script tag to head document section data array
$headData["scripts"][$uri->root().'modules/mod_gk_news_image_6/js/importer.php?mid='.$this->module_id.'&amp;animation_slide_speed='.$this->animation_slide_speed.'&amp;animation_interval='.$this->animation_interval.'&amp;autoanimation='.$this->autoanimation.'&amp;animation_slide_type='.$this->animation_slide_type.'&amp;animation_text_type='.$this->animation_text_type.'&amp;thumbnail_width='.$this->thumbnail_width.'&amp;thumbnail_height='.$this->thumbnail_height.'&amp;tabs_amount='.$this->tabs_amount.'&amp;base_bgcolor='.str_replace('#','',$this->base_bgcolor).'&amp;text_block_opacity='.$this->text_block_opacity] = "text/javascript";
// if added mootools from module then this operation have sense
$document->setHeadData($headData);
}
// add default.php template to parse if it's necessary
if($this->useMoo != 2 || $this->useScript != 2 || !$this->clean_code)
{
require(JModuleHelper::getLayoutPath('mod_gk_news_image_6', 'default'));
}
}
}

p.s.
Если нужно, могу сделать скрин-шоты любой части БД, либо выложить необходимые PHP файлы. Говорите, если что-то необходимо...

Заранее благодарю!
*

Nazaretto

  • Давно я тут
  • 666
  • 4 / 4
Re: Найти и переместить код PHP
« Ответ #1 : 15.08.2010, 21:17:37 »
Пожалуйста, хотя бы подскажите что где!?
*

petrenkodim

  • Осваиваюсь на форуме
  • 49
  • 5 / 0
Re: Найти и переместить код PHP
« Ответ #2 : 15.08.2010, 21:33:28 »
это:
Код
// Switching type of link
switch($item->linktype)
{
// link value
case 0:
$slide_link = $item->linkvalue;
break;
// standard link value
case 1:
$slide_link = JRoute::_(ContentHelperRoute::getArticleRoute($item->article, $item->cid, $item->sid));
break;
// blank link
....
поменяй на это:
Код
// Switching type of link
switch($item->linktype)
{
// standard link value
case 0: case 1:
$slide_link = JRoute::_(ContentHelperRoute::getArticleRoute($item->article, $item->cid, $item->sid));
break;
// blank link
....
*

Nazaretto

  • Давно я тут
  • 666
  • 4 / 4
Re: Найти и переместить код PHP
« Ответ #3 : 15.08.2010, 23:24:56 »
это:
Код
// Switching type of link
switch($item->linktype)
{
// link value
case 0:
$slide_link = $item->linkvalue;
break;
// standard link value
case 1:
$slide_link = JRoute::_(ContentHelperRoute::getArticleRoute($item->article, $item->cid, $item->sid));
break;
// blank link
....
поменяй на это:
Код
// Switching type of link
switch($item->linktype)
{
// standard link value
case 0: case 1:
$slide_link = JRoute::_(ContentHelperRoute::getArticleRoute($item->article, $item->cid, $item->sid));
break;
// blank link
....
То же самое... (
*

Nazaretto

  • Давно я тут
  • 666
  • 4 / 4
Re: Найти и переместить код PHP
« Ответ #4 : 17.08.2010, 22:22:01 »
Может у кого-то еще какие-то мысли есть?
*

Nazaretto

  • Давно я тут
  • 666
  • 4 / 4
Re: Найти и переместить код PHP
« Ответ #5 : 20.08.2010, 23:01:05 »
Ладно... раз никто не знает, то просто уберу кнопку "Подробнее"..
Тему можно закрывать
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться