Ibland händer det att man väljer fel mall när man skapar en sida eller artikel i SiteVision. Det kan lätt bli lite tokigt om en vanlig sidmall används i ett arkiv - eller tvärt om.
I SiteVision finns det inget sätt att begränsa vilka mallar som får användas i arkiv annat än med modulen snabbpublicering. Så, vad gör man? I den här artikeln bjuder jag en enkel skriptmodul som hjälper redaktörerna genom att tala om när en mall används fel. Så här ser det ut för redaktören:
Den är enkel att installera! Om du kan kopiera och klistra ska det inte vara några problem. Du behöver ha rättighet att redigera mallarna och lägga till en skriptmodul.
När du är klar bör det se ut ungefär så här:
Nu är det bara att testa att det fungerar genom att använda mallen på fel sätt.
Lycka till!
// Mallhjälp - ser till att du använder mallar rätt.
//
// Copyright (C) 2013 Limepark AB
//
// Inställningar:
//
// shouldBeUsedInArchive: Sätt till `true` om denna mall ska användas i arkiv,
// annars `false`.
var settings = {
shouldBeUsedInArchive: true
};
// Du behöver inte ändra något nedanför den här raden.
var utils = request.getAttribute('sitevision.utils');
var versionUtil = utils.getVersionUtil();
var propertyUtil = utils.getPropertyUtil();
var nodeTypeUtil = utils.getNodeTypeUtil();
var currentPage = utils.getPortletContextUtil().getCurrentPage();
var parentIsNotArchive = !nodeTypeUtil.isArchive(currentPage.getParent());
var editMode = versionUtil.getCurrentVersion() == versionUtil.OFFLINE_VERSION && !nodeTypeUtil.isTemplate(currentPage);
var usesWrongTemplate = editMode && (settings.shouldBeUsedInArchive == parentIsNotArchive);
#if ($usesWrongTemplate)
<div class="lp-wrong-template-info" style="color: #b94a48;background-color: #f2dede;border-color: #eed3d7;-webkit-border-radius: 5px;-moz-border-radius: 5px;border-radius: 5px;padding: 12px; margin-bottom: 10px; font-size:13px;">
<p style="margin: 0;"><strong>Hej! Använd en annan mall. Den aktuella mallen får #if($settings.get('shouldBeUsedInArchive', $settings)) bara #else inte #end användas i arkiv.</strong></p>
</div>
#end
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