我有员工的自定义页面类型,其中一个字段是位置。我想只显示/过滤圣何塞"或者"旧金山"并使用下面的WHERE条件,但它没有工作。显然,我错过了一些非常基本的东西。你能帮忙吗?
Location LIKE '%San%';
我做了另一个测试,在那里我使用了具有确切字段名称的自定义表而不是页面类型,并且能够使用相同的语句进行过滤。在相关的说明中,我是Kentico的新手,并且探索哪个更适合创建/维护大约100名员工的列表 - 页面类型或自定义表格 - 能够按部门,位置等进行过滤。欣赏您的输入这里也是。最好!
答案 0 :(得分:4)
如果要将WHERE条件添加到标准Kentico转发器或其他数据源中,则语法看起来正确,除非您不需要分号“;”。
您还需要仔细检查字段名称,以及是否要将查询限制为某些列(特别是对于较大的数据集,这是最佳做法),并确保选择要过滤的字段。
关于员工清单的管理,您所描述的方法都可以使用。在这种情况下,它通常取决于谁将编辑内容,以及频率。在我看来,将这些文档添加到内容树中更易于编辑。这也使您可以更快地控制订单,并使其与维护站点上的其他内容的方式类似。我还想在需要时将文件夹或其他父页面类型设置为类别,因此可以在它们之间拖放文档,并设置一个视觉分类,如果它们都存储在表中,则无法实现。如果这对您很重要,那么在树中存储项目还允许工作流和版本控制,以及对权限/访问的更细粒度控制。
答案 1 :(得分:3)
您正在考虑如何提前存储数据,这真是太棒了。需要考虑的因素有很多,例如总记录数,列数,是否需要使用工作流,版本控制,预览等等。
有关此问题的最佳信息来源是this文章,其中总结了您所拥有的所有选项,并明确说明了在哪种情况下使用哪些选项。
您的原始问题 - 您使用哪些组件来显示数据?转发器?如果是,您是否可以确保将页面类型属性设置为与您显示的页面类型相匹配?如果未配置页面类型,Kentico将不会加载任何自定义字段,因为它不知道应从哪个表加载数据。
此外,请务必在列属性中包含“位置”字段,或将列留空(不推荐使用,因为Kentico会加载所有列,如200)当你从CMS_Document,CMS_Tree等计算所有内容时。)
答案 2 :(得分:1)
以下是我希望添加转发器并遇到问题时用于调试的框架。
首先获取所有列而不是访问有限列。获取所有列将确保我在检索数据时没有任何问题。
如果我遗漏了任何特定的列信息名称,那么我会仔细检查列名。
我通过启动SQL Server管理工作室并从页面类型表或自定义表访问数据来验证这一点。
如果访问SQL服务器不可用(通常在Azure托管解决方案中具有对数据库的限制访问权限),我将从设置启用SQL调试,并查看生成的查询转发器,以查看它是否正确。< / p>