Смена языка контента на странице с помощью сценария Сreatium Max

Настройка в редакторе

  1. Необходимо добавить на вашу страницу форму
Image without caption
  1. Далее необходимо заменить стандартные поля на Выпадающий список , так же по необходимости вы можете добавить скрытое поле для передачи информации о том с какой страницы была отправлена форма
Image without caption
  1. Далее необходимо присвоить имя переменной в которой будут передаваться данные со страницы, так же чтобы не использовать кнопку для отправки формы необходимо будет добавить код в расширение данного поля
Image without caption
Image without caption
javascript
let inputs = el.querySelector('select'); inputs.addEventListener('change', function() { console.log(inputs) page.getComponent(this.closest('.cr-form')).submit(); });
  1. Далее необходимо перейти к настройкам формы и выбрать сценарий который у вас будет отвечать за данное действие(Вы можете заранее создать пустой сценарий в редакторе)
Image without caption

Настройка сценария

  1. Далее вам необходимо перейти в песочницу сценариев для того чтобы перенести его в ваш проект, для этого вы можете нажать на значек Запуск Сценария и нажать комбинацию клавиш ctr+c на английской раскладке. После этого вставьте его в ваш сценарий который создали на вашем сервере Ссылка на сценарий : https://cremax.ru/scenario-playground?saved=63n5tp0vgtb8in6m3c753e24
  1. После того как вы разместили данный сценарий у себя его необходимо будет отредактировать под ваши переменные
Image without caption
  1. В данной части вам необходимо заменить languege на имя переменной которая у вас будет записана (если у вас еще не создавалась данная запись то можете назвать ее как вам удобней, но главное запомните ее так как в дальнейшем она будет повторяться.
Image without caption
В данном значении необходимо отредактировать формулу:
javascript
if(exists(var),merge(var,if(var1[index-1].k == "languege", [{k:var1[index-1].k,v:data.fields.languege}], [{k:var1[index-1].k,v:var1[index-1].v}])), if(var1[index-1].k == "languege", [{k:var1[index-1].k,v:data.fields.languege}], [{k:var1[index-1].k,v:var1[index-1].v}]))
Image without caption
Вместо languege вам необходимо написать то как у вас будет называться данная переменная в сессии ранее вы это указывали в первой правке(Будьте внимательны данное название необходимо чтобы оставалось в двойных кавычках)
Вместо data.fields.languege вам необходимо указать переменную которая приходит из вашей формы
Image without caption
4. После того как вы отредактировали данные параметры данный сценарий должен работать корректно

При поддержке Notaku