Не забудьте взяти маркери, web-майстерня yustos

Не забудьте взяти маркери
Найчастіше найважливішу частину веб-сайту складають його користувачі. Вони - унікальні особистості, що формують основу процвітаючих співтовариств. Тому життєво важливо підтримувати користувачів і робити контент сайту передбачуваним і персоналізованих.

Одна з найбільших труднощів, з якою при цьому доведеться зіткнутися, - видача користувачам персоналізованої інформації без вставки всюди купи повторюваного коду. Також важливо мати можливість легко виводити унікальні дані в рядки для подальшого відображення користувачам.

На щастя, в друпалі є зручний метод вставки змінних в контент за допомогою модуля Token. На противагу простій заміні рядків, модуль Token пропонує розробникам єдиний метод роботи з рядками, які можуть бути використані в різних частинах системи. Він легко інтегрується з іншими модулями і зменшує загальну кількість вмісту, яке розробнику довелося б розписати для створення персоналізованого веб-сайту.

Переклади це!
Перш ніж зануритися в модуль Token, важливо зрозуміти його роль в екосистемі Друпала. У друпалі є кілька методів заміни рядків, які можуть вам стати в нагоді в залежності від ситуації. Найпоширеніший з них - вбудована в Друпал система перекладу.

Система перекладу дуже проста і застосовується практично повністю через функцію t (). Наприклад, якщо ми хочемо показати користувачу перекладене вітальне повідомлення, можемо зробити так:
drupal_set_message (t (Welcome to the site, take a look around!));
Як тільки ми створимо правильні файли перекладів для мови користувача, цей рядок буде переведена. Втім, є одна проблема. Крім мови, тут немає ніякої персоналізації. На щастя, функція перекладу сама вміє проводити заміну рядків!
global $ user;
drupal_set_message (
t (Welcome to the site @user, take a look around !,
array (@user => $ user-> name)
);
Тут ми бачимо наш перший токен (@user). Цей рядок в кінцевому підсумку буде замінена ім'ям користувача. Символ на початку токена позначає спосіб фільтрації, використовуваної при вставці рядка (вона допомагає писати безпечний код).

У функції format_plural () @count - спеціальна змінна, вона завжди використовується для підстановки числа, переданого першим аргументом.
Варто зауважити, що ці функції слід використовувати тільки для перекладу інтерфейсу. Перекладні рядки повинні бути статичними (тобто не введеними користувачем). Так чи інакше, ці функції дають можливість писати переказуються на інші мови модулі паралельно з одними рядками.

API модуля Token
API модуля Token - відмінний інструмент для динамічних підстановок в тексті. Він дозволяє розробникам замінювати рядки (звані токенами) змінними даними в межах тексту. Багато вже знайомі з одним видом токенов, які можна спостерігати в модулі user, включеному в стандартну поставку Друпала. Модуль user широко застосовує токени при генерації персона

Схожі статті