Новости Joomla

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

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

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

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

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

🏆 Открыто голосование за 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 Ответов
  • 2004 Просмотров
*

sergvlask

  • Осваиваюсь на форуме
  • 26
  • 0 / 0
вот такая ошибка Фатальная ошибка : Невозможно переопределить showQuestions () (ранее объявленный в / home/j/jforum.hut4.ru/WWW/administrator/components/com_mycomp/admin.mycomp.php: 53) в / home/j/jforum.hut4.ru / WWW / администратор / компоненты / com_mycomp / admin.mycomp.html.php на линии 226
  
Исходный текст
Fatal error: Cannot redeclare showQuestions() (previously declared in /home/j/jforum.hut4.ru/WWW/administrator/components/com_mycomp/admin.mycomp.php:53) in /home/j/jforum.hut4.ru/WWW/administrator/components/com_mycomp/admin.mycomp.html.php on line 226
вот код admin.mycomp.php
Код
function showQuestions($option)
{
$db =& JFactory::getDbo();
$query = "SELECT * FROM #__myquestions";
$db->setQuery($query);
$rows = $db->loadObjectList();
if ($db->getErrorNum())
{
echo $db->stderr();
return false;
}
HTML_questions::showQuestions($option, $rows);
}
и код на HTML представление admin.mycomp.html.php
Код
<?php
jimport('joomla.filter.output');
$k = 0;
for ($i = 0, $n = count($rows); $i < $n; $i ++)
{
$row = &$rows[$i];
$checked = JHTML::_('grid.id', $i, $row->id);
$link = JFilterOutput::ampReplace('index.php?option=' .$option . '&task=reply&cid[]='. $row->id);
?>
<tr class="<?php echo "row$k";?>">
<td><?=$checked?></td>
<td><?=$row->name?></td>
<td><?=JHTML::_('date', $row->date, JText::_('DATE_FORMAT_LC3'))?></td>
<td><?='<a href="'.$link.'">'.substr(strip_tags($row->question),
0,$maxlen-1).'</a>'?></td>
<td><?=$row->email?></td>
<td align="center">
<?php
if ($row->published == '1')
echo JText::_('JYES');
else
echo JText::_('JNO');?>
</td>
<td>
<?php
if ($row->expiration_date == '0000-00-00 00:00:00')
echo JText::_('COM_MYQUESTIONS_DATE_NOT_DEFINED');
else
echo JHTML::_('date', $row->expiration_date, JText::_('DATE_FORMAT_LC3'));?>
</td>
<td align="center">
<?php
if ($row->senttoexpert == '1')
echo JText::_('JYES');
else
echo JText::_('JNO');?>
</td>
<td><?=substr(strip_tags($row->answer),0,$maxlen-1)?></td>
<td align="center">
<?php
if ($row->senttoauthor == '1')
echo JText::_('JYES');
else
echo JText::_('JNO');
?>
</td>
</tr>
<?php
$k = 1 - $k;
}
?>
</table>
<input type="hidden" name="option"
value="<?php echo $option;?>"/>
<input type="hidden" name="task"
value=""/>
<input type= "hidden" name="boxchecked"
value="0"/>
</form>
<?php
}
?>
где может скрываться ошибка?
*

kreker92

  • Захожу иногда
  • 390
  • 18 / 0
Назовите метод по-другому.
Все вопросы и предложения на почту.
*

sergvlask

  • Осваиваюсь на форуме
  • 26
  • 0 / 0
я уже менял, не помогло, попробую еще другое название.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Fatal error: Call to undefined method UsersModelLogin::store()

Автор jservice

Ответов: 37
Просмотров: 9909
Последний ответ 17.02.2015, 15:41:54
от kolio
JFactory::getUser($id); fatal error

Автор alxcube

Ответов: 11
Просмотров: 3666
Последний ответ 05.08.2013, 12:39:08
от alxcube