Вставка инфы в таблицу после редактирования профиля

 
Посетитель
no avatar
Сообщений: 38
День добрый. Направьте в нужное русло.

Задача такая: после редактирования профиля(а именно, полей которые входят в столбец таблицы cms_user_profiles(formsdata)) нужно вставить эти же значения в другую таблицу cms_user_param(нужно проследить динамику изменений)

Куда во frontend.php вбивать запрос insert...select что бы это проходило только после изменений этого столбца(formsdata)

Заранее спасибо =)
InstantCMS Team
small user social cms
МедальАвторитет форумаКубок зрительских симпатий
Сообщений: 4338
Dmitriy, можно не править указанный файл, а написать плагин на эвент UPDATE_USER_PROFILES. Будет доступен массив данных, подготовленных для обновления таблицы cms_user_profiles. Проверяйте элемент массив 'formsdata' - это строковое значение в формате Yaml. Если вам нужно сравнивать как то значение, то соответственно в плагине получайте предыдущее значение данного поля (плагин выполняется до обновления данных) и проводите нужные манипуляции.
Видео каталог для InstantCMS | Аудио каталог для InstantCMS | Мы Вконтакте | Предложение для спонсоров
Реклама
cms
Посетитель
small user social cms
МедальПочетный донор проекта
Сообщений: 317
Fuze:

Dmitriy, можно не править указанный файл, а написать плагин на эвент UPDATE_USER_PROFILES. Будет доступен массив данных, подготовленных для обновления таблицы cms_user_profiles. Проверяйте элемент массив 'formsdata' - это строковое значение в формате Yaml. Если вам нужно сравнивать как то значение, то соответственно в плагине получайте предыдущее значение данного поля (плагин выполняется до обновления данных) и проводите нужные манипуляции.

Здраствуйте Fuze,
Не по теме,но близко к ней.
По поводу форм в анкете пользователя.Если создаю поле с большим количеством символов,например 1000,то после его заполнения и сохранения пользователем оно почему то обрезается,и обрезается текст в поле в следующем поле от него.Пожайлсута если возможно проверьте.
Версия 1.10.3



InstantCMS Team
small user social cms
МедальАвторитет форумаКубок зрительских симпатий
Сообщений: 4338
Здравствуйте alexbabo.
alexbabo:
Если создаю поле с большим количеством символов,например 1000,то после его заполнения и сохранения пользователем оно почему то обрезается,и обрезается текст в поле в следующем поле от него.
Напишите максимально подробно действия, чтобы я смог повторить это у себя.
Видео каталог для InstantCMS | Аудио каталог для InstantCMS | Мы Вконтакте | Предложение для спонсоров
Посетитель
small user social cms
МедальПочетный донор проекта
Сообщений: 317
Fuze:

Напишите максимально подробно действия, чтобы я смог повторить это у себя.
В конструкторе форм,в анкете пользователя создаю поле "Обо мне".
У меня оно по порядку 6,до него :
[1] Телефон

[2] Контактное лицо

[3] Веб сайт

[4] E-mail

[5] Доп.информация

[6] Обо мне

[7] Минимальная сумма заказа


Для поля "Обо мне " в настройках "Макс. длина:" выставляю значение 1000.(соответственно Описание:Максимум 1000 знаков)
Для следующего за ним поля "Минимальная сумма заказа " в настройках "Макс. длина:" выставлено значение 200.

Теперь при редактировании профиля,заполняем поле "Обо мне" текстом 1000 символов и поле "Минимальная сумма заказа" 200 символов и сохраняем.
После сохранение поле "Обо мне " обрезается,поле "Минимальная сумма заказа" бывает обрезается бывает нет,как я заметил смотря сколько символов в поле "Обо мне ",но не факт.
При повторном редактирование поле "Минимальная сумма заказа" бывет почему то пустым.
Спасибо.



Посетитель
no avatar
Сообщений: 38
Fuze:

Dmitriy, можно не править указанный файл, а написать плагин на эвент UPDATE_USER_PROFILES. Будет доступен массив данных, подготовленных для обновления таблицы cms_user_profiles. Проверяйте элемент массив 'formsdata' - это строковое значение в формате Yaml. Если вам нужно сравнивать как то значение, то соответственно в плагине получайте предыдущее значение данного поля (плагин выполняется до обновления данных) и проводите нужные манипуляции.

Плагин, если я правильно понимаю ,такой же файл с расширением .php, который я в нужный момент вызову в frontend.php? так? а где взять шаблон подобного плагина? А то я не совсем понял как это реализовать.
InstantCMS Team
small user social cms
МедальАвторитет форумаКубок зрительских симпатий
Сообщений: 4338
Dmitriy:
Плагин, если я правильно понимаю ,такой же файл с расширением .php, который я в нужный момент вызову в frontend.php? так?
нет, делайте по аналогии с существующими плагинами, которые находятся в директории /plugins.
alexbabo, проверю, если баг подтвердится, будет исправление.
Видео каталог для InstantCMS | Аудио каталог для InstantCMS | Мы Вконтакте | Предложение для спонсоров
Посетитель
no avatar
Сообщений: 38
Fuze:

Dmitriy, можно не править указанный файл, а написать плагин на эвент UPDATE_USER_PROFILES. Будет доступен массив данных, подготовленных для обновления таблицы cms_user_profiles. Проверяйте элемент массив 'formsdata' - это строковое значение в формате Yaml. Если вам нужно сравнивать как то значение, то соответственно в плагине получайте предыдущее значение данного поля (плагин выполняется до обновления данных) и проводите нужные манипуляции.

А как массив то этот извлечь, он же в другом файле? Поясните пожалуйста.
InstantCMS Team
small user social cms
МедальАвторитет форумаКубок зрительских симпатий
Сообщений: 4338
Dmitriy:
А как массив то этот извлечь, он же в другом файле? Поясните пожалуйста.
Массив передается в плагин в метод execute.
Fuze:
делайте по аналогии с существующими плагинами, которые находятся в директории /plugins.
Видео каталог для InstantCMS | Аудио каталог для InstantCMS | Мы Вконтакте | Предложение для спонсоров
Посетитель
small user social cms
МедальАвторитет форумаКубок зрительских симпатий
Сообщений: 1979
а тут еще Странник подсуетился с Генератором плагина...
NOP
Посетитель
no avatar
Сообщений: 38
Странник:

а тут еще Странник подсуетился с Генератором плагина...

??
Посетитель
no avatar
Сообщений: 38
Fuze:

Dmitriy:
А как массив то этот извлечь, он же в другом файле? Поясните пожалуйста.
Массив передается в плагин в метод execute.
Fuze:
делайте по аналогии с существующими плагинами, которые находятся в директории /plugins.
Большое спасибо, почти получилось. Данные успешно вносятся в другую таблицу, но никак не могу поместить в неё id пользователя с которым произошли изменения, видимо в этом массиве ид пользователя не передается, т.к. переменные$article['id']и $article['user_id'] пустые scratch . Не подскажите как выкрутиться?
Редактировалось: 1 раз (Последний: 20 марта 2014 в 18:10)
Посетитель
no avatar
Сообщений: 38
http://instantcms.ru/forum/thread17892.html#new решение тут, спасибо!
В начало страницы
Предыдущая темаСледующая тема Перейти на форум: