Kentico - 自定义页面类型页面的条件

问题描述:

我有一个员工的自定义页面类型,其中一个字段是位置。我想仅显示/过滤“圣何塞”或“旧金山”的员工,并在下面使用此WHERE条件,但不起作用。显然,我错过了一些非常基本的东西。你能帮忙吗?Kentico - 自定义页面类型页面的条件

Location LIKE '%San%'; 

我做了另外一个测试中,而不是页面类型,我使用的自定义表的确切字段名,并能够使用相同的语句来过滤。在相关说明中,我对Kentico很陌生,并且探索哪些更适合于创建/维护大约100名员工的列表 - 页面类型或自定义表格 - 能够按部门,位置等进行过滤。在此将您的输入内容评为好。最好!

如果您将WHERE条件添加到标准的Kentico中继器或其他数据源中,除非不需要分号“;”,否则语法看起来不错。

您还需要仔细检查字段名称,并且如果您将查询限制为某些列(特别是对于较大的数据集,这是最佳实践),并确保您正在筛选的字段正在被选中。

关于您的员工名单的管理,您描述的任何一种方法都可以使用。在这种情况下,通常取决于谁将编辑内容以及频率。在我看来,编辑更友好,将这些文档添加到内容树中。这也可以让您更快地控制订单,并保持与网站上其他内容的维护方式类似。如果需要,我还想将文件夹或其他父页面类型设置为类别,以便可以在它们之间拖放文档,并设置可视分类,但如果它们全部存储在表格中,则该分类是不可能的。将项目存储在树中还允许工作流程和版本控制,以及对权限/访问的更细化控制(如果这对您很重要)。

+0

谢谢!输入导致错误的列名称时,我的部分是拼写错误。您关于页面类型与自定义表格的输入非常有用,因为我确实希望在内容树上显示内容并使非技术人员更容易维护。非常感激! – Michelle

这很棒,您正在考虑如何最好地提前存储您的数据。有许多因素要考虑,如记录总数,列数,事实是否需要使用工作流程,版本控制,预览等。

最好的关于该信息的来源是this文章,总结所有选项,并给出了在哪种情况下使用哪种解释。

和你原来的问题 - 你用什么组件显示数据?中继器?如果是这样,您是否可以确保将页面类型属性设置为与您显示的页面类型相匹配?如果页面类型未配置,Kentico不会加载任何自定义字段,因为它不知道应该从哪个表加载数据。

此外确保无论是包括在列中的“位置”字段财产或离开列为空白(不推荐,因为那时Kentico负载所有列这就好比200,当你从CMS_Document,CMS_Tree算上所有等)。

+0

谢谢Enn的输入!这篇文章很有用,适用于我目前正在计划/正在做的事情。再次,谢谢! – Michelle

下面是我用来调试的框架,只要我想添加一个中继器,并面临一些问题。

  1. 首先获取所有列而不是访问有限的列。提取所有列将确保我没有任何检索数据的问题。

  2. 如果我缺少任何特定的列信息名称,那么我会仔细检查列名称。

  3. 我通过启动SQL Server管理工作室并从页面类型表或自定义表访问数据来验证此情况。

  4. 如果对SQL服务器的访问不可用(通常在限制访问数据库的Azure托管解决方案中),我将启用设置中的SQL调试并查看正在生成的查询中继器是否正确。

+0

这很有道理。谢谢Chetan! – Michelle