Kentico - 根据查询字符串值更改文本内容
Kentico - Change text content based on querystring value
我有一个“联系我们”页面,其中有一个简介,内容如下:让我们知道[我们]可以如何帮助您。括号内的文本需要根据查询字符串值进行更改。
例如:
如果URL是mysite.com/contact?p=product -> 里面的文字
括号是:[我们的技术销售代表]
如果 URL 是
mysite.com/contact?p=sf -> [我们在旧金山办公室的顾问]
...
我可以获取查询字符串值,但不知道如何在上面的示例中将其与多个 if 一起使用?你能帮忙吗?
Let us know how
{%
param = QueryString.p.ToLower().TrimEnd().TrimStart();
result = "we"; // default value
if(param == "product") {result ="our technical sales rep"}
if(param == "sf") {result = "our consultants in San Francisco office"}
if(param == "bla") {result = "bla bla bla"}
return result;
#%} can help you
为此,您最好的选择是创建一个 custom macro method,这将允许您编写更健壮的逻辑语句并简单地将查询字符串作为值传递。
最简单的方法是将要在 URL 中显示的实际字符串作为编码字符串传递,然后在使用宏获取值时进行简单解码。
您的字符串文本可能类似于:
Let us know how {% QueryString.GetValue("p")|(default)"we" %} can help you.
我有一个“联系我们”页面,其中有一个简介,内容如下:让我们知道[我们]可以如何帮助您。括号内的文本需要根据查询字符串值进行更改。
例如:
如果URL是mysite.com/contact?p=product -> 里面的文字 括号是:[我们的技术销售代表]
如果 URL 是 mysite.com/contact?p=sf -> [我们在旧金山办公室的顾问]
...
我可以获取查询字符串值,但不知道如何在上面的示例中将其与多个 if 一起使用?你能帮忙吗?
Let us know how
{%
param = QueryString.p.ToLower().TrimEnd().TrimStart();
result = "we"; // default value
if(param == "product") {result ="our technical sales rep"}
if(param == "sf") {result = "our consultants in San Francisco office"}
if(param == "bla") {result = "bla bla bla"}
return result;
#%} can help you
为此,您最好的选择是创建一个 custom macro method,这将允许您编写更健壮的逻辑语句并简单地将查询字符串作为值传递。
最简单的方法是将要在 URL 中显示的实际字符串作为编码字符串传递,然后在使用宏获取值时进行简单解码。
您的字符串文本可能类似于:
Let us know how {% QueryString.GetValue("p")|(default)"we" %} can help you.