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

DioGen

  • Осваиваюсь на форуме
  • 11
  • 1 / 0
Поплыл сайт в IE8
« : 20.05.2010, 13:16:25 »
САБЖ.

Хроника:
 - после установки шаба все норм и в лисе и в IE8
 -добавлялись компоненты и плагины
 - все норм
 - первый трабл после введение display: none
 - потом и вовсе (пока непонятно почему) в IE8 поплыл влево и сбились CSS для заголовков.

Решил трабл установкой плагина IE8 Compatibility, но именно для IE8 (и то стили для заголовков не привязались). Для IE7 - также плывет влево.

Кроме того в IE при переходе по определенным ссылкам меню переход на 404 (возможно из-за JoomSEF).

В Firefox ВСЕ РАБОТАЕТ ХОРОШО.

Вот такая трабла, может кто подскажет.



index.php
Код
`<?php



/**

 * Live Estate - Joomla Template

 *

 * @package bt_liveestate

 * @version 1.0.0.20070903

 * @copyright BonusThemes.com 2007

 * @link http://www.bonusthemes.com/goto/bt_liveestate

 */



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

$cfg = array();





// CONFIGURATION START ////////////////////////////////////////////////////////



// Width for position 'header'

// Set a valid value for a CSS size, or blank if you do not want to set a width.

// Examples: '500px' sets a value in pixels, '20%' sets a value in percentage, '' does not set a width.

// This is necessary for MS Internet Explorer. It can also be defined in the #pos_header entry in template_css.css

$cfg['pos_header_width'] = '500px';



// Width for position 'bottom'

// Set a valid value for a CSS size, or blank if you do not want to set a width.

// Examples: '500px' sets a value in pixels, '20%' sets a value in percentage, '' does not set a width.

// This is necessary for MS Internet Explorer. It can also be defined in the #pos_bottom entry in template_css.css

$cfg['pos_bottom_width'] = '400px';



// CONFIGURATION END //////////////////////////////////////////////////////////



$iso = explode( '=', _ISO );

echo '<?xml version="1.0" encoding="' . $iso[1] . '"?' . '>' . "\n";



?>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"

"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">



<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<?php

mosShowHead();



if ( $my->id ) {

initEditor();

}



$template_path = $mosConfig_live_site . '/templates/' . $mainframe->getTemplate();

?>

<meta http-equiv="Content-Type" content="text/html; <?php echo _ISO; ?>" />



<link id="css_content" href="<?php echo $template_path; ?>/css/content.css" rel="stylesheet" type="text/css" />

<link id="css_layout" href="<?php echo $template_path; ?>/css/template_css.css" rel="stylesheet" type="text/css" />




<!--[if IE]>

<style type="text/css">

#pos_banner, #pos_footer {

float: left;

}

</style>

<![endif]-->



<!--[if lt IE 7]>

<link href="<?php echo $template_path; ?>/css/template_css_ie6.css" rel="stylesheet" type="text/css" />

<script type="text/javascript">

var blankImg = '<?php echo $template_path; ?>/images/blank.gif';

</script>

<style type="text/css">

.pngfix { behavior: url(<?php echo $template_path; ?>/js/iepngfix.htc); }

</style>

<![endif]-->



</head>



<body>



<?php



echo '<div id="page_top"></div>' . "\n";



echo '<div id="wrapper">' . "\n";



// output positions: banner + header

if (mosCountModules( 'banner' ) + mosCountModules( 'header' ) > 0) {

echo ' <div id="header">' . "\n";

if (mosCountModules( 'header' )) {

$width = empty($cfg['pos_header_width'])? '' : ' style="width:' . $cfg['pos_header_width'] . '"';

echo ' <div id="pos_header"' . $width . '>' . "\n";

mosLoadModules( 'header', -2 );

echo ' </div>' . "\n";

}



if (mosCountModules( 'banner' )) {

echo ' <div id="pos_banner">' . "\n";

mosLoadModules( 'banner', -2 );

echo ' </div>' . "\n";

}



echo ' <div style="clear:both"></div>' . "\n";

echo ' </div>' . "\n";

}



// output position: top

if (mosCountModules( 'top' ) > 0) {

echo ' <div id="pos_top">' . "\n";

mosLoadModules( 'top', -1 );

echo '</div>' . "\n";

}



// output page content

echo ' <div id="page_content">' . "\n";



// output position: left

echo ' <div id="pos_left">' . "\n";

mosLoadModules( 'left', -2 );

echo ' </div>' . "\n";



echo ' <div id="left_gap">&nbsp;</div>' . "\n";



// output content

echo ' <div id="content_area">' . "\n";



// output pathway

if ($option != 'com_frontpage') {

echo ' <div id="pathway">' . "\n";

mosPathWay();

echo ' </div>' . "\n";

}



// output mainbody

echo ' <div id="mainbody">' . "\n";

mosMainBody();

echo ' </div>' . "\n";



// output positions: user1 + user2

$user_positions_count = mosCountModules( 'user1' ) + mosCountModules( 'user2' );

if ($user_positions_count > 0) {

$user_pos_width = $user_positions_count == 1 ? 445 : 209; // 209 + 27 + 209 = 445



$splitter = $user_positions_count == 1 ? '' : ' style="background:url(' . $template_path . '/images/imgCntSplitter.gif) repeat-y top center;"';

echo ' <div id="user_positions"' . $splitter . '>' . "\n";



if (mosCountModules( 'user1' ) > 0) {

echo ' <div id="pos_user1" style="width:' . $user_pos_width . 'px">' . "\n";

mosLoadModules( 'user1', -2 );

echo ' </div>' . "\n";

}



if ($user_positions_count > 1) {

echo ' <div id="user_pos_gap">&nbsp;</div>' . "\n";

}



if (mosCountModules( 'user2' ) > 0) {

echo ' <div id="pos_user2" style="width:' . $user_pos_width . 'px">' . "\n";

mosLoadModules( 'user2', -2 );

echo ' </div>' . "\n";

}



echo ' <div style="clear:both"></div>' . "\n";

echo ' </div>' . "\n";

}



echo ' </div>' . "\n";

echo ' <div style="clear:both"></div>' . "\n";

echo ' </div>' . "\n";



// output positions: footer + bottom

if (mosCountModules( 'footer' ) + mosCountModules( 'bottom' ) > 0) {

echo ' <div id="bottom">' . "\n";

if (mosCountModules( 'bottom' )) {

$width = empty($cfg['pos_bottom_width'])? '' : ' style="width:' . $cfg['pos_bottom_width'] . '"';

echo ' <div id="pos_bottom"' . $width . '>' . "\n";

mosLoadModules( 'bottom', -2 );

echo ' </div>' . "\n";

}



if (mosCountModules( 'footer' )) {

echo ' <div id="pos_footer">' . "\n";

mosLoadModules( 'footer', -2 );

echo ' </div>' . "\n";

}



echo ' <div style="clear:both"></div>' . "\n";

echo ' </div>' . "\n";

}



echo '</div>' . "\n";



// output hidden position

echo '<div id="pos_user9" style="display:none">' . "\n";

mosLoadModules( 'user9', -1 );

echo '</div>' . "\n";



// output debug position

mosLoadModules( 'debug', -1 );

?>



</body>



</html>

template_css

Код
/**
 * Layout CSS for the BonusThemes.com Live Estate Template
 *
 * @package bt_liveestate
 * @version 1.0.0.20070903
 * @copyright BonusThemes.com 2007
 * @link http://www.bonusthemes.com/goto/bt_liveestate
 */

* {
font-family: Verdana, sans-serif;
margin: 0;
padding: 0;
}


html {
height: 100% !important;
height: auto;
}

body {
height: 100%;
color: #000;
background-color: #fff;
}


/* page layout */

#page_top {
height: 20px;
background-color: #870207;
margin-bottom: 10px;
}

#wrapper {
margin-left: auto;
margin-right: auto;
width: 723px; /* 723 729 */
}

#header {
background: url(../images/imgHeaderGap.gif) no-repeat 220px 10px;
}

#pos_banner {

}

#pos_header {
float: right;
padding-top: 5px;
}

#pos_top {
}

#page_content {
}

#pos_left {
float: left;
width: 268px;
overflow: hidden;
}

#left_gap {
float: left;
width: 10px;
overflow: hidden;
}

#content_area {
float: left;
width: 445px;
}

#pathway {
padding: 8px;
}

#mainbody {
padding-bottom: 18px;
}

#pos_user1 {
float: left;
overflow: hidden;
}

#pos_user2 {
float: left;
overflow: hidden;
}

#user_pos_gap {
float: left;
width: 27px;
overflow: hidden;
}

#bottom {
margin-top: 10px;
padding-top: 21px;
background: url(../images/imgBottom.gif) repeat-x top left;
height: 80px;
}

#pos_footer {
}

#pos_bottom {
float: right;
}


/* smenu classes */

.liveestate_smenu_item1_norm {
background: url(../images/smenu_item1_norm.gif) no-repeat top left;
padding-left: 10px;
padding-top: 10px;
}

.liveestate_smenu_item2_norm {
background: url(../images/smenu_item2_norm.gif) no-repeat top left;
padding-left: 10px;
padding-top: 10px;
}

.liveestate_smenu_item3_norm {
background: url(../images/smenu_item3_norm.gif) no-repeat top left;
padding-left: 10px;
padding-top: 10px;
}

.liveestate_smenu_item4_norm {
background: url(../images/smenu_item4_norm.gif) no-repeat top left;
padding-left: 10px;
padding-top: 10px;
}

.liveestate_smenu_item1_sel {
background: url(../images/smenu_item1_sel.gif) no-repeat top left;
padding-left: 10px;
padding-top: 10px;
}

.liveestate_smenu_item2_sel {
background: url(../images/smenu_item2_sel.gif) no-repeat top left;
padding-left: 10px;
padding-top: 10px;
}

.liveestate_smenu_item3_sel {
background: url(../images/smenu_item3_sel.gif) no-repeat top left;
padding-left: 10px;
padding-top: 10px;
}

.liveestate_smenu_item4_sel {
background: url(../images/smenu_item4_sel.gif) no-repeat top left;
padding-left: 10px;
padding-top: 10px;
}


/* moduletable-style1 */

.moduletableper a:link, .moduletableper a:visited {
color: #ffffff;
}




.moduletable-style1 {
margin-bottom: 18px;
padding: 0px 8px 8px 8px;
}
.moduletable-style1 h3 {
background: url(../images/imgStyle1Header.gif) no-repeat top left;
color: #444;
margin: 0px -8px 10px -8px;
padding: 8px 8px 8px 12px;
font-size: 1.2em;
border-bottom: 1px dotted #aaa;
}

.moduletable_liv {
margin: 5px 0px 0px 310px;
}

.moduletableliv2 {
margin: 30px 0px 0px 50px;
}


/* moduletable-style2 */

.moduletable-style2 {
margin-bottom: 18px;
}

« Последнее редактирование: 30.05.2010, 20:36:00 от DioGen »
*

DioGen

  • Осваиваюсь на форуме
  • 11
  • 1 / 0
Re: Поплыл сайт в IE8
« Ответ #1 : 20.05.2010, 14:39:58 »
Тииихо  в лесу, только не спит... админ?
*

DioGen

  • Осваиваюсь на форуме
  • 11
  • 1 / 0
Re: Поплыл сайт в IE8
« Ответ #2 : 20.05.2010, 16:13:13 »
САБЖ.


Кроме того в IE при переходе по определенным ссылкам меню переход на 404 (возможно из-за JoomSEF).



Пока ждем советов решаем вопросы самостоятельно. Для IE было критично, что материал имел статус "Опубликовано, но просрочено". Замена статуса (увеличения срока публикации) решила проблемы с переходом по этим ссылкам
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Как поставить на сайт live-ставки?

Автор dlink08

Ответов: 4
Просмотров: 6128
Последний ответ 11.09.2020, 14:26:37
от MishaKorshunov
флеш игры на сайт

Автор ClearSky

Ответов: 15
Просмотров: 11810
Последний ответ 27.01.2018, 02:17:26
от anechka1986
Сайт знак вопрос

Автор baguta92

Ответов: 5
Просмотров: 4533
Последний ответ 24.01.2018, 13:43:58
от stendapuss
Яндекс Метрика, как установить на сайт?

Автор amunit

Ответов: 81
Просмотров: 106299
Последний ответ 17.02.2017, 21:21:47
от karabert
Установить код видеоплеера на сайт

Автор Escander

Ответов: 4
Просмотров: 1978
Последний ответ 19.05.2016, 20:56:03
от arma