#sitecore #web-forms-for-marketers
#sitecore #веб-формы для маркетологов
Вопрос:
У нас есть страница с тремя веб-формами для маркетинговых форм, которые находятся на трех отдельных вкладках DHTML. Если пользователь заполняет и отправляет форму, он возвращается на вкладку по умолчанию, а его сообщение с благодарностью отображается на вкладке формы, которую он заполнил.
Мы рассмотрели возможность использования хэштегов, чтобы указать, на какой вкладке вы находитесь, чтобы мы могли установить правильный фокус, когда страница загружается после обратной отправки формы WFFM, но хэштеги удаляются из URL-адреса во время обратной отправки. Параметры строки запроса, похоже, выдерживают обратную отправку, но при установке навигации по вкладкам они сами будут возвращены обратно, что исключает преимущество использования вкладок DHTML.
У кого-нибудь есть хорошее решение для обработки отображения правильной вкладки после обратной отправки?
Версия Sitecore: 6.4.1 (rev. 110324) Веб-формы для маркетологов -2.2.0 (rev. 110303)
Ответ №1:
В качестве альтернативного метода вы можете использовать javascript для обновления файла cookie при изменении вкладки. При следующей загрузке страницы проверяется файл cookie, чтобы узнать, на какой последней вкладке был пользователь, и восстанавливает эту вкладку как вкладку по умолчанию (на этом этапе также может быть удален файл cookie).
Комментарии:
1. Это в сочетании с другим ответом (поскольку мы используем вкладки пользовательского интерфейса jquery) кажется лучшим подходом на данный момент. Спасибо!
Ответ №2:
Для этого можно использовать файл cookie.
- Когда выбрана вкладка, сохраните файл cookie (под уникальным именем, если необходимо, для текущего пути и т.д.) со значением выбранного индекса.
- При готовности страницы проверьте наличие вашего cookie. Если присутствует, возьмите значение и установите соответствующую вкладку как выбранную.
Да, это файл cookie, и, вероятно, он не идеален на 100%, но я думаю, что в данном случае это нормально, поскольку это просто сахар пользовательского интерфейса.
Черт возьми, вкладки пользовательского интерфейса jQuery даже имеют это встроенное: http://jqueryui.com/demos/tabs/#option-cookie
Ответ №3:
Переопределите поведение элемента управления, отправляющего форму, и в этой обратной передаче попросите его передать некоторый javascript на страницу, которая задает значение текущей вкладки на дисплее. Вы можете просто использовать свой javascript на странице, чтобы использовать переменную для настройки отображения вкладки по умолчанию.
Комментарии:
1. Если бы это были обычные веб-формы, это могло бы сработать, но элемент управления полностью контролируется плагином Sitecore, поэтому переопределение не является вариантом. Кроме того, форма может отображаться в любом количестве заполнителей, которые не являются вкладками.
2. Даже если вы используете плагин, у вас все равно есть возможность переопределить функциональность отправки. Прошло много времени с тех пор, как я работал с WFFM, но вы можете полностью настроить поведение формы, как и большинство Sitecore. Это потребует немного больше работы, но это также может проверять наличие вкладок на странице и делать это только при необходимости.