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


Отправка шаблона через вычисление


Сообщений в теме: 8

#1 wondertalik

    Активный участник

  • Пользователи
  • PipPipPip
  • 1 159 сообщений
  • Пол:Мужчина
  • Город:Кривой Рог, Украина

Отправлено 21 Март 2013 - 21:51

Столкнулся с такой ситуацией, создал вычисление при сохранении. В котором есть такие строки:

$line['Пароль'] = $passwd;
$line['userID'] = mysql_insert_id();
$line['Логин'] = "user" . intval($line['userID']);
//Обновляем логин
$sqlQuery = "UPDATE " . USERS_TABLE . " SET
`login` = '" . $line['Логин'] . "'
WHERE `id` = " . intval($line['userID']);
$result = mysql_query($sqlQuery) or die(mysql_error() . "<br>" . $sqlQuery);


$send_filter = "`id`='$ID'";
send_template(41, $send_filter);



Цитата


Здравствуйте, {$Familiya} {$Imya} {$Otchestvo}

Ваш логин: {$Login}
Ваш пароль: {$Parol}


Проблема только в том, что значение логина и пароля пустые. Что делать?

Сообщение отредактировал wondertalik: 21 Март 2013 - 23:15


#2 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 762 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 22 Март 2013 - 12:34

Заполнение переменной $line само по себе не обновит данные в БД - это же не функция и не методы класса. Обновление происходит уже после выполнения вычисления. У вас же шаблон вызывается до этого. Если вам нужно обновление в самом коде, делайте его самостоятельно, через запрос.

#3 wondertalik

    Активный участник

  • Пользователи
  • PipPipPip
  • 1 159 сообщений
  • Пол:Мужчина
  • Город:Кривой Рог, Украина

Отправлено 22 Март 2013 - 12:42

Пример пожалуйста маломальский можно? через какой запрос...

#4 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 762 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 22 Март 2013 - 12:51

Через запрос на обновление, разумеется. Также как вы обновили USERS_TABLE. Или через нашу функцию update_query.

#5 KLV

    Участник

  • Пользователи
  • PipPip
  • 24 сообщений

Отправлено 18 Апрель 2013 - 09:11

Добрый день! Не могу сообразить как сформировать подобное вычисление.
Есть таблица Клиенты (подчиняется таблице Объекты). В таблице Клиенты есть поле Комментарий. При изменении этого поля отправлять шаблон рассылки по адресу ['Объекты']['Населенный пункт']['Ответственный']['Эл. почта']. То есть, в таблице Объекты есть связанное поле Населенный пункт, в котором, в свою очередь, есть связанное поле Ответственный, в таблице которого есть поле Эл. почта.

#6 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 762 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 18 Апрель 2013 - 11:15

А сам шаблон вы создали уже? В какой таблице? Какое поле указано в настройках шаблона в качестве адресата?

#7 KLV

    Участник

  • Пользователи
  • PipPip
  • 24 сообщений

Отправлено 18 Апрель 2013 - 11:19

Шаблон создан в поле Клиенты. В том-то и проблема, что адресата невозможно выбрать, так как в поле адреса получателя можно выбрать только связь первого уровня.

#8 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 762 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 18 Апрель 2013 - 12:34

Цитата

так как в поле адреса получателя можно выбрать только связь первого уровня

Совершенно верно. Поэтому для начала вам необходимо создать поле "E-mail" в таблице Объекты и задать его вычислением:

$line['E-mail'] = $line['Населенный пункт']['Ответственный']['Эл. почта']

А затем уже указать это поле в настройках вашего шаблона через связь первого уровня.

#9 KLV

    Участник

  • Пользователи
  • PipPip
  • 24 сообщений

Отправлено 18 Апрель 2013 - 12:49

М-да. Как раз хотел этого избежать:) Ну что ж, раз нет альтернативных вариантов, буду создавать новое поле в таблице объекта. Спасибо за консультацию.





Количество пользователей, читающих эту тему: 1

0 пользователей, 1 гостей, 0 анонимных