我正在构建一个基于带有自定义查询的kentico转发器的自定义窗口小部件。我使用自定义查询来查询我的自定义表并显示该表的转换。在我的小部件中,我有一个我已设置的自定义参数,我想在我的查询中使用where子句,以使其更加用户友好。任何帮助都是极好的!感谢
select ##TOPN## *
from customtable_phone_directory
where Category = '{% DirectoryCategory %}'
order by ItemCreatedWhen asc
这似乎不起作用。我甚至试过这个:
select ##TOPN## *
from customtable_phone_directory
where Category = ##DirectoryCategory##
order by ItemCreatedWhen asc
DirectoryCategory是我在窗口小部件中设置的自定义属性。
由于
答案 0 :(得分:1)
正确的语法应该是
{%FieldCodeName%}
我认为这种方法不会起作用(我认为在加载小部件/网页部件时会解析宏,而不是每次更改内容时都会解析)。您可以尝试配置依赖字段:
https://docs.kentico.com/k10/custom-development/developing-form-controls/reference-field-editor(字段高级设置)
https://devnet.kentico.com/articles/how-to-work-with-depending-fields
此外,如果我没记错的话,必须将宏设置为该窗口小部件中给定字段的默认值,并且编辑器无法编辑该字段。否则,这将是一个安全漏洞,如果宏将在编辑器可访问的字段上解析。
您可以从文本框中更改Where条件表单控件,而不是让辅助字段将字段传递给where字段。到下拉表单控件(名称; SQL查询对)。