我有多个产品页面(相同的页面模板),每个页面应该在侧栏上有不同的销售代表联系人。我将侧边栏联系人框设置为转发器,以从SalesRep
页面类型中提取数据/过滤数据。 SalesRep
页面类型有一个名为ContactForPage
的字段;我的计划是从产品页面URL中输入一个字符串,这样如果字符串与页面URL匹配,联系人将显示在该页面的侧栏上。
实施例: 当前页面网址为:www.domain.com/products/product-123
John Doe有ContactForPage
= product-abc
Jane Doe ContactForPage
= product-123
Jane Doe将显示为联系人,因为字段值与URL的一部分匹配。
我一直在尝试编写WHERE语句,但实际上并不知道语法。你能帮忙吗!
类似于:WHERE: SalesRep.ContactForPage LIKE '%CurrentDocument.NodeAliasPath%'
答案 0 :(得分:2)
在SQL查询中使用URL的所有拳头都不是一个好主意。您必须正确定义销售代表和产品之间的关系。可能一个销售代表可能会销售电视,另一个可能是销售手机。但是如果你想直接将产品连接到销售人员那里。您可以使用相关页面和关系结构。
答案 1 :(得分:0)
我发现你的设计存在问题。我认为销售代表可以管理多个产品,对吗?如果是这种情况,您应该在Product pagetype中添加一个字段,允许您选择销售代表而不是将字段添加到SalesRep页面类型,因为您将如何输入多个产品?
您添加到Product PageType的字段(例如SalesRepID)可以是用于选择销售代表的下拉列表。您可以使用Query从SaleRep页面类型自动生成列表。例如“SELECT RepID,RepName FROM custom_SalesRep”。 RepID将存储在SalesRepID字段中。
对于显示,您可以使用为SalesRep pagetype设置的转发器并使用如下的WHERE条件: RepID = {%CurrentDocument.GetValue(“SalesRepID”)%}
答案 2 :(得分:0)
关系正在双向进行。您可以将多个文档相关联,反之亦然,即一个产品可以由许多销售人员销售,一个销售人员可以销售不同的产品。你只需要定义一个关系。如果您在“产品A”页面和“推销员约翰”页面之间存在关系,您将在属性>中的两个页面上看到此关系。相关页面。
我所说的就是:您不需要为页面类型(推销员或产品)添加额外的字段,您应该使用关系。 请阅读Displaying related documents。