Встановлення

    Початок використання bLang

    1. Встановлення

    bLang можна встановити як з репозиторія (версія 1.0.1b), так і завантажити архів з гітхаба.

    2. Налаштування .htaccess

    Після встановлення необхідно в htaccess перед # For Friendly URLs додати код

    RewriteRule ^([a-z]{2})$ $1/ [R=301,L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^([a-z]{2})/(.*)$ index.php?q=$2&lang=$1 [L,QSA]

    3. Конфігурація bLang

    Після заходимо в модуль bLang на вкладку конфігурація і підганяємо конфіг під себе.

    • Вказуємо мови.
    • Вказуємо суфікси полів для кожної мови.
    • Вказуємо головну мову

    Інші налаштування менш важливі.

    4. Створення TV полів

    Переходимо на вкладку Параметри. Тут можна створювати багатомовні TV. Логіка проста, ви створюєте один параметр в модулі, а bLang сам автоматично робить дубль під кожну мову з урахуванням суфікса.

    Для зручності є кнопка "Додати стандартні параметри", вона автоматом в модулі створить основні поля такі як (titl,desc,pagetitle,description). Після необхідно тільки прив'язати до шаблонів.

    5. Створення вкладок.

    bLang може автоматично визначити, на яку вкладку необхідно закинути тв поле, на підставі значення з інпута "Назва вкладки".
    Якщо там записано seo. [lang] - це значить, що поле titl_en додасть на вкладку seo в секцію en. Якщо записано [lang], тв поле pagetitle_en буде на вкладці en. Якщо записно main, тв поле незалежно від мови буде на вкладці main.

    Якщо ви використовуєте manager, достатньо в чанк додати код

    $bLangModuleObj = new \bLang\bLangModule($modx,'','');
    $bLangModuleObj->getMMRules();

    Якщо використовуєте templateedit3, і вам потрібно додати вкладки після General

    $bLangModuleObj = new \bLang\bLangModule($modx,$modulePath,$moduleurl);
    $config = $bLangModuleObj->te3AddAfter('General',$config);

    Якщо використовуєте templateedit3, і вам потрібно просто отримати список вкладок, які bLang згенерував

    $bLangModuleObj = new \bLang\bLangModule($modx,$modulePath,$moduleurl);
    $bLangModuleObj->getTE3Rules();

    6. Словник

    Всі написи які є в шаблоні, і їх потрібно переводити необхідно додавати в словник. Він знаходиться в модулі bLang на вкладці Словник. В колонку назви пишіть ключ, за яким будете отримувати значення в шаблоні. В шаблоні можна отримати через.

    [(__name)]

    В сніпеті

    $modx->getConfig('__name');

    7. Спец. змінні

    Після ініціалізації bLang в $ modx-> config записує крім словника, кілька спец. полів

    [(_lang)] - ключі поточної мови [(_root)] - префікс урла для поточної мови [(_suffix)] - суфікс полів для поточної мови [(_en_url)] - урл поточної сторінки для en мови

    8. Поля поточного ресурсу і урл.

    ЕЯкщо включено "Автоматично підставляти поля в $ modx-> documentObject" і "Автоматично підставляти префікс (_root) для урлів", то в шаблоні, як і зазвичай можна писати

    [*pagetitle*]
    [~[*id*]~]