Kentico Admin - 动态更改和保存字段名称,值和标签

时间:2016-12-07 20:04:46

标签: kentico

对于自定义页面类型,我有一个多选项表单,如图1和图2所示。我能够设置它(使用jquery),这样当我点击属于另一个字段的其他复选框时,复选框标签和该字段的值相应更改,如图3所示 - “作者1”,“作者2”,“作者3”被其他内容替换。

问题是当我点击“保存”按钮时,我的所有新标签/值都没有保存,但复选框值和标签会返回其原始值。

有没有办法让这些复选框可以接受新值,并且可以保存新值。谢谢!

Form field Form field displayed on admin Form field label and value change but can't be saved

2 个答案:

答案 0 :(得分:1)

作者的价值来自哪里?数据库?您应该能够使用SQL查询作为多选控件的数据源。这样,只要在“表单”选项卡上保存页面,就可以将实际值存储到数据库中。

因此,我们的想法是加载实际值,用'AuthorN'替换它们,并在选中时更改回原始值。

答案 1 :(得分:0)

我已经建立了一个可以帮助你的例子。我创建了一个包含三个字段的表单:

<强> FirstAuthor

  • 类型:整数
  • 表格控制:单选按钮
  • 数据源:SQL查询(select userid,username from cms_user
  • 具有依赖字段:true

<强> SecondAuthor

  • 类型:整数
  • 表格控制:单选按钮
  • 数据源:SQL查询(select userid,username from cms_user
  • 具有依赖字段:true

<强> OrderedAuthors

  • 类型:文字(1000)
  • 表单控件:标签
  • 默认值:{% (if(firstauthor>0) { GlobalObjects.Users.Where("userid="+firstauthor)[0].UserName } else {""}) + ", " + (if(secondauthor>0) {GlobalObjects.Users.Where("userid="+secondauthor)[0].UserName} else {""} #%}
  • 取决于另一个领域:true

我猜你在数据库的某个地方有一个作者列表,所以你可以用你的表替换CMS_User表。然后,您需要做的就是在第三个字段中调整宏以提供您想要的结果。