Перейти к содержимому


Фотография
* - - - - 1 Голосов

Можно ли автоматом подставлять автора подачи как залогиненого пользователя Joomla?


Лучший Ответ SmetDenis , 16 October 2013 - 00:24

Что-то молчат все, неужели это так сложно?
Тогда поставим вопрос шире - как при подаче организовать заполнение поля, какого-либо, без разницы какого, значением по умолчанию? В функционале это точно не реализовано, тогда может хаком?

Добрый день.

Да, вопрос не тривиальный.
Могу предложить следующие варианты.

Сделать валидацию на уровне элемента
Каждый элемент имеет метод валидации - validateSubmission
Реализацию его можно посмотреть в любом элементе
media\zoo\elements\relateditems\relateditems.php
Все что он вернет - попадет в базу данных.

 
Второй вариант более жесткий, но тоже можно использовать
Воспользоваться системным событием, которое будет вызвано сразу после сохранения
vf0_200x0.png

В указанном месте нужно дописать проверку данных в поле и при необходимости пересохранить (только аккуратно, чтобы не попасть в цикл). Доступ к элементу можно получить следующим способом
$data = $item->getElement('ELEMENT_ID')->data();
Перейти к сообщению


  • Закрытая тема Тема закрыта
Сообщений в теме: 2

#1 .polega.

.polega.

Отправлено 13 October 2013 - 20:24

На сайте недвижимости реализована следующая схема привязки объекта и ведущего этот объект агента: есть каталог "Объект недвижимости" и есть каталог "Риэлтор". В объектах - понятно - объекты (квартиры, дома и т.д.) В риэлторах - агенты (риэлторы), с фотками, телефонами и прочим. К каждому объекту риэлтор привязывается при подаче через Related Items, где выбирается нужный агент. Всё бы хорошо, но при подаче получается, что можно выбрать любого агента для объекта из всех зарегистрированных агентов, а это есть не очень хорошо, возможны недобросовестные агенты, или просто путаница, или ошибки случайные при выборе.

Как можно автоматически подставлять в поле выбора агента (которое Related Items) конкретное значение (конкретного агента), которого взять через ID залогиненого пользователя Joomla? У агента (риэлтора) добавил текстовое поле "ID пользователя", через которое собираюсь связать агента из каталога JBZoo "Риэлтор" и пользователя Joomla. Но как при подаче учесть это поле и подставить нужного агента из каталога "Риэлтор"?


  • 0

#2 .polega.

.polega.

Отправлено 15 October 2013 - 06:22

Что-то молчат все, неужели это так сложно?

Тогда поставим вопрос шире - как при подаче организовать заполнение поля, какого-либо, без разницы какого, значением по умолчанию? В функционале это точно не реализовано, тогда может хаком?


  • 0

#3 SmetDenis

SmetDenis

Отправлено 16 October 2013 - 00:24   Лучший Ответ

Что-то молчат все, неужели это так сложно?
Тогда поставим вопрос шире - как при подаче организовать заполнение поля, какого-либо, без разницы какого, значением по умолчанию? В функционале это точно не реализовано, тогда может хаком?

Добрый день.

Да, вопрос не тривиальный.
Могу предложить следующие варианты.

Сделать валидацию на уровне элемента
Каждый элемент имеет метод валидации - validateSubmission
Реализацию его можно посмотреть в любом элементе
media\zoo\elements\relateditems\relateditems.php
Все что он вернет - попадет в базу данных.

 
Второй вариант более жесткий, но тоже можно использовать
Воспользоваться системным событием, которое будет вызвано сразу после сохранения
vf0_200x0.png

В указанном месте нужно дописать проверку данных в поле и при необходимости пересохранить (только аккуратно, чтобы не попасть в цикл). Доступ к элементу можно получить следующим способом
$data = $item->getElement('ELEMENT_ID')->data();

  • 1
JBZoo v4.0 и новый чудный мир Open Source GPL
Отключайте проверку лицензий как можно скорее!



— Есть два типа людей: Кто еще не делает бекапы и кто уже делает бекапы.





Click to return to top of page in style!