Новости Joomla

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

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

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

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

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

Читать статью на Хабре.

@joomlafeed

🏆 Открыто голосование за Joomla в премии CMS Critic People’s Choice Awards 2025

🏆 Открыто голосование за Joomla в  премии CMS Critic People’s Choice Awards 2025

🗓 Голосование продлится до 27 февраля 2026 года.

👩‍💻 Проголосовать! 👩‍💻

Номинации, в которых можно проголосовать за Joomla:
⭐️ Best Free CMS
⭐️ Best Open Source CMS
⭐️ Best Enterprise CMS

Также в номинации Best e-Commerce Solution участвуют компоненты интернет-магазинов для Joomla:
⭐️ HikaShop
⭐️ Virtuemart

В номинации Best Website Builder оказались:
⭐️ YooTheme
⭐️ SP Page Builder

Что такое CMS Critic Awards?
С 2012 года премия CMS Critic Awards занимает особое место в сообществе систем управления контентом (CMS). Это единственный в своем роде сайт, который составляет рейтинг системы управления контентом и связанных с ними решений на рынке — от малого до крупного и подчеркивает их инновации и услуги.

Каждый год награда CMS Critic Awards присуждается одному победителю в различных отраслевых категориях, таких как: «Лучшая облачная CMS», «Лучший DXP», «Лучшая Headless CMS и других. Затем результаты оглашаются через СМИ вместе с выбором редакции CMS Critic.
В этом году премия вернулась к своим традициям и только TOP-5 движков по количеству номинаций попали в 2-й этап - голосование.

@joomlafeed

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

sharp

  • Завсегдатай
  • 1173
  • 97 / 2
Ищу Файл отвечающий за вывод "версия для печати". необходимо поменять немного вид файла который появляется при нажатии на "версия для печати" а именно дла компонента Mosets Tree
то ли искать в самой Joomla , то ли именно в сомпоненте Mosets Tree    !
Хочешь знать правду!? читай таблицу умножения.
Поисковое продвижение или раскрутка сайта!
*

sharp

  • Завсегдатай
  • 1173
  • 97 / 2
Нашел! в настройках самого Mosets Tree "Оформление" находим свой шаблон и там можно редактировать!
Хочешь знать правду!? читай таблицу умножения.
Поисковое продвижение или раскрутка сайта!
*

sharp

  • Завсегдатай
  • 1173
  • 97 / 2
вот теперь как добавть в версию печати чтоб появлялись все эскизы из галереи а не только один....
файл скидываю:
Код
<div style="text-align:right;margin-bottom:10px;">
<a href="#" onclick="javascript:window.print(); return false" title="<?php echo $this->_MT_LANG->PRINT ?>"><?php echo $this->_MT_LANG->PRINT ?></a>&nbsp;|&nbsp;
<a href="#" onclick="window.close(); return false" title="<?php echo $this->_MT_LANG->CLOSE_THIS_WINDOW ?>"><?php echo $this->_MT_LANG->CLOSE_THIS_WINDOW ?></a>
</div>
<right><table width="30%" border="0">
  <tr>
    <td>лого</td>
  </tr>
  <tr>
    <td>текст</td>
  </tr>
</table></right>


<div id="listing">
<h2><?php
$link_name = $this->fields->getFieldById(1);
$this->plugin( 'ahreflisting', $this->link, $link_name->getOutput(1), '', array("edit"=>false,"delete"=>true) )?></h2>
<?php
$this->fields->resetPointer();
while( $this->fields->hasNext() ) {
$f = $this->fields->getField();
$value = $f->getValue();
if( ( (!$f->hasInputField() && !$f->isCore() && empty($value)) || !empty($value) ) && !in_array($f->getName(),array('link_name','link_desc','city','state','country','postcode')) ) {

echo '<dl>';
$this->fields->resetPointer();
while( $this->fields->hasNext() ) {
$field = $this->fields->getField();
$value = $field->getValue();
if( ( (!$field->hasInputField() && !$field->isCore() && empty($value)) || !empty($value) ) && !in_array($field->getName(),array('link_name','link_desc','city','state','country','postcode')) ) {
if($field->id == 4) {
echo '<dt>' . $field->getCaption(). '</dt>';
echo '<dd>';
echo $field->getOutput();
if($field5 = $this->fields->getFieldById(5)) {
echo ', ' . $field5->getValue();
}
if($field8 = $this->fields->getFieldById(8)) {
echo ', ' . $field8->getValue();
}
if($field6 = $this->fields->getFieldById(6)) {
echo ', ' . $field6->getValue();
}
if($field7 = $this->fields->getFieldById(7)) {
echo ', ' . $field7->getValue();
}
echo '</dd>';
} else {
echo '<dt>';
if($field->hasCaption()) {
echo $field->getCaption(). '';
}
echo '</dt>';
echo '<dd>';
echo $field->getDisplayPrefixText();
echo $field->getOutput(1);
echo $field->getDisplaySuffixText();
echo '</dd>';

}
}
$this->fields->next();
}
echo '</dl>';
break;
}
$this->fields->next();
}
?><?php

if ($this->link->link_image) {
echo '<div class="thumbnail' . (($this->config->getTemParam('imageDirectionListingSummary','right')=='right')? '':'-left'). '">';
echo '<a href="index.php?option=com_mtree&task=viewimage&img_id=' . $this->link->img_id . '&Itemid=' . $this->Itemid . '">';
$this->plugin( 'mt_image', $this->link->link_image, '3', $this->link->link_name );
echo '</a>';
if( $this->total_images > 1 ) {
echo '<div><a href="index.php?option=com_mtree&task=viewgallery&link_id=' . $this->link->link_id . '&Itemid=' . $this->Itemid . '">' . $this->_MT_LANG->VIEW_GALLERY . '</a></div>';
}
echo '</div>';
}
if(!is_null($this->fields->getFieldById(2))) {
$link_desc = $this->fields->getFieldById(2);
echo $link_desc->getOutput();
}
echo '</span>';
?>

</div>
<div style="text-align:right;margin-bottom:10px;">
<a href="#" onclick="javascript:window.print(); return false" title="<?php echo $this->_MT_LANG->PRINT ?>"><?php echo $this->_MT_LANG->PRINT ?></a>&nbsp;|&nbsp;
<a href="#" onclick="window.close(); return false" title="<?php echo $this->_MT_LANG->CLOSE_THIS_WINDOW ?>"><?php echo $this->_MT_LANG->CLOSE_THIS_WINDOW ?></a>
</div>
Хочешь знать правду!? читай таблицу умножения.
Поисковое продвижение или раскрутка сайта!
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Версия сайта для слабовидящих

Автор nikos

Ответов: 22
Просмотров: 46912
Последний ответ 27.11.2020, 11:04:18
от chernobyl
как подключить собственный css-файл

Автор crlf

Ответов: 19
Просмотров: 5662
Последний ответ 27.08.2020, 10:13:38
от vasmed
JFolder::create: Невозможно создать каталог Внимание! - Не удалось переместить файл

Автор sayber

Ответов: 30
Просмотров: 68537
Последний ответ 14.07.2017, 12:05:37
от araiguma
Вывод отображения последних новостей в 2 колонки

Автор Mark54

Ответов: 2
Просмотров: 2206
Последний ответ 17.01.2017, 13:37:32
от beliyadm
Mobile Joomla Невозможно скопировать выбранный файл

Автор Elimelech

Ответов: 0
Просмотров: 2190
Последний ответ 20.07.2016, 11:30:05
от Elimelech