Trovare nuovi e pagine aggiornate in EPiServer
-
27-09-2019 - |
Domanda
Ho un obbligo di elenchi di visualizzazione delle pagine appena creati e aggiornati nella nostra intranet EPiServer - dire l'ultima decina di ciascuno. Ho provato con FindPagesWithCriteria
ma questo ha prodotto alcun risultato. Ecco il codice che ho provato:
PageDataCollection recentPages;
PropertyCriteriaCollection criteria;
PropertyCriteria upperBound;
PropertyCriteria lowerBound;
criteria = new PropertyCriteriaCollection();
upperBound = new PropertyCriteria();
upperBound.Condition = CompareCondition.LessThan;
upperBound.Type = PropertyDataType.Date;
upperBound.Value = DateTime.Today.ToString();
upperBound.Name = "Created"; // Or Saved for updated pages
criteria.Add(upperBound);
lowerBound = new PropertyCriteria();
lowerBound.Condition = CompareCondition.GreaterThan;
lowerBound.Type = PropertyDataType.Date;
lowerBound.Value = DateTime.Today.AddDays(-7).ToString();
lowerBound.Name = "Created";
criteria.Add(lowerBound);
recentPages = DataFactory.Instance.FindPagesWithCriteria(PageReference.StartPage, criteria);
Ho anche provato con il RecentlyChangedPagesFinder
(come dettagliato qui ) - ciò restituisce alcuni risultati, ma quando cerco di utilizzare il set di risultati per costruire un PageCollection a DataBind in un PageList, ancora una volta ho uscita nulla. E non riesco a vedere che potrei usare che per le nuove pagine, solo quelli aggiornati.
Soluzione
Il nome della proprietà dovrebbe essere "PageCreated".
http://epiwiki.se/developing/properties/all-built- in-proprietà
Si può anche migliorare la vostra FindPagesWithCriteria-sintassi andando qualcosa di simile:
var criterias = new PropertyCriteriaCollection
{
new PropertyCriteria()
{
Name = "SomeProp",
Type = PropertyDataType.PageType,
Value = "eh",
Condition = CompareCondition.Equal,
Required = true
},
new PropertyCriteria()
{
...
};
var pages = DataFactory.Instance.FindPagesWithCriteria(somePageLink, criterias);