Зв`язок
Вітаю! Я, Віталій, Ваш особистий надійний програміст.
1С Підприємство 8.2-8.3, 1С-Бітрікс: Управління сайтом, Бітрікс24

Багатомовність Бітрікс

Багатомовність на Бітрікс - як створити багатомовний сайт без зайвих проблем та головного болю! Модуль Мультимовність: інфоблоки різними мовами вирішує цю проблему!
Вже досить довгий час на форумах та телеграмах чатах обговорюється тема багатомовності бітрікс та способи її вирішення. Самі ж варіанти рішення часто буває чимось дуже важко уявним і несумісним з системою управління сайтом Бітрікс. В основному такі рішення називаються на мові програмістів - костилем. І все це тільки тому, що Бітрікс не має багатомовності як такої.

Добре, якщо контент різний

Проблема не виникає лише в тому випадку, якщо у вас для кожної мови є свій контент. Наприклад, кожна мова вашого сайту визначає різні країни, які відрізняються і самим контентом. Різні новини, які є актуальними для однієї країни та неактуальні для іншої. Свій список мереж магазинів. Для кожного регіону він буде різний.

Але якщо контент один для всіх мов?

Добре, з різним контентом ми розібралися.

Але що робити, коли у нас єдиний контент, наприклад каталог товарів, і ми продаємо ці товари в кількох країнах. Або у своїй країні нам потрібно показувати ці товари різними мовами. Дублювати каталоги, скажете Ви? Це ж скільки товарів доведеться змінювати ціну, описи, властивості, і так далі ... Такий підхід до багатомовності сайту виявиться Вам просто жахом після всіх виконаних вами і вашою командою маніпуляцій. Керувати такою кількістю інформації та синхронізувати її буде просто неможливо! Та й Ви ніяк не налаштуєте вивантаження вашого каталогу з 1С в різні інфоблоки різними мовами? Як? Неможливо! Я бачив такі процеси всередині компаній, коли з великими зусиллями пробують цю кульгаву кобилу змусити тікати.

Кожен щось робить, але незрозуміло що. Зробили вивантаження з 1С, далі контентник намагається все зачесати на сайті. Додає вручну властивості на дублікатах інфоблоків, далі через якийсь час бачать, що у них товар купують на дублюючих каталогах за старою ціною і вони в страшному мінусі. За цим слідують розбирання з шефством, після чого дають завдання контентникам рангом нижче пройтися по всьому каталогу товарів з торговими пропозиціями та вирівняти ціни за екселем. Далі СЕОшниця кричить, що тут потрібно поправити і тут, оскільки метатеги потрібно прописувати для кожного елемента окремо. Для кожного товару окремо і немає можливості це робити за шаблоном, коли кастомізували шаблони каталогу костильним методом під багатомовність сайту. У результаті маркетологи, контентники, сеошники та інші співробітники в компанії навіть не мають часу попрацювати над поліпшенням для прогресу сайту, а зависають у безглуздій рутині непотрібних справ, що постійно наростає. І на це компанії витрачають величезні гроші. Йде час, йдуть гроші, а користі як не було, так і немає.

Розробка багатомовності

Тепер про хороше. Ідея створити Модуль Багатомовності виникла ще кілька років тому. Після того, як весь час доводилося зіштовхуватися з одним і тим же дурнуватим завданням, і бачити все це марення, яке творилося в коді сайту і в процесах компаній. Тож, захотілося принести користь і вирішити всі ці проблеми з багатомовністю сайту на Бітрікс. І ось, після тривалого вивчення питання не тільки в теорії, а й на практиці, і після довгих безсонних ночей біля комп'ютера, народився результат моєї творчості - Модуль для Бітрікс Мультимовнысть: інфоблоки різними мовами. Тепер у вас є можливість зберігати основну інформацію в одному інфоблоці багатьма мовами. Кількість мов, на яких можна зберігати інформацію в інфоблоці, необмежена.

Також наш модуль зовсім не навантажує систему при виведенні цієї інформації. Компоненти видають ту саму швидкість роботи, що і на чистій редакції Бітрикс без встановлених сторонніх модулів. Більш того, наш модуль не вимагає виправлення шаблонів компонентів. Оскільки всі функції виведення багатомовної інформації виконуються до підключення шаблонів компонентів. Це знімає багато питань для тих, хто має кастомізовані шаблони. Але й для тих, кому потрібна інтеграція свого компонента з нашим модулем багатомовності Бітрікс, для програмістів не важко. Достатньо підключити наш модуль у коді та перевизначити клас лише додавши один символ у його назву. Наприклад, CIBlockElement::GetList замінити на FCIBlockElement::GetList. Все просто? Звісно!

Багатомовність Бітрікс легко встановити та використовувати

Наш модуль Багатомовність Бітрікс легко встановлюється. Достатньо завантажити файл-установник модуля Модуль Маркет, за допомогою якого вже встановити наш модуль Мультимовність: інфоблоки різними мовами. І братися до перекладів сайту! Так, саме налаштовувати нічого не треба. При встановленні система сама визначить основну мову, яка буде за умовчанням і не братиме участі у перекладах. А зберігатиметься і виводитиметься як є. А решта всіх мов буде в режимі багатомовності. За збереження та виведення даних з таких мов вже буде відповідати наш модуль багатомовності.

Багатомовність Бітрікс у каталозі 1С:Підприємства

І найкориснішою стороною даного модуля є те, що власники інтернет магазинів, які використовують рідну для Бітрікс систему обліку 1С, матимуть можливість виводити їх каталог 1С в режимі багатомовності.

Тут так само дуже просто як один, два, три:

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

Як працює багатомовність

І тепер трохи розповім як працює модуль багатомовність Бітрікс. Всі основні функції дотримані правил Битрікс - це головне! Користувач заходить до адмінки, і не бачить жодних складнощів для себе. Все просто і звично, як і має бути за умовчанням. Достатньо переключити мову в адмінпанелі та починати вносити переклади. Наприклад візьмемо інфоблок каталогу. Перекладаємо інфоблоки, розділи та елементи. На початку вказуємо СЕО поля інфоблоку, які успадковуватимуться в режимі багатомовності від інфоблоку до його розділу, від розділу до його елемента. Звучить чудово, чи не так? Адже раніше такого не було в кастомізованих рішеннях, і доводилося СЕОшити кожен елемент окремо. Контентники зрозуміють про що я, і будуть нескінченно раді, особливо разом із СЕО фахівцями. Заповнюємо поля розділів різними мовами. Вносимо переклади для полів елементів інфоблоку, а також їх властивостей як багатомовність. Так як це каталог, то він може мати інфоблок з торговими пропозиціями. Не забуваємо зробити все те саме і для нього. Все, начебто готове!

Виведення даних у режимі багатомовності

Переходимо до публічної частини, де у нас створено розділ каталогу потрібною мовою.

Перевіряємо:

  • Метатеги
  • Меню
  • Навігаційний ланцюжок
  • Заголовки
  • Зображення
  • Опис розділів
  • Опис товарів
  • Кошик
  • Оформлення замовлення
  • Пошук за заголовками
  • Пошук за каталогом
Так, все це працює в режимі багатомовності.

Висновок

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

Буду радий Вашим зверненням. Задавайте питання безпосередньо, а також на моєму форумі. До зв'язку!

Відео: Багатомовність Бітрікс

11 серпня 2022 (Boudybuilder) Виталий Фантич

Повернення до списку


Матеріали за темою:

file_download Завантажити Модуль Маркет
file_download Завантажити Модуль Маркет