Orchardcms 包含自定义标记的自动路由URL模式
我无法让自定义令牌与我的ContentPart一起使用。我的问题与这里描述的相同: 我已经创建了我的令牌:Orchardcms 包含自定义标记的自动路由URL模式,orchardcms,orchardcms-1.8,Orchardcms,Orchardcms 1.8,我无法让自定义令牌与我的ContentPart一起使用。我的问题与这里描述的相同: 我已经创建了我的令牌: namespace MyNS.Types.Providers { public class BioPartTokens : ITokenProvider { public BioPartTokens() { T = NullLocalizer.Instance; } public Localizer
namespace MyNS.Types.Providers
{
public class BioPartTokens : ITokenProvider
{
public BioPartTokens() {
T = NullLocalizer.Instance;
}
public Localizer T { get; set; }
public void Describe(dynamic context) {
context.For("Bio", T("Bio"), T("Tokens for the Bio content type"))
.Token("FirstName", T("FirstName"), T("First name of person."))
.Token("LastName", T("LastName"), T("Last name of person."));
}
public void Evaluate(dynamic context) {
context.For<BioPart>("Bio")
.Token("FirstName", (Func<BioPart, object>) (f => f.ContentItem.Parts.OfType<BioPart>().First().FirstName.ToLower()))
.Chain("FirstName", "FirstName", (Func<BioPart, object>)(f => f.ContentItem.Parts.OfType<BioPart>().First().FirstName.ToLower()))
.Token("LastName", (Func<BioPart, object>)(f => f.ContentItem.Parts.OfType<BioPart>().First().LastName.ToLower()))
.Chain("LastName", "LastName", (Func<BioPart, object>)(f => f.ContentItem.Parts.OfType<BioPart>().First().LastName.ToLower()))
;
}
}
}
没有记录任何错误。这是可能的,但您可能存在计时问题。有关于如何赢得比赛的提示吗?首先,通过在驱动程序的更新方法、令牌和自动路由部分的驱动程序中设置断点,验证这是否是问题所在。然后,尝试在清单中使用依赖顺序。
namespace MyNS.Types.Models
{
public class BioPart: ContentPart<BioPartRecord>
{
public string FirstName {
get { return Record.FirstName; }
set { Record.FirstName = value; }
}
public string LastName
{
get { return Record.LastName; }
set { Record.LastName = value; }
}
public RoleInSchool RoleInSchool
{
get { return Record.RoleInSchool; }
set { Record.RoleInSchool = value; }
}
public bool IsBlogger {
get { return Record.IsBlogger; }
set { Record.IsBlogger = value; }
}
}
}
{Content.Bio.FirstName}
{Content.BioPart.FirstName}
{Bio.FirstName}
{BioPart.FirstName}