Помогите разобраться! Ссылка не генерируется, приходит !confirmation_url в письме вместо нее. Simplenews

Главные вкладки

Аватар пользователя Elodia Elodia 29 марта 2010 в 15:56

Установила и все настроила в модуле Simplenewe.
Но! Когда незарегистрированный пользователь пытается зарегистрироваться через форму в блоке, то вместо сгенерированной ссылки для перехода и подтверждение подписки приходит !confirmation_url, а ссылки нет! Почему так - не могу понять. Но надо исправить. Помогите, пожалуйста.

Комментарии

Аватар пользователя wolfXXXL wolfXXXL 29 марта 2010 в 17:26

"Elodia" wrote:
Почему так - не могу понять.

Могу лишь предположить, что Вы при переводе текста письма допустили ошибку в заменителе !confirmation_url.
Внимательно проверьте его или сбросьте перевод письма на default.

Аватар пользователя Elodia Elodia 29 марта 2010 в 17:41

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

Аватар пользователя gorr gorr 29 марта 2010 в 17:47

Это не простой английский текст, а текст, в котором некоторые помеченные специальными символами строки заменяются динамически. А причем тут simplenews к регистрации? Они никак не связаны, увы.

Аватар пользователя wolfXXXL wolfXXXL 29 марта 2010 в 18:46

!confirmation_url так и выводиться скорей всего по тому что в этот заменитель не чего не попадает.
Посмотрите в модуле где он, как подставляется ссылка, где она формируется.
Это где-то в hook_mail().

Аватар пользователя Elodia Elodia 29 марта 2010 в 18:54

У меня эта переменная присутствует только в тексте рассылаемых автоматических сообщений модулем simplenew, поэтому я думала, что это его переменная.
А как я пойму, что в знаменатель ничего не попадает?
И что мне с этим делать?

Аватар пользователя wolfXXXL wolfXXXL 29 марта 2010 в 19:23

"Elodia" wrote:
У меня эта переменная присутствует только в тексте рассылаемых автоматических сообщений модулем simplenew

Ради спортивного интереса скачал Simplenews заглянул в код.
Его заменители:

  // Replace existing uri and uri_brief to cope with multilingual sites.
  $vars['!uri'] = url('', array('absolute' => TRUE, 'language' => $language));
  $vars['!uri_brief'] = preg_replace('!^https?://!', '', $vars['!uri']);
  $vars['!confirm_subscribe_url'] = url('newsletter/confirm/add/'. $hash, array('absolute' => TRUE, 'language' => $language));
  $vars['!confirm_unsubscribe_url'] = url('newsletter/confirm/remove/'. $hash, array('absolute' => TRUE, 'language' => $language));
  $vars['!newsletter_url'] = isset($context['node']->nid) ? url('node/'. $context['node']->nid, array('absolute' => TRUE, 'language' => $language)) : '';
  $vars['!newsletter_name'] = $name;

Повторюсь я его не использовал и не зная текста письма которое он формирует не скажу точно, но заменив ваш !confirmation_url которого в модуле нет на нужный из кода выше в переводах наверняка исправит Вашу проблему.

P.S. Нашел где он формирует текст письма скорей всего !confirmation_url нужно заменить на !confirm_unsubscribe_url

Аватар пользователя Elodia Elodia 29 марта 2010 в 20:51

Опа! Я тоже заглядывала - искала эту переменную в коде - у меня двух последних строчек с переменными нет.... Даже поиском проверяла. Надо вставить и попробовать. Благодарю.