Новости Joomla

👩‍💻 Joomla включена в программу Google Summer of Code 2026.

👩‍💻 Joomla включена в программу Google Summer of Code 2026.

Google Summer of Code (GSoC) - программа компании Google, которая позволяет участникам программы под руководством опытных наставников писать код для организаций, занимающейся открытым исходным кодом. Joomla принимает участие в этой программе не в первый раз и в 2026 году снова включена в список GSoC. Для программы утверждается список "идей", воплотить которые должны участники под руководством наставников.

Проекты Joomla в рамках программы GSoC 2026.

Проект I: Ajax-бэкенд.
- Действия в административной панели без необходимости обновлять страницу.
- Автоматическое сохранение содержимого во время редактирования.
- Расширенный фильтр - поиск и фильтрация по пользовательским полям.

Проект II: Автоматизация рабочих процессов (workflow + task scheduler).
Joomla имеет функцию процессов и планировщика задач. Теперь эти две функции следует объединить, чтобы пользователь мог настраивать назначенные рабочие процессы таким образом, чтобы переходы выполнялись автоматически, с возможностью точного определения времени. Должна быть возможность создавать циклы или прямые запланированные рабочие процессы. Предполагается, что интерфейс должен учитывать хороший пользовательский опыт, удобство использования и современные стандарты доступности. Ожидается, что будет добавлен интерфейс для управления процессами и их расписанием на страницах категорий и материалов. Так же ожидается, что сторонние компоненты также смогут воспользоваться этим функционалом.

Проект III: Мультикатегории.
В настоящее время Joomla! не позволяет назначать один элемент нескольким категориям. Хотя система тегов часто используется в качестве замены, существует острая потребность в нативной поддержке нескольких категорий, чтобы привести Joomla! в соответствие с другими современными системами управления контентом.

Проект IV: Обучение с подкреплением на основе отзывов переводчиков.
Joomla собирается использовать автоматический перевод документации. В каждом языке есть свои специфические слова, характерные для Joomla. Предполагается обучать языковые модели, используя обратную связь от переводчиков, чтобы постоянно улучшать качество переводов и учитывать специфические языковые особенности Joomla.

Принять участие GSoC 2026
Подробнее о проектах Joomla GSoC 2026
Чат GSoC в Mattermost (международное сообщество Joomla)

Вышли релизы Joomla 6.0.3 и Joomla 5.4.3

Релиз Joomla 6.0.3 и Joomla 5.4.3

Проект Joomla рад сообщить о выпуске Joomla 6.0.3 и Joomla 5.4.3. Это релиз исправлений ошибок и улучшений для серии Joomla 6.0 и Joomla 5.4.

👩‍💻 События плагинов и порядок их срабатывания при работе с пользовательскими полями Joomla и использовании FieldsHelper.

👩‍💻 События плагинов и порядок их срабатывания при работе с пользовательскими полями Joomla и использовании FieldsHelper.

В процессе работы с Joomla бывает необходимо работать с пользовательским интерфейсом более тонко, чем обычно. Все формы Joomla состоят из стандартных полей, содержанием, стилем отображения, состоянием (включено/выключено, доступно для редактирования или нет и т.д.) можно управлять с помощью плагинов. Да и для нестандартных проектов хорошей практикой является создание одного системного или нескольких плагинов групп "под проект", в которых храниться весь "нестандарт".

В этой статье описаны все триггеры, которые вызываются через Event Dispatcher из administrator/components/com_fields/src/Helper/FieldsHelper.php, с привязкой к жизненному циклу (порядку этапов работы запроса), аргументам, изменяемым данным и дальнейшему распространению по Joomla. Это поможет вам работать с Joomla свободнее и не опасаясь при этом потерять изменения при очередном обновлении движка.

Подходы, описанные в статье, полезны в тех случаях, когда вы работаете с данными в com_fields - механизме создания и редактирования пользовательских полей ядра Joomla и при использовании FieldsHelper. Многие сторонние компоненты не используют эту возможность, поэтому данная статья будет полезна лишь частично.

0 Пользователей и 1 Гость просматривают эту тему.
  • 0 Ответов
  • 8648 Просмотров
*

Nikolay Blinov

  • Захожу иногда
  • 142
  • 5 / 0
  • How much is the fish?
Продлить ВСЕ объявления
« : 02.04.2012, 20:52:58 »
Хочу поставить кнопку для обновления ВСЕХ объявлений
каждое обновление выводится здесь
/public_html/components/com_listbingo/templates/default/myads.item.php
Код
<?php
defined('_JEXEC') or die('Restricted access');

global $option, $listitemid;
$suffix=$this->params->get($this->params->get('listlayout_thumbnail'));
$link = ListbingoHelper::lbroute("index.php?option=$option&Itemid=$listitemid&task=ads.view&adid=".$this->row->id);
$editlink = ListbingoHelper::lbroute("index.php?option=$option&Itemid=$listitemid&task=ads.edit&catid=".$this->row->category_id."&adid=".$this->row->id);
$closelink = ListbingoHelper::lbroute("index.php?option=$option&Itemid=$listitemid&task=ads.close&adid=".$this->row->id);
$deletelink = ListbingoHelper::lbroute("index.php?option=$option&Itemid=$listitemid&task=ads.remove&adid=".$this->row->id);
$managelink = ListbingoHelper::lbroute('index.php?option='.$option.'&Itemid='.$listitemid.'&task=ads.images&adid='.$this->row->id.'&format=raw');
$renewlink = ListbingoHelper::lbroute("index.php?option=$option&Itemid=$listitemid&task=ads.renew&adid=".$this->row->id);
?>

<div class="record" id="record-<?php echo $this->row->id; ?>">

<div class="gb_listings_content" id="listings">
<div class="gb_listing normal_listing">
<div class="gb_wrapper">
<div class="gb_double_wrapper">

<div class="gb_thumbnail">
<div class="gb_thumbnail_wrapper" title="<?php echo $this->row->title;?>">

<?php


$baseurl=JUri::root();
$adminbaseurl=JUri::root()."administrator/components/$option/images/";

$basepath = JPATH_ROOT.DS;

if(count($this->row->images)>0)
{
?>
<a class="gb_title_link" title="<?php echo $this->row->title;?>" href="<?php echo $link; ?>">
<?php
if(file_exists($basepath.$this->row->images[0]->image.$suffix.".".$this->row->images[0]->extension))
{
?>
<img src="<?php echo $baseurl.$this->row->images[0]->image.$suffix.".".$this->row->images[0]->extension;?>" alt="<?php echo $this->row->title;?>" />
<?php
}
else
{
?>
<img src="<?php echo $adminbaseurl."noimage.png"?>"  alt="<?php echo $this->row->title;?>" />
<?php
}
?>
</a>
<?php
}
else
{
?>
<a class="gb_title_link" title="<?php echo $this->row->title;?>" href="<?php echo $link; ?>">
<img src="<?php echo $adminbaseurl."noimage.png"?>" alt="<?php echo $this->row->title;?>" />
</a>
<?php
}
?>
</div>
</div>

<div class="gb_normal_mysection">

<div class="gb_listing_header">
<?php
echo ListbingoHelper::status($this->row);
?>

<a href="<?php echo $link; ?>"><?php echo $this->row->title;?></a></div>
<div class="gb_listing_body">
<?php echo GHelper::trunchtml($this->row->description,300,"...",false,false);?>
</div>
<div class="gb_listing_normal_attributes"></div>


<div class="gb_myads_listing">
<ul id="gb_myads_controlbtns">
<li>
<a class="gb_viewdetails" href="<?php echo $link;?>"><?php echo JText::_('VIEW_DETAIL');?></a>
</li>

<li>
<a class="gb_edit" href="<?php echo $editlink;?>"><?php echo JText::_('EDIT');?></a>
</li>


<li>
<a class="gb_edit" href="<?php echo $renewlink;?>"><?php echo JText::_('RENEW');?></a>
</li>



<li>

<a  class="gb_gallery" href="<?php echo $managelink; ?>" rel="moodalbox 650 400 nofollow" title="Manage Images"><?php echo JText::_('MANAGE_IMAGES');?></a>

</li>

<?php
if($this->row->status==1 || $this->row->status==2)
{
?>
<li>
<a  href="<?php echo $closelink;?>" style="cursor:pointer;" class="gb_closetn" id="close-<?php echo $this->row->id; ?>" ><?php echo JText::_('CLOSE');?></a>
</li>
<?php
}
?>


<li>
<a href="<?php echo $deletelink;?>"  style="cursor:pointer;" class="gb_deletebtn" id="a-<?php echo $this->row->id; ?>"><?php echo JText::_('DELETE');?></a>
</li>


</ul>
</div>

</div>


</div>
<div class="clear"> </div>
</div>
</div>



</div>
</div>

из здесь
/public_html/components/com_listbingo/templates/default/myads.default.php
Код
<?php
/**
 * List layout for default template
 *
 * @package Gobingoo
 * @subpackage Listbingo
 * code Bruce
 */

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

global $option, $listitemid;

$baseurl=JUri::root()."administrator/components/$option/";
$document = JFactory::getDocument();
$document->addStyleSheet($baseurl."css/moodalbox.css");

?>
<script src="<?php echo $baseurl."js/moodalbox.js"?>" type="text/javascript"></script>
<script type="text/javascript">

//<!--
_EVAL_SCRIPTS=true;
window.addEvent('domready',function() {
//for every record...
$$('a.gb_deletebtn').each(function(el) {
el.addEvent('click',function(e) {


var e=new Event(e);


if(!confirm("<?php echo JText::_("ARE_YOU_SURE");?>"))
{
e.stop();
return false;
}
else
{
var id= el.getProperty('id').replace('a-','');
var url = this.href;

window.location = url;
return true;
}


});
});


$$('a.gb_closetn').each(function(el) {

el.addEvent('click',function(e) {

var e=new Event(e);

if(!confirm('<?php echo JText::_("ARE_YOU_SURE"); ?>'))
{
e.stop();
return false;
}
else
{
var id= el.getProperty('id').replace('close-','');
var url = this.href;
window.location = url;
return true;
}


});
});

});

//-->
</script>

<?php
$this->render('filter');
?>
<div id="roundme" class="gb_round_corner">

<style>
.gb_thumbnail {
float:left;
width:<?php echo $this->params->get ( 'width_thumbnail_sml', 80 ); ?>px;
}
</style>

<div class="gb_form_heading">
<h3><?php echo JText::_('MY_ADS');?></h3>
</div>
<?php
if(count($this->rows)>0)
{
$k=0;
$n=count($this->rows);
for($i=0;$i<$n;$i++)
{
$ordering=true;
$row=&$this->rows[$i];
$checked=JHTML::_('grid.id',$i,$row->id);

//$link=ListbingoHelper::lbroute('index.php?option='.$option.'&Itemid='.$listitemid.'&task=categories.edit&cid[]='.$row->id);
$this->render('item',array("row"=>$row));

}
}


<?php
global $option, $listitemid;
$renewalllink = ListbingoHelper::lbroute("index.php?option=$option&Itemid=$listitemid&task=ads.renew&adid=".$this->row->id);
?>

<li>
<a class="gb_edit" href="<?php echo $renewlink;?>">Обновить</a>
</li>

else
{
echo JText::_('NO_CLASSFIEDS');
}

echo $this->render('ads.pagination');

?>

</div>

помогите пожалуйста с кодом ссылки? вроде все просто должно быть, но у меня ничего не получается
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться