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

leha111

  • Захожу иногда
  • 226
  • 0 / 0
Помогите, кто может.

Пытаюсь сделать так, чтобы на сайте был изменяемый телефон

Я так  понимаю (извините если не прав) для этого надо поставить соответствующую переменную в
Код
// Detecting Active Variables
$option   = $app->input->getCmd('option', '');
$view     = $app->input->getCmd('view', '');
$layout   = $app->input->getCmd('layout', '');
$task     = $app->input->getCmd('task', '');
$itemid   = $app->input->getCmd('Itemid', '');
$sitename = $app->get('sitename');
$telefone = $aap->get('telefone'); /* Пытаюсь сделать */

И там, где телефон должен быть
Код
<?php echo $telephone; ?>

А что надо прописать, чтобы где-то в админке была возможность его ввести ?
*

kern.USR

  • Давно я тут
  • 827
  • 68 / 1
Re: Изменяемый телефон на сайте
« Ответ #1 : 24.07.2018, 09:22:43 »
Вариант №1 (сколько раз выводится телефон - столько будет модулей)
Создаёте модуль "HTML", задаёте в нём свой телефон и выводите модуль в нужной позиции

Вариант №2 (Если не переопределить шаблон - всё сотрётся при обновлении)
В шаблоне, в XML, создаёте дополнительное текстовое поле, и в него вставляете свой телефон, а в index.php шаблона - выводите значение этого параметра

Вариант №3 (пожалуй, самый предпочтительный)
Ставите компонент https://www.regularlabs.com/extensions/snippets
Создаёте сниппет, с номером телефона
Для каждой позиции, где должен быть телефон - создаёте модуль HTML, а в нём вызываете сниппет.
В итоге исправив сниппет - поправятся все телефоны разом
*

leha111

  • Захожу иногда
  • 226
  • 0 / 0
Re: Изменяемый телефон на сайте
« Ответ #2 : 24.07.2018, 09:42:41 »
Что-то не догоняю как вывести сниппет на конкретную позицию {snippet название сниппета} подставить, или как ?

 
*

NewUsers

  • Живу я здесь
  • 2310
  • 216 / 0
  • +375 (25) 627-16-99 (WhatsApp, Telegram)
Re: Изменяемый телефон на сайте
« Ответ #3 : 24.07.2018, 10:31:30 »
Пытаюсь сделать так, чтобы на сайте был изменяемый телефон
На всех страницах его надо выводить?
В шаблон прописать или модулем выводить
Занимаюсь создание расширений для Joomla 4.2.x | Доработка и настройка сайтов. Занимаюсь создание Интернет магазинов с нуля на собственном компоненте + оптимизация загрузки страницы (после предоставляю техподдержку).
*

leha111

  • Захожу иногда
  • 226
  • 0 / 0
Re: Изменяемый телефон на сайте
« Ответ #4 : 24.07.2018, 13:43:10 »
Надо, чтобы он был в хэдаре сайта. А задавался где - нибудь в админке Joomla.
*

kern.USR

  • Давно я тут
  • 827
  • 68 / 1
Re: Изменяемый телефон на сайте
« Ответ #5 : 24.07.2018, 13:45:44 »
Если только в хэдэре - достаточно модулем сделать и не париться
*

leha111

  • Захожу иногда
  • 226
  • 0 / 0
Re: Изменяемый телефон на сайте
« Ответ #6 : 24.07.2018, 13:55:34 »
Прокатит вариант - создать в админке через менеджер модулей модуль HTML кода, содержащим телефон, и вставить куда надо  ?
*

Stasweb

  • Завсегдатай
  • 1501
  • 24 / 0
Re: Изменяемый телефон на сайте
« Ответ #7 : 24.07.2018, 14:54:54 »
Можно сделать смену телефона в настройках шаблона.
Переходим в /templates/шаблон/templateDetails.xml и ищем там
Код
<config>
/*здесь какойто ваш код */
</config>
И добавляем к нему
Код
<field name="phoneYesNo" type="radio" default="1" label="Показать телефон" description="ДА - показать на сайте, НЕТ - не показывать">
<option value="1">Да</option>
<option value="0">Нет</option>
</field>
<field name="telephone" class="" type="textarea" default="" label="Номер телефона "  description="Напишите текст, который хотите отобразить на сайте." />

После этого в /templates/шаблон/index.php в нужное место пишите
Код
<?php if ($this->params->get('phoneYesNo')) : ?>
<?php echo $this->params->get('telephone'); ?>
<?php endif; ?>
Поле телефона появится в настройках шаблона.

Если нет
Код
<config>
/*здесь какойто ваш код */
</config>

То добавляете так
Код
	<config>
<fields name="params">
    <fieldset name="basic">

<field name="phoneYesNo" type="radio" default="1" label="Показать телефон" description="ДА - показать на сайте, НЕТ - не показывать">
<option value="1">Да</option>
<option value="0">Нет</option>
</field>
<field name="telephone" class="" type="textarea" default="" label="Номер телефона"  description="Напишите текст, который хотите отобразить на сайте." />

</fieldset>
    </fields>
</config>

перед закрывающим </extension>
*

kern.USR

  • Давно я тут
  • 827
  • 68 / 1
Re: Изменяемый телефон на сайте
« Ответ #8 : 24.07.2018, 15:02:51 »
Можно сделать смену телефона в настройках шаблона.
Потом обновляем Joomla и/или шаблон, если не переопределить, и все старания затираются! Хроший совет!
*

leha111

  • Захожу иногда
  • 226
  • 0 / 0
Re: Изменяемый телефон на сайте
« Ответ #9 : 24.07.2018, 16:30:17 »
А что надо сделать , чтобы заданный таким образм текст центрировался по вертикали. У меня стандартный класс для row что-то этого не делает
[size=9,0pt]
Код
<div class="col-md-7 ">
   <div class="row  justify-content-center" style="font-size:1vh;">
      <a href="<?php echo JUri::base(TRUE);?>"><img class="logo1" style="width:3.5vh; " src="<?php echo JUri::base(TRUE)."/templates/".$doc->template;?>/images/q6hjf6Pefjg.jpg" alt="" /></a>


                       <?php if ($this->params->get('phoneYesNo')) : ?>
                           <?php echo $this->params->get('telephone'); ?>
                       <?php endif; ?>

                   </div>
</div>


https://yadi.sk/i/2GU_z_893ZXCNE

[/size]
*

rkron

  • Захожу иногда
  • 316
  • 7 / 0
Re: Изменяемый телефон на сайте
« Ответ #10 : 24.07.2018, 18:32:46 »
Готовое решение мобильный блок выводится модулем где хотите в хедере или в подвале. Whatsapp Telegram и мобильный телефон. Все меняется в админке. При желании можно добавить обычный телефон.
*

leha111

  • Захожу иногда
  • 226
  • 0 / 0
Re: Изменяемый телефон на сайте
« Ответ #11 : 26.07.2018, 09:13:34 »
Вопрос к товарищу Stasweb:А можно таким - же образом через шаблон картинку вывести ?
Ответ товарищу kern.USR:Шаблон у меня самопальный, так что обновления на нем бывают только когда я что-то делаю.
*

rkron

  • Захожу иногда
  • 316
  • 7 / 0
Re: Изменяемый телефон на сайте
« Ответ #12 : 26.07.2018, 10:58:06 »
В шаблоне, там, где удобно выводите переменную <?php echo $params->get( 'telephone' ); ?> В настройках шаблона этой переменной задаете ваш телефон.
*

Stasweb

  • Завсегдатай
  • 1501
  • 24 / 0
Re: Изменяемый телефон на сайте
« Ответ #13 : 26.07.2018, 11:11:19 »
Вопрос к товарищу Stasweb:А можно таким - же образом через шаблон картинку вывести ?
Как вариант в templateDetails.xml сразу после кода с телефона вставьте
Код
<field name="imgfile" class="" type="media" default="" label="Изображение" description="Загрузить свое изображение" />
И в шаблоне
Код
  <?php 
   if ($this->params->get('imgfile')){
    $img_file_user = '<img src="' . JUri::root(). $this->params->get('imgfile'). '"/>';
}
   echo $img_file_user;
   ?>
Посмотрите тут Вывод полей из templateDetails.xml
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Блок на сайте

Автор Jackie

Ответов: 5
Просмотров: 963
Последний ответ 20.11.2020, 23:15:38
от sivers
Не работает выпадающий пункт меню на мультиязычном сайте Joomla 3, Helix Frame

Автор iskintel

Ответов: 15
Просмотров: 1471
Последний ответ 04.04.2020, 18:51:22
от sergkh
Два мобильных меню на сайте

Автор Vasiliy111

Ответов: 3
Просмотров: 1035
Последний ответ 22.10.2018, 15:11:57
от Vasiliy111
Вывести телефон автора статьи в шаблон

Автор tiraz

Ответов: 11
Просмотров: 1351
Последний ответ 13.06.2017, 18:12:23
от Septdir
Контактный телефон вверху сайта (шаблон yoo_avanti)

Автор svarg

Ответов: 5
Просмотров: 1757
Последний ответ 22.04.2017, 14:28:10
от svarg