help.sitevision.se hänvisar alltid till senaste versionen av Sitevision
Guide Söklistning
Med modulen söklistning går det att göra en "dold" sökning. Modulen visar enbart sökresultaten från den sökfråga som ställs i modulen. Söklistning ingår i alla Sitevision licenser. Nedan exempel kan användas i webbplatsens kvalitetsarbete.
Exempel 1: Senast uppdaterade sidor
Senast uppdaterade sidor listar de sidor som senast har uppdaterats på en specifik webbplats.
Såhär kommer du igång att arbeta med Söklistningsmodulen:
1. Lägg ut en Söklistningsmodul på sidan
2. Skriv in *:* i sökfrågan på fliken sökfråga.
3. På panelen urval ska endast Sidor vara ikryssat. Om du vill begränsa omfånget kryssar du i Omfång och väljer önskad delgren.
4. På panelen Sökresultat väljer du om du vill Visa tid och storlek. Det kan även vara bra att begränsa antalet träffar till exempelvis 10 stycken.
5. Under Avancerat ställer vi in egen sortering av träffar för att få de senaste uppdaterade sidorna först. Ange modified som Fältnamn och välj sedan Ordning Fallande.
För att se de äldsta sidorna istället så kan vi ändra på sorteringsordningen till Stigande.
Exempel 2: Webbsidor vars innehåll är äldre än X antal månader
Den här söklistningen kan användas för att hålla koll på vilka sidor som inte har uppdaterats på länge. Med andra ord är det kanske dags att se över innehållet på dessa sidor.
1. Lägg ut en söklistningsmodul på sidan.
2. Skriv in följande sökfråga: +lastpublished:[* TO NOW-3MONTHS]
3. Begränsa urvalet på panelen Urval till Sidor.
4. På panelen Sökresultat väljer du om du vill Visa tid och storlek. Det kan även vara bra att begränsa antalet träffar till exempelvis 10 stycken.
Exempel 3: Alla ”mina” webbsidor
Alla ”mina” webbsidor listar de sidor som den inloggade användaren är sidansvarig på.
Ingen information tillgänglig
1. Lägg ut en Söklistningsmodul på sidan
2. Skriv in nedan i sökfrågan, glöm inte att ändra klassnamnet på metadata för sidansvarig i sökfrågan till det som ni använder:
#set ($portletContextUtil = $sitevisionUtils.PortletContextUtil)
#set ($propertyUtil = $sitevisionUtils.PropertyUtil)
#set ($currentUser = $portletContextUtil.getCurrentUser())
#set ($userName = $propertyUtil.getString($currentUser, "displayName"))
#if($currentUser)
+metadata.analyzed.sidansvarig:"$userName"
#end
3. På panelen urval ska endast Sidor vara ikryssat. Om du vill begränsa omfånget kryssar du i Omfång och väljer önskad delgren.
4. Under panelen Avancerat kan det vara bra att lägga till information utifall en inloggad person inte är ansvarig för några sidor. Kryssa i rutan Använd egen mall för felmeddelanden och skriv in nedan:
#set ($me = $sitevisionUtils.portletContextUtil.currentUser)
#set ($myName = $propertyUtil.getStringEscaped($me, 'displayName', 'Anonymous')) <p class="$errorClass">
<em>$myName</em> är inte ansvarig för några sidor </p>
Felmeddelande visas då vid behov enligt nedan:
Exempel 4: En sidansvarigs sidor samt senast ändrad datum
Lista de webbsidor som innehållsansvarig "Anna Ek" ansvarar för samt datum för senast ändrad.
1. Lägg ut en Söklistningsmodul på sidan
2. Skriv in nedan i sökfrågan, glöm inte att ändra namnet på metadata för innehållsansvariga i sökfrågan (det med fet stil) till det som ni använder:
#set ($portletContextUtil = $sitevisionUtils.portletContextUtil)
#set ($propertyUtil = $sitevisionUtils.propertyUtil)
#set ($user = $portletContextUtil.currentUser)
#set ($displayName = $propertyUtil.getString($user, "displayName"))
#set ($query = 'metadata.svi-content-owner:"Anna Ek"')
$query
Tips! Gå till Webbplatsinställningar ->Metadata för att hitta namnet på ditt metadata under fliken Avancerat och Identifierare. Se också till att under Sök är "Indexera fältet i sökmotorn" ikryssat.
3. På panelen urval ska endast Sidor vara ikryssat. Om du vill begränsa omfånget kryssar du i Omfång och väljer önskad delgren.
4. Under sökresultat bockar du i Träffinnehåll -> Visa tid och storlek.
Exempel 5: Alla etiketter
Med hjälp av söklistningen kan du få fram alla etiketter som finns satta på alla eller ett urval av dina sidor. Nedan följer ett exempel på detta.
Så här gör du
1. Lägg till en söklistningsmodul på sidan.
2. Ange * som sökfråga.
3. Gå in under fliken avancerat och kryssa i rutan för "Använd egen mall för sökträffar". Ersätt koden med koden nedan.
4. Gör sedan de inställningar du vill på modulen. Exempelvis "Antal sökträffar" bör inte begränsas, så att du verkligen ser alla etiketter. En annan viktig inställning är vilka typer du vill inkludera (sidor, filer, artiklar mm.). Du kan också begränsa urvalet av sidor om du inte vill söka på hela webbplatsen.
##
## Utility API
#set ($docTypeUtil = $sitevisionUtils.docTypeUtil)
#set ($propertyUtil = $sitevisionUtils.propertyUtil )
#set ($nodeResolverUtil = $sitevisionUtils.nodeResolverUtil )
##
## Portlet properties
#set ($headingNode = $propertyUtil.getNode($portlet, 'searchHitHeadingFont'))
#set ($headingClass = $propertyUtil.getString($headingNode, 'selectorText'))
#set ($excerptClass = $propertyUtil.getNestedString($portlet, 'searchHitExcerptFont', 'selectorText'))
#set ($infoClass = $propertyUtil.getNestedString($portlet, 'searchHitInfoFont', 'selectorText'))
#set ($excerptLength = $propertyUtil.getInt($portlet, 'searchHitExcerptLength', 250))
#set ($showSearchHitExcerpt = $propertyUtil.getBoolean($portlet, 'showSearchHitExcerpt'))
#set ($showSearchHitInfo = $propertyUtil.getBoolean($portlet, 'showSearchHitInfo'))
#set ($showSearchHitPath = $propertyUtil.getBoolean($portlet, 'showSearchHitPath'))
#set ($displayHitNumbering = $propertyUtil.getBoolean($portlet, 'showSearchHitNumbering', false))
#set ($headingField = $propertyUtil.getString($portlet, 'headingField'))
##
## Index field names
#set ($displayField = $propertyUtil.getString($portlet, $headingField))
#set ($urlField = $propertyUtil.getString($portlet, 'urlField'))
#set ($uriField = $propertyUtil.getString($portlet, 'uriField'))
#set ($siteField = $propertyUtil.getString($portlet, 'siteField'))
#set ($summaryField = $propertyUtil.getString($portlet, 'summaryField'))
#set ($lastUpdatedField = $propertyUtil.getString($portlet, 'lastPublishedField'))
#set ($sizeField = $propertyUtil.getString($portlet, 'sizeField'))
#set ($mimtypeField = $propertyUtil.getString($portlet, 'mimetypeField'))
## Empty arrays for tags and tagTitle
#set ($tags = [])
#set ($tagtitles = [])
## For each search hit in result.
#foreach ($hit in $searchResult.hits)
## Get node instead of searchhit
#set($p = $hit.getNode())
## Get tags from node (page)
#set($tagResolver = $nodeResolverUtil.getTagsResolver())
#set($pagetagArray = $tagResolver.resolve($p))
## Check each tag on page
#foreach($pageTag in $pagetagArray )
## Get tag title
#set($tagtitle = "")
#set($tagtitle = $propertyUtil.getString($pageTag, 'tagTitle'))
## Convert tag to string so we kan compare
#set($pageTag = $pageTag.toString())
## Check if this tag is uniq
#if(!$tags.contains($pageTag))
#set($dummy = $tags.add($pageTag))
## If the tag has a title then put in the array
## If not then put tagname in array
#if($tagtitle!="")
#set($dummy2 = $tagtitles.add($tagtitle))
#else
#set($dummy2 = $tagtitles.add($pageTag))
#end
#end
#end
#end
## Set variables for array
#set ($end = $tags.size() - 1)
#set ($range = [0..$end])
#set ($conFlag = 0)
## Sort array including tags A-Z
#set($tags = $tags.sort())
## For each tag in a array
#foreach ($i in $range)
## Get tag and tagtitle fom array
#set ($tagname = $tags.get($i))
#set ($tagtitle = $tagtitles.get($i))
## Print out tags width link to this page including query
## The styling of tags is made in envision.
<span class="env-badge env-m-right--x-small env-m-top--x-small">
<a href="?query=tags.analyzed:$tagname" >$tagtitle</a>
</span>
#end