Новости Joomla

Свои типы полей в Joomla.

Свои типы полей в Joomla.Это большая тема, о которой можно говорить очень много

Это большая тема, о которой можно говорить очень много. Самое главное, что возможности применения ограничиваются только вашей больной фантазией. Вы строите интерфейс своего модуля или плагина и вам нужно подтянуть данные из сторонней системы (список чего-нибудь по какому-нибудь API), чтобы сохранить выбранный id в Joomla. Или сделать какую-то проверку и в зависимости от неё показать то или иное сообщение пользователю. Для этого подойдут свои пользовательские типы полей. Интерфейс Joomla по большей части описан в XML-файлах. У каждого из них свои параметры. Некоторые не описаны в документации (manual.joomla.org), поэтому самым любопытным будет полезно заглянуть в собственно файлы фреймворка по пути

libraries/src/Form/FormField.php, а так же в
libraries/src/Form/Fields. У каждого класса поля перечислены его специфические свойства, которые можно описывать в XML. А в своём типе поля вы можете устанавливать эти значения программно. В моём модуле WT Quick links под капотом происходят изменения. Теперь для работы (в админке) ему нужен вспомогательный плагин. А в самом модуле нам бы проверить, а не выключен ли он? В Joomla есть тип поля Note - заметка. Его можно использовать для вывода примечаний.

<field type="note" name="your_note_for_user" label="Заголовок примечания" title="Альтернативный способ для заголовка" description="Текст примечания" class="col-12 alert alert-info" heading="h1" close="true" />

heading - указывать уровень заголовка.
close - позволяет закрыть это примечание. В классе поля
libraries/src/Form/Field/NoteField.php описана логика вывода. И в принципе оно нам подходит для нашей задачи. Но оно будет выводить сообщение всегда, а нам нужно только тогда, когда плагин отключён. Поэтому берём и создаём свой класс поля, который мы унаследуем от
NoteField. Это значит, что у нас в руках будет весь инструментарий стандартного поля
Note + то, что мы сами добавим. В XML-манифест добавляем наше поле

<field type="systempluginstatus" name="systempluginstatus" addfieldprefix="Joomla\Module\Wtquicklinks\Site\Fields"/>

-

type - имя файла и класса,-
addfieldprefix - указываем namespace к нашему классу, может быть любой нам нужный-
name - нельзя полю без имени...Это означает, что Joomla будет использовать класс поля из файла
modules/mod_wt_quick_links/src/Fields/SystempluginstatusField.php.А в классе поля будет написано следующее:

<?php // namespace для атрибута addfieldprefix namespace Joomla\Module\Wtquicklinks\Site\Fields; // нельзя напрямую обращаться к этому файлу defined('_JEXEC') or die; // подключаем родительский класс для переопределения use Joomla\CMS\Form\Field\NoteField; use Joomla\CMS\Language\Text; use Joomla\CMS\Plugin\PluginHelper; // имя класса и имя файла точь-в-точь class SystempluginstatusField extends NoteField { protected $type = 'Systempluginstatus'; protected function getLabel() { // если плагин не включён if(PluginHelper::isEnabled('system','wtquicklinks')) { // меняем свойства родительского класса $this->class = 'alert alert-danger w-100'; $this->element['label'] = '⚠️ А-а-а-а!'; $this->element['description'] = 'Плагин не включён!!'; // и просто рендерим его с нашими свойствами return parent::getLabel(); } // А иначе всё хорошо, скрываем поле из виду. $this->parentclass = 'd-none'; return ''; } }

Просто и удобно. И людям приятно, что о них позаботились и рассказали почему что-то не работает. @webtolkru#joomla #php #webdev #разработка

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

Kovkainfo

  • Осваиваюсь на форуме
  • 33
  • 2 / 0
Call Me Back Form
« : 22.04.2017, 02:15:29 »
Доброй ночи всем.

Есть вот такой модуль https://extensions.joomla.org/extensions/extension/contacts-and-feedback/contact-forms/call-me-back-form/

Установил на сайт вывел в материале и все, дальше ступор, ни под каким предлогом сообщения не прилетают на почту, что уже только не делал, может кто пользуется этим расширением, или знает куда смотреть, подскажите решение пожалуйста.

Что сам пробовал сделать:

1. В настройках сайта стоит почта имя@сайт.ру
2. В модуле стоит этот же адрес
3. На хостинге создан почтовый домен с переадресацией всех писем на имя@mail.ru
4. В php.ini прописан адрес имя@сайт.ру
5. Способ отправки в админке PHP, тестовое письмо прилетает на адрес имя@mail.ru
*

Strikerus

  • Захожу иногда
  • 103
  • 7 / 0
  • Aka Smyke
Re: Call Me Back Form
« Ответ #1 : 22.04.2017, 09:46:02 »
Доброй ночи всем.

Есть вот такой модуль https://extensions.joomla.org/extensions/extension/contacts-and-feedback/contact-forms/call-me-back-form/

Установил на сайт вывел в материале и все, дальше ступор, ни под каким предлогом сообщения не прилетают на почту, что уже только не делал, может кто пользуется этим расширением, или знает куда смотреть, подскажите решение пожалуйста.

Что сам пробовал сделать:

1. В настройках сайта стоит почта имя@сайт.ру
2. В модуле стоит этот же адрес
3. На хостинге создан почтовый домен с переадресацией всех писем на имя@mail.ru
4. В php.ini прописан адрес имя@сайт.ру
5. Способ отправки в админке PHP, тестовое письмо прилетает на адрес имя@mail.ru

Написал в личку, но там не понятно дошло или нет, на всякий случай продублирую ответ здесь:

Для начала нужно получить код ошибки, на текущий момент форма работает и после отправки выдает сообщение что заявка ушла успешно.

Вариант №2:
Включить отображение ошибок PHP на сайте, Затем отправить форму повторно, после отправки на странице должен появиться текст ошибки.

Вариант №2:
Можно посмотреть ошибки в логах хостинга, идем в панель управления хостингом, ищем том Логи ошибок или подобное, смотрим последние по дате

Вариант №3:
Можно написать в тех.поддержку хостинга с указанием версии вашей Joomla - они могут подсказать правильные её настройки или посмотреть логи сами

--------------------------------------------------------------------------------

Если добудете код ошибки (из вариантов 1 или 2) - пишите его сюда
« Последнее редактирование: 22.04.2017, 09:50:02 от Strikerus »
*

Kovkainfo

  • Осваиваюсь на форуме
  • 33
  • 2 / 0
Re: Call Me Back Form
« Ответ #2 : 22.04.2017, 12:06:54 »
Написал в личку, но там не понятно дошло или нет, на всякий случай продублирую ответ здесь:

Для начала нужно получить код ошибки, на текущий момент форма работает и после отправки выдает сообщение что заявка ушла успешно.

Вариант №2:
Включить отображение ошибок PHP на сайте, Затем отправить форму повторно, после отправки на странице должен появиться текст ошибки.

Вариант №2:
Можно посмотреть ошибки в логах хостинга, идем в панель управления хостингом, ищем том Логи ошибок или подобное, смотрим последние по дате

Вариант №3:
Можно написать в тех.поддержку хостинга с указанием версии вашей Joomla - они могут подсказать правильные её настройки или посмотреть логи сами

--------------------------------------------------------------------------------

Если добудете код ошибки (из вариантов 1 или 2) - пишите его сюда

Добрый день.

Да получилось ошибку увидеть, прям над формой вот это появилось:

Notice: Undefined index: cmbf-phone-225 in /var/www/u0112675/data/www/kovka.info/modules/mod_call_me_back_form/tmpl/default.php on line 43
Это весь файл
Спойлер
[свернуть]


Это начиная с 43 строки кусок кода

Спойлер
[свернуть]
*

Kovkainfo

  • Осваиваюсь на форуме
  • 33
  • 2 / 0
Re: Call Me Back Form
« Ответ #3 : 22.04.2017, 14:05:22 »
Попробовал такой вариант

В общем в логах нашел указание на файл с строкой class.phpmailer.php:689

Полез туда и нашел строку $result = @mail($to, $subject, $body, $header, $params);

Весь кусок:

Спойлер
[свернуть]

Это $to заменил на это 'почта@сайт.ру' и попробовал отправить заявку, она пришла, один раз и все) больше не приходит

*

Kovkainfo

  • Осваиваюсь на форуме
  • 33
  • 2 / 0
Re: Call Me Back Form
« Ответ #4 : 22.04.2017, 16:38:45 »
Нашел такой фикс

https://github.com/leadingcode/callMeBackForm/commit/4bdd3bbd0b7124cfc0286ea56e2073c20dcdbff3

Спойлер
[свернуть]

Ошибка пропала но почта один фиг не приходит ))
*

Strikerus

  • Захожу иногда
  • 103
  • 7 / 0
  • Aka Smyke
Re: Call Me Back Form
« Ответ #5 : 22.04.2017, 17:12:27 »
Беда прям, а с сайта вообще сообщения нормально отправляются? Сама Joomla, например, при регистрации очередного пользователя отправляет уведомление на почту администратора. Такие сообщения доходят?
*

Kovkainfo

  • Осваиваюсь на форуме
  • 33
  • 2 / 0
Re: Call Me Back Form
« Ответ #6 : 22.04.2017, 17:55:20 »
Беда прям, а с сайта вообще сообщения нормально отправляются? Сама Joomla, например, при регистрации очередного пользователя отправляет уведомление на почту администратора. Такие сообщения доходят?

Да и проверка работает, и подобные модули ставил все работало. Где то ошибка есть а где не могу понять(
*

Kovkainfo

  • Осваиваюсь на форуме
  • 33
  • 2 / 0
Re: Call Me Back Form
« Ответ #7 : 22.04.2017, 20:12:10 »
Ответ от хостинга

Спойлер
[свернуть]
*

Kovkainfo

  • Осваиваюсь на форуме
  • 33
  • 2 / 0
Re: Call Me Back Form
« Ответ #8 : 23.04.2017, 06:32:05 »
Друзья, есть кто нибудь кто платно сможет запустить этот модуль? Сколько будет работа стоить?
*

Strikerus

  • Захожу иногда
  • 103
  • 7 / 0
  • Aka Smyke
Re: Call Me Back Form
« Ответ #9 : 23.04.2017, 15:35:09 »
Ну тогда проще и дешевле установить любой другой аналогичный (работающий) модуль и подпилить его дизайн под шаблон. Времени уйдет пара часов максимум
*

Kovkainfo

  • Осваиваюсь на форуме
  • 33
  • 2 / 0
Re: Call Me Back Form
« Ответ #10 : 23.04.2017, 16:14:34 »
Ну тогда проще и дешевле установить любой другой аналогичный (работающий) модуль и подпилить его дизайн под шаблон. Времени уйдет пара часов максимум


Просто этот идеально подходит и прост(( может подскажите какой модуль посмотреть?)
*

Strikerus

  • Захожу иногда
  • 103
  • 7 / 0
  • Aka Smyke
Re: Call Me Back Form
« Ответ #11 : 24.04.2017, 05:26:25 »

Просто этот идеально подходит и прост(( может подскажите какой модуль посмотреть?)

http://joomlaforum.ru/index.php?topic=309065.0
*

docjers

  • Новичок
  • 1
  • 0 / 0
Re: Call Me Back Form
« Ответ #12 : 09.08.2017, 14:23:57 »
Подсажите столкнулся с проблемой, в Call Me Back Form создал еще один шаблон темы defaul-new для второй формы с другой разметкой, но когда я для модуля выбираю шаблон темы defaul-new  уже перевёрстанный под новую форму, то тема не подтягивается, кто сталкивался с подобной проблемой? Не подтягиваются новые созданные формы в  Call Me Back Form.
*

SVOLOCH

  • Осваиваюсь на форуме
  • 34
  • 0 / 0
Re: Call Me Back Form
« Ответ #13 : 16.10.2018, 09:37:36 »
Подскажите, пожалуйста, почему может не работать Callme в мобильной версии?
Прописан в шаблоне строкой
Код
<script type="text/javascript" charset="utf-8" src="/callme/js/callme.js"></script>
На пк работает, а в Mobilejoomla его просто нет.



*

sterveo

  • Захожу иногда
  • 60
  • 1 / 0
Re: Call Me Back Form
« Ответ #14 : 18.03.2019, 16:20:00 »
Скажите, а ни кто не поборол ?
Notice: Undefined index: cmbf-phone-96 in ... modules/mod_call_me_back_form/tmpl/default.php on line 43

fix не помог.
ошибка только на локальном сервере.

нашел ответ пока писал вопрос.  ^-^  https://github.com/leadingcode/callMeBackForm
переустановил ошибка пропала , модуль работает.
« Последнее редактирование: 18.03.2019, 16:43:06 от sterveo »
*

wayn

  • Захожу иногда
  • 72
  • 0 / 0
Re: Call Me Back Form
« Ответ #15 : 30.12.2019, 17:41:50 »
Скажите, а ни кто не поборол ?
Notice: Undefined index: cmbf-phone-96 in ... modules/mod_call_me_back_form/tmpl/default.php on line 43

fix не помог.
ошибка только на локальном сервере.

нашел ответ пока писал вопрос.  ^-^  https://github.com/leadingcode/callMeBackForm
переустановил ошибка пропала, модуль работает.

Ставил этот модуль на сайт. И он сам перестал работать. Обновлял, письма не приходят вообще. Если у кого получиться победить его, отпишитесь пожалуйста.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Simple Callback Form

Автор ROMERO

Ответов: 2
Просмотров: 3066
Последний ответ 03.02.2019, 15:07:55
от ROMERO
CK Form - проблема с всплывающими подсказками и экспортом в CSV

Автор 4erep

Ответов: 2
Просмотров: 6375
Последний ответ 23.10.2013, 12:33:53
от Leokadio
CK Form - форма в одну строку

Автор leksss

Ответов: 1
Просмотров: 6380
Последний ответ 19.01.2012, 11:28:00
от shoot56
CK form "съезжает шаблон"

Автор negodiy

Ответов: 2
Просмотров: 9516
Последний ответ 15.11.2011, 21:09:14
от nicifor
CK Form - преобразование в PDF или DOC

Автор born

Ответов: 2
Просмотров: 4377
Последний ответ 28.06.2011, 01:54:32
от yandex_hb