首页 > 解决方案 > 如何根据 Kentico CMS 9.0 中另一个页面/产品的值动态更改页面上的文本

问题描述

目前,我们正在开发 Kentico CMS 9.0 版本。我们在以下情况下面临一些发展问题:

注册后,成功页面上会显示一条静态消息。此文本编写在 WebPart --> HTML Envelop 部分 - 之后的内容但我们希望根据用户选择 Band 类别动态更改此文本。

示例 如果用户注册 1-10 波段类别,则短信应显示为“费用 $1, 500 / 两年”,或者如果范围为 2-20,则显示“费用:$2,500 / 两年”等。

我们尝试使用宏,但没有得到确切的解决方案。还尝试关联页面以从该类别页面中获取价值。但没有运气。如果有人对此有任何指示。或者是否可以在 Kentico CMS 中执行此操作,请尽快告知我们。

标签: kenticokentico-mvc

解决方案


如果用户提交的数据是用户记录的一部分或附加到用户 ID,您可以使用宏进行查找或创建自己的自定义宏来为您完成工作。

例如,如果用户选择的值附加到用户的记录中,并且他们在注册后登录,您可以使用以下内容:

CurrentUser.GetValue("CustomFieldName")

这一切都取决于您存储的价值是什么。如果您将整数或某种类型的键存储到另一个表中,则需要获取该键并再次查找该另一个表以获取实际显示值。像这样的东西:

var userRegisteredValue = CurrentUser.GetValue("CustomFieldName");
GlobalObjects.CustomTables["CustomTableNamespace.CustomTableName"].Items.Where("ItemID = " + userRegisteredValue);

推荐阅读