Давайте спочатку розглянемо простий випадок: потрібно вставити одне динамічне значення в мовну константу. Наприклад, в залежності від того, скільки символів ми дозволяємо вносити користувачеві в поле textarea, нам потрібно вивести в форму, скільки символів залишилося до максимальної кількості дозволених символів:
N_CHARACTERS_REMAINING="Залишилось <span>%s</span> символів."
В цьому випадку в коді, щоб замість %s підставити потрібне значення, потрібно прописати щось типу:
JText::sprintf('N_CHARACTERS_REMAINING', $remainingValue);
…де:
- N_CHARACTERS_REMAINING – мовна константа;
- $remainingValue – значення, яке потрібно вставити в мовну константу.
Думаю, з введенням одного значення, зрозуміло. Але… Що якщо нам потрібно вставити в мовну константу багато динамічних значень, які можуть змінюватися в довільному порядку. Наприклад, в повідомленні, яке надсилається користувачеві разом з реєстрацією на вашому сайті. Тобто, потрібно і ім'я прописати, і логи, і пароль, і посилання активації профілю нового користувача. Що ж. Давайте розглянемо і цей варіант.
Мовна константа в цьому випадку може виглядати наступним чином:
COM_USERS_EMAIL_REGISTERED_WITH_ACTIVATION_BODY="Вітаємо Вас, шановний користувач <strong>%s</strong>.<br /><br />Дякуємо, що зареєструвалися на нашому сайті <strong>%s</strong>. Ваш обліковий запис створено, але він повинен бути активований, перш ніж Ви зможете ним скористатися.<br />Для активації свого облікового запису перейдіть за наступним посиланням або скопіюйте його та вставте в адресний рядок браузера:<br /><br /><a href=\"%s\">%s</a><br /><br />Після активації Ви можете авторизуватися на сайті <a href=\"%s\">%s</a>, використовуючи наступні логін та пароль:<br />Логін: <strong>%s</strong><br />Пароль: <strong>%s</strong>"
Відповідно, нам потрібні такі змінні для вставки в цю мовну константу:
- Ім'я користувача;
- Назва сайту;
- Посилання з кодом активації профілю користувача;
- Знову посилання з кодом активації профілю користувача;
- Домен сайту;
- Знову назву сайту;
- Логін користувача;
- Пароль користувача.
Тоді код тіла повідомлення може виглядати наступним чином:
$body = JText::sprintf('COM_USERS_EMAIL_REGISTERED_WITH_ACTIVATION_BODY',
$userName,
$fromName,
$activationLink,
$activationLink,
$serverUrl,
$fromName,
$userUsername,
$userPassword
);
Якщо ви вже зареєстровані на цьому сайті, або вже залишали тут свої коментарі, відгуки, заявки на участь в акціях, щоб додати ще один коментар – авторизуйтесь
Додати коментар