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

_LA_

  • Новичок
  • 3
  • 0
Всем привет!
У кого-нибудь получалось удачно изменить текст активации?
Что текст хранится в "\language\ru-RUru-RU.com_users.ini" известно, что переопределить языковую константу в "Расширения - Менеджер языков - Переопределение констант" тоже известно: менять нужно языковую константу с тегом "COM_USERS_EMAIL_REGISTERED_WITH_ACTIVATION_BODY", по умолчанию она выглядит так: "Здравствуйте, %s,\n\nБлагодарим вас за регистрацию на сайте %s. Ваша учётная запись создана, но должна быть активирована прежде, чем вы сможете ею воспользоваться.\nЧтобы активировать учётную запись, перейдите по ссылке ниже, или скопируйте её в адресную строку браузера:\n%s \n\nПосле активации вы сможете входить на сайт %s с помощью указанных ниже логина и пароля:\n\nЛогин: %s\nПароль: %s"

Проблема в динамических данных. Статический текст правится без проблем, а вот вместо %s подставляются данные по определенному порядку. Видимо, есть некоторый массив, который постепенно читается, и при очередном %s считывается ячейка, после чего очередь переходит к следующей ячейке и т.д.
Нельзя просто убрать %s из шаблона письма, иначе все письмо "перекосится".

По умолчанию, после "Здравствуйте" должно быть имя пользователя, если удалить %s в шаблоне после "Здравствуйте", то имя пользователя пойдет после текста "...Благодарим вас за регистрацию на сайте", и так далее...все данные сдвинутся на одну позицию.
*

Ilhom666

  • Живу я здесь
  • 1305
  • 166
проверьте в \components\com_users\models\registration.php порядок вызова параметров
*

_LA_

  • Новичок
  • 3
  • 0
проверьте в \components\com_users\models\registration.php порядок вызова параметров
Так и есть, спасибо за подсказку!
Но, так как у меня используется chronoforms5, этот файл переопределен по пути /administrator/components/com_chronoforms5/chronoforms/actions/joomla_registration/joomla_registration.php. Там есть аналогичный раздел
Код
$emailBody = JText::sprintf(
'COM_USERS_EMAIL_REGISTERED_WITH_ACTIVATION_BODY',
/*$data['name'],*/
$data['sitename'],
$data['activate'],
$data['siteurl'],
$data['username'],
$data['password_clear']
);
где, как видно, я уже закомментировал $data['name'].
После этого, из шаблона письма можно удалить первый %s и ничего не "перекосится". Каждый %s соответствует по порядку $data в вышеуказаном фрагменте кода.


Остался только один вопрос: этот файл можно как-то переопределить? Ведь при очередном обновлении изменения все сбросятся к дефолту.
« Последнее редактирование: 05.07.2016, 14:28:28 от _LA_ »
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться