Hitta och inventera tillägg
Ibland behöver man leta upp var ett tillägg (WebApp) används någonstans i sidinnehållet, antingen för inventering eller om man behöver byta ut modulen.
Följande kodsnutt söker fram alla noder som är indexerade på webbplatsen och ser om ett tillägg med ett visst ID finns. Så det fungerar enbart på sidor och artiklar som är indexerade i sök.
Byt ut värdet på addonId
till ID:t på det tillägg man letar efter, detta hittar men i tillägsvyn och börjar alltid med 180
.
const PropertyUtil = require('PropertyUtil');const SearchUtil = require('SearchUtil');const NodeTreeUtil = require('NodeTreeUtil');
const addonId = '180.7d31ae4718c000430efa6d5d';
const result = SearchUtil.search('*:*', null, 0, 9999);
if(result.hasHits()) { out.println('<ol>'); let hits = result.getHits(); while(hits.hasNext()) { let hit = hits.next(); let node = hit.getNode(); NodeTreeUtil .findPortlets(node, (portlet) => PropertyUtil.getString(portlet, 'portletName') === addonId) .toArray() .forEach((portlet) => { out.println('<li><a href="' + hit.getField('uri') +'">'+ node.toString()+ '</a>: ' + portlet.toString() + '</li>'); }); } out.println('</ol>');}