223  1

#joomla[faq] :: динамічні дані (%s) у мовних константах

У цій невеликій статті ми розглянемо питання, як правильно вставляти динамічні дані в мовні константи CMS Joomla!

#joomla[faq] :: динамічні дані (%s) у мовних константах

Давайте спочатку розглянемо простий випадок: потрібно вставити одне динамічне значення в мовну константу. Наприклад, в залежності від того, скільки символів ми дозволяємо вносити користувачеві в поле 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>"

Відповідно, нам потрібні такі змінні для вставки в цю мовну константу:

  1. Ім'я користувача;
  2. Назва сайту;
  3. Посилання з кодом активації профілю користувача;
  4. Знову посилання з кодом активації профілю користувача;
  5. Домен сайту;
  6. Знову назву сайту;
  7. Логін користувача;
  8. Пароль користувача.

Тоді код тіла повідомлення може виглядати наступним чином:

$body = JText::sprintf('COM_USERS_EMAIL_REGISTERED_WITH_ACTIVATION_BODY',
    $userName,
    $fromName,
    $activationLink,
    $activationLink,
    $serverUrl,
    $fromName,
    $userUsername,
    $userPassword
);

Підписуйтесь. Коментуйте. Діліться відео і статтями – зробимо разом нашу роботу простіше і цікавіше!

Удачі, Миру і Добра!

Igor KRUK

переклад з російської

Створення landing page, сайтів-візиток, корпоративних сайтів, веб-порталів та інтернет-магазинів на різних платформах у розумні строки і…
за розумні гроші.

Якщо ви вже зареєстровані на цьому сайті, або вже залишали тут свої коментарі, відгуки, заявки на участь в акціях, щоб додати ще один коментар – авторизуйтесь

Додати коментар

Коментарі


«ArtInWeb.biz»
  • #31

UA :: У коментарях ви можете щось додати або уточнити, у т.ч. поділитися вашим кодом.


RU :: В комментариях вы можете что-то добавить или уточнить, в т.ч. поделиться вашим кодом.


EN :: In comments you can add or clarify something, including share your code.


© «ArtInWeb.biz» – веб-розробка повного циклу

В останнє редагувалось: 17/05/2019