Nyheter är ofta en färskvara. I SiteVision går det att avpublicera en artikel när den inte längre är aktuell - men det kanske du inte alltid vill. Här bjuder vi på en lösning där besökaren meddelas när en nyhets bäst före-datum har passerat.
Meddelandet visas automatiskt, till exempel ett halvår efter publiceringsdagen, eller så väljer redaktören själv ett bäst före-datum. Så här kan det se ut när någon besöker en inaktuell nyhet:
Nyhetens bäst före-datum har passerat och är kanske inte längre aktuell.
Om du har jobbat med metadata och enklare mallbygge tidigare kan du snabbt installera funktionen på din webbplats:
Nu är det bara att skriva nyheter som vanligt och välja bäst före-datum med hjälp av det metadata du satte upp i steg ett.
Som standard blir nyheten inaktuell efter 180 dagar om inget datum sätts. I skriptet kan du ändra numberOfDaysFresh: 180 till numberOfDaysFresh: 90 eller det antal dagar som passar dig.
Är du nyfiken på hur funktionen används av andra? Ta en titt på Halmstads kommun.
var settings = {
numberOfDaysFresh: 180,
metadataNames: {
bestBeforeDate: 'bestBeforeDate',
compareDate: 'publishDate'
}
};
var bestBeforeDate = (function () {
importClass(java.util.Calendar);
var bestBeforeDate;
var today = Calendar.getInstance();
var utils = request.getAttribute('sitevision.utils');
if (utils) {
var propertyUtil = utils.getPropertyUtil();
var currentArticle = utils.getPortletContextUtil().getCurrentPage();
var fallbackDate = propertyUtil.getCalendar(currentArticle, settings.metadataNames.compareDate);
fallbackDate && fallbackDate.add(Calendar.DATE, settings.numberOfDaysFresh);
bestBeforeDate = propertyUtil.getCalendar(currentArticle, settings.metadataNames.bestBeforeDate, fallbackDate);
}
return {
hasPassed: bestBeforeDate && bestBeforeDate < today
};
}());
if (bestBeforeDate.hasPassed) {
result = 'true';
}
Limepark AB
Gjuterigatan 9
553 18 Jönköping
Vägbeskrivning
Limepark AB
Gotlandsgatan 46
116 65 Stockholm
Vägbeskrivning
Limepark AB
Folketshusvägen 10
860 35 Söråker
Vägbeskrivning
Limepark AB
Kansligatan 1
703 61 Örebro
Vägbeskrivning
Limepark AB
Magasinsallén 2
891 31 Örnsköldsvik
Vägbeskrivning