Можно ли использовать строку запроса для управления персонализированным контентом в Sitecore 7.5?

Я пытаюсь отобразить персонализированный контент на странице, если я нажал на конкретную ссылку на конкретной странице. Моей мыслью было иметь параметр в ссылке, такой как:

<a href="Product-Page/?home=1">Go to product page</a>

Затем на "странице продукта", надеемся, используя механизм правил, проверьте, существует ли параметр home в строке запроса. Если так, то отобразите часть контента.

Я не могу найти лучший способ сделать это с Sitecore 7.5. Может быть, это неправильный подход.

2 ответа

Решение

В стандартной версии Sitecore 7.5 нет правил для использования строки запроса. но вы можете легко создать правило и использовать его с помощью функции персонализации от Sitecore.

См. http://blog.martinmiles.net/post/rules-engine-and-sitecore-personalization-based-on-url-query-string-parameters для полного описания, а Пример включает ссылку на github с кодом https://github.com/MartinMiles/Personalization

Поэтому у вас должно быть что-то вроде этого:

        public ActionResult Index(string name)
        {
            Student student = new Student();

            student.Name = "John";

            if (!String.IsNullOrEmpty(Request.QueryString["name"]))
            {
                student.Name = Request.QueryString["name"];
            }

            return View(student);
        }

Для этого примера мой контроллер называется Test. Поэтому, если я захочу вызвать этот метод, я сделаю ~ / test / index, если я сделаю так, чтобы объект студента содержал имя John, однако если я сделаю ~/test/index? Name = Denis, я отправлю объект с имя Денис

Здесь имя будет меняться только тогда, когда мы передадим строку запроса "имя" со значением.

Другие вопросы по тегам