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

tasknet

  • Осваиваюсь на форуме
  • 14
  • 0 / 0
Здравствуйте, не могу решить такую проблему.
я в контент добавил дополнительное поле "город". В списке материалов хочу добавить дополнительную колонку "город" и сделать фильтр по этой колонке.

файл: /components/com_content/views/category/tmpl/default_items.php
Код: php
<?php // no direct access
defined('_JEXEC') or die('Restricted access'); ?>
<script language="javascript" type="text/javascript">

function tableOrdering( order, dir, task )
{
var form = document.adminForm;

form.filter_order.value = order;
form.filter_order_Dir.value = dir;
document.adminForm.submit( task );
}
</script>
<form action="<?php echo $this->action; ?>" method="post" name="adminForm">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<?php if ($this->params->get('filter') || $this->params->get('show_pagination_limit')) : ?>
<tr>
<td colspan="5">
<table>
<tr>
<?php if ($this->params->get('filter')) : ?>
<td align="left" width="60%" nowrap="nowrap">
<?php echo JText::_('Filter').'&nbsp;'; ?>
<input type="text" name="filter" value="<?php echo $this->lists['filter'];?>" class="inputbox" onchange="document.adminForm.submit();" />
</td>
<?php endif; ?>
<?php if ($this->params->get('show_pagination_limit')) : ?>
<td align="right" width="40%" nowrap="nowrap">
<?php
echo '&nbsp;&nbsp;&nbsp;'.JText::_('Display Num').'&nbsp;';
echo $this->pagination->getLimitBox();
?>
</td>
<?php endif; ?>
</tr>
</table>
</td>
</tr>
<?php endif; ?>
<?php if ($this->params->get('show_headings')) : ?>
<tr>
<td class="sectiontableheader<?php echo $this->params->get( 'pageclass_sfx' ); ?>" align="right" width="5%">
<?php echo JText::_('Num'); ?>
</td>
<?php if ($this->params->get('show_title')) : ?>
  <td class="sectiontableheader<?php echo $this->params->get( 'pageclass_sfx' ); ?>" width="45%">
<?php echo JHTML::_('grid.sort',  'Item Title', 'a.title', $this->lists['order_Dir'], $this->lists['order'] ); ?>
</td>
<?php endif; ?>

  <?php if ($this->params->get('show_city')) : ?>
  <td class="sectiontableheader<?php echo $this->params->get( 'pageclass_sfx' ); ?>" width="18%">
<?php echo JHTML::_('grid.sort',  'City', 'a.created', $this->lists['order_Dir'], $this->lists['order'] ); ?>
</td>
<?php endif; ?>

<?php if ($this->params->get('show_date')) : ?>
<td class="sectiontableheader<?php echo $this->params->get( 'pageclass_sfx' ); ?>" width="25%">
<?php echo JHTML::_('grid.sort',  'Date', 'a.created', $this->lists['order_Dir'], $this->lists['order'] ); ?>
</td>
<?php endif; ?>
<?php if ($this->params->get('show_author')) : ?>
<td class="sectiontableheader<?php echo $this->params->get( 'pageclass_sfx' ); ?>"  width="20%">
<?php echo JHTML::_('grid.sort',  'Author', 'author', $this->lists['order_Dir'], $this->lists['order'] ); ?>
</td>
<?php endif; ?>
<?php if ($this->params->get('show_hits')) : ?>
<td align="center" class="sectiontableheader<?php echo $this->params->get( 'pageclass_sfx' ); ?>" width="5%" nowrap="nowrap">
<?php echo JHTML::_('grid.sort',  'Hits', 'a.hits', $this->lists['order_Dir'], $this->lists['order'] ); ?>
</td>
<?php endif; ?>
</tr>
<?php endif; ?>
<?php foreach ($this->items as $item) : ?>
<tr class="sectiontableentry<?php echo ($item->odd +1 ) . $this->params->get( 'pageclass_sfx' ); ?>" >
<td align="right">
<?php echo $this->pagination->getRowOffset( $item->count ); ?>
</td>
<?php if ($this->params->get('show_title')) : ?>
<?php if ($item->access <= $this->user->get('aid', 0)) : ?>
<td>
<a href="<?php echo $item->link; ?>">
<?php echo $item->title; ?></a>
<?php $this->item = $item; echo JHTML::_('icon.edit', $item, $this->params, $this->access) ?>
</td>
<?php else : ?>
<td>
<?php
echo $this->escape($item->title).' : ';
$link = JRoute::_('index.php?option=com_user&view=login');
?>
<a href="<?php echo $link; ?>">
<?php echo JText::_( 'Register to read more...' ); ?></a>
</td>
<?php endif; ?>

<?php if ($this->params->get('show_city')) : ?>
<td>
<?php echo $item->city; ?>
</td>
<?php endif; ?>

<?php endif; ?>

<?php if ($this->params->get('show_date')) : ?>
<td>
<?php echo $item->created; ?>
</td>
<?php endif; ?>

<?php if ($this->params->get('show_author')) : ?>
<td >
<?php echo $item->created_by_alias ? $item->created_by_alias : $item->author; ?>
</td>
<?php endif; ?>

<?php if ($this->params->get('show_hits')) : ?>
<td align="center">
<?php echo $item->hits ? $item->hits : '-'; ?>
</td>
<?php endif; ?>
</tr>
<?php endforeach; ?>
<?php if ($this->params->get('show_pagination')) : ?>
<tr>
<td colspan="5">&nbsp;</td>
</tr>
<tr>
<td align="center" colspan="4" class="sectiontablefooter<?php echo $this->params->get( 'pageclass_sfx' ); ?>">
<?php echo $this->pagination->getPagesLinks(); ?>
</td>
</tr>
<tr>
<td colspan="5" align="right">
<?php echo $this->pagination->getPagesCounter(); ?>
</td>
</tr>
<?php endif; ?>
</table>

<input type="hidden" name="id" value="<?php echo $this->category->id; ?>" />
<input type="hidden" name="sectionid" value="<?php echo $this->category->sectionid; ?>" />
<input type="hidden" name="task" value="<?php echo $this->lists['task']; ?>" />
<input type="hidden" name="filter_order" value="<?php echo $this->lists['order']; ?>" />
<input type="hidden" name="filter_order_Dir" value="" />
</form>
в файле: administrator/components/com_content/config.xml внес дополнительный параметр
Код: xml
		<param name="show_city" type="radio" default="1" label="Show City" description="Show/Hide the city">
<option value="0">Hide</option>
<option value="1">Show</option>
</param>
« Последнее редактирование: 05.04.2009, 12:40:02 от tasknet »
*

se_demon

  • Осваиваюсь на форуме
  • 37
  • 3 / 0
Мне бы тоже очень хотелось это узнать! Перелопаил весь иНет - ничего не нашёл (
*

dr.c

  • Осваиваюсь на форуме
  • 14
  • 0 / 0
Как можно сделать так, что бы дополнительные параметры документа брались не только из файла /administrator/components/com_content/models/article.xml, а из базы данных.

Точнее, нужно что бы дополнительным параметром был выпадающий список, состоящий из названия файлов одной из галерей. Галерея реализована на DatsoGalery.
*

SmokerMan

  • Гуру
  • 5290
  • 720 / 26
Точнее, нужно что бы дополнительным параметром был выпадающий список, состоящий из названия файлов одной из галерей. Галерея реализована на DatsoGalery.
какое отношение этот вопрос имеет к этой теме? :)
наверное использовать специальный тип Imagelist parameter type
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться