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

Andru

  • Захожу иногда
  • 83
  • 0 / 0
  • I am a brain!
Джентльмены...такой вопрос...хотя ответ я подозреваю будет очевидным...
В общем клиент хочет, чтобы в одном разделе публикация была после проверки админом, а во всех остальных автоматом.
Такое возможно?

AdsManager 2.7.0
Joomla! 2.5.9
« Последнее редактирование: 14.04.2013, 17:30:07 от Andru »
*

Alex89

  • Давно я тут
  • 555
  • 198 / 1
  • Joomlaman :)
без модификации нет
Увеличить посещаемость сайта помогут здесь - http://tinyurl.com/kpaprwy
Если помог, ткните "крестик" в репу!
*

Andru

  • Захожу иногда
  • 83
  • 0 / 0
  • I am a brain!
без модификации нет
т.е. значит можно реализовать? и где что подкрутить?
*

Alex89

  • Давно я тут
  • 555
  • 198 / 1
  • Joomlaman :)
В файле \administrator\components\com_adsmanager\tables\contents.php, в функции bindContent есть такой код
Код
			if ($conf->auto_publish == 1)
$this->published = 1;
else
$this->published = 0;
добавляете к этому условию дополнительное/ые условие/я в зависимости от id выбранной/ых категории/й
Увеличить посещаемость сайта помогут здесь - http://tinyurl.com/kpaprwy
Если помог, ткните "крестик" в репу!
*

Andru

  • Захожу иногда
  • 83
  • 0 / 0
  • I am a brain!
В файле \administrator\components\com_adsmanager\tables\contents.php, в функции bindContent есть такой код
Код
			if ($conf->auto_publish == 1)
$this->published = 1;
else
$this->published = 0;
добавляете к этому условию дополнительное/ые условие/я в зависимости от id выбранной/ых категории/й
Спасибо. А можно пример кода в студию...:-) я просто не силен php...и боюсь напортачить...у меня необходимо закрыть от автопубликации id 2,6,7,8,15,16...
*

Alex89

  • Давно я тут
  • 555
  • 198 / 1
  • Joomlaman :)
подавать объявление можно только в одну категорию за раз или список с мультивыбором стоит?
включено ли email-уведомление пользователю о проверке в настройках?
« Последнее редактирование: 16.04.2013, 12:41:23 от Alex89 »
Увеличить посещаемость сайта помогут здесь - http://tinyurl.com/kpaprwy
Если помог, ткните "крестик" в репу!
*

Andru

  • Захожу иногда
  • 83
  • 0 / 0
  • I am a brain!
подавать объявление можно только в одну категорию за раз или список с мультивыбором стоит?
включено ли email-уведомление пользователю о проверке в настройках?
Только в одну категорию за раз...Если я правильно понял. В общем это стандартный модуль "Добавить объявление" там далее выбираешь категорию и подкатегорию...все пошагово.
Уведомления все включены...
*

Alex89

  • Давно я тут
  • 555
  • 198 / 1
  • Joomlaman :)
Так, в общем заменяете вышеприведённый код:
Код
			if ($conf->auto_publish == 1)
$this->published = 1;
else
$this->published = 0;
на:
Код
			$catids = array(2,6,7,8,15,16); //id категорий без автопубликации
if ($conf->auto_publish == 1 && !in_array($this->data['categories'][0],$catids))
$this->published = 1;
else
$this->published = 0;
теперь сделаем чтобы отправлялось письмо о проверке, для этого открываете файл \components\com_adsmanager\controller.php и строки:
Код
			if ($isUpdateMode == 0) {
if (($conf->send_email_on_new_to_user == 1)&&($conf->auto_publish == 1)) {
$contentmodel->sendMailToUser($conf->new_subject,$conf->new_text,$user,$content,$conf);
} else if (($conf->send_email_on_validation_to_user == 1)&&($conf->auto_publish == 0)) {
$contentmodel->sendMailToUser($conf->waiting_validation_subject,$conf->waiting_validation_text,$user,$content,$conf);
}
меняете на:
Код
			if ($isUpdateMode == 0) {
$catid = JRequest::getInt('category');
$catids = array(2,6,7,8,15,16); //id категорий без автопубликации
if (($conf->send_email_on_new_to_user == 1)&&($conf->auto_publish == 1)&&(!in_array($catid,$catids))) {
$contentmodel->sendMailToUser($conf->new_subject,$conf->new_text,$user,$content,$conf);
} else if (($conf->send_email_on_validation_to_user == 1)&&($conf->auto_publish == 0 || in_array($catid,$catids))) {
$contentmodel->sendMailToUser($conf->waiting_validation_subject,$conf->waiting_validation_text,$user,$content,$conf);
if (in_array($catid,$catids))
$redirect_text = JText::_('ADSMANAGER_INSERT_SUCCESSFULL_CONFIRM');
}
Увеличить посещаемость сайта помогут здесь - http://tinyurl.com/kpaprwy
Если помог, ткните "крестик" в репу!
*

Andru

  • Захожу иногда
  • 83
  • 0 / 0
  • I am a brain!
Все отлично! Сработало! Спасибо!
Выскочила токо одна проблема...
Как только создается объявление выскакивает вот такая надпись ADSMANAGER_INSERT_SUCCESSFULL_CONFIRM
В этом случае добавляем в языковой файл ru-RU.com_adsmanager.ini  строчку ADSMANAGER_INSERT_SUCCESSFULL_CONFIRM="Спасибо, ваше объявление принято к рассмотрению и будет опубликовано после проверке" и вуаля...
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Слетают категории объявления

Автор guardnext

Ответов: 1
Просмотров: 4440
Последний ответ 09.07.2019, 10:10:59
от guardnext
Изменить категории в AdsManager 3.1.5

Автор Doc

Ответов: 2
Просмотров: 10868
Последний ответ 17.03.2019, 21:17:30
от Doc
Бета тестирование одной из работ на AdsManager

Автор vab7

Ответов: 0
Просмотров: 10995
Последний ответ 25.05.2018, 12:15:22
от vab7
Привязать модуль mod_adsmanager_ads к категории

Автор efimov777

Ответов: 2
Просмотров: 16601
Последний ответ 01.02.2018, 14:01:16
от efimov777
GTMapLocator не варьируется на категории

Автор elipssp

Ответов: 0
Просмотров: 1221
Последний ответ 24.11.2017, 02:47:59
от elipssp