MySQL

Hier laten we zien, hoe je met een MySQL query een samenvatting maakt van je Joomla Weblinks component. Tot de Joomla versie 3.4 hoorde deze component bij de standaard installatie. Een nadeel was, dat de rapportage mogelijkheden beperkt waren. Tegenwoordig moet de Weblinks component apart geinstalleerd worden. De basis van de component is en blijft robuust. Onderstaand een idee hoe je de gegevens kunt samenvatten en rangschikken. Eerst het resultaat:

Dit is de gebruikte query:

SELECT
jos_categories.path AS Omschrijving,
COUNT(jos_categories.title) AS Aantal
FROM jos_weblinks LEFT JOIN
jos_categories ON jos_weblinks.catid = jos_categories.id LEFT JOIN
jos_categories jos_categories1 ON jos_categories.parent_id =
jos_categories1.id
WHERE jos_weblinks.state = 1 and jos_weblinks.access = 1
GROUP BY jos_categories.path
UNION
SELECT
'Aantal weblinks' AS Omschrijving,
COUNT(jos_categories.title) AS Aantal
FROM jos_weblinks LEFT JOIN
jos_categories ON jos_weblinks.catid = jos_categories.id LEFT JOIN
jos_categories jos_categories1 ON jos_categories.parent_id =
jos_categories1.id
WHERE jos_weblinks.state = 1 and jos_weblinks.access = 1
UNION
SELECT
'Aantal categorien' AS Omschrijving,
COUNT(DISTINCT jos_categories.path) AS Aantal
FROM jos_weblinks LEFT JOIN
jos_categories ON jos_weblinks.catid = jos_categories.id LEFT JOIN
jos_categories jos_categories1 ON jos_categories.parent_id =
jos_categories1.id
WHERE jos_weblinks.state = 1 and jos_weblinks.access = 1


De bovenstaande query kan gedraaid worden in phpMyAdmin of met een Windows client voor MySQL zoals bijvoorbeeld HeidiSQL. 

Plotalot

In Plotalot kan de query uitgevoerd worden zonder een vaste prefix. Vervang in de query de prefix jos_ door #__ (met een dubbele underscore).
PLOTALOT QUERY JOOMLA WEBLINKS AANTAL
SELECT
CONCAT('',#__categories.path,'') AS Omschrijving,
COUNT(#__categories.title) AS Aantal
FROM #__weblinks LEFT JOIN
#__categories ON #__weblinks.catid = #__categories.id LEFT JOIN
#__categories #__categories1 ON #__categories.parent_id =
#__categories1.id
GROUP BY #__categories.path
UNION
SELECT
'Aantal weblinks' AS Omschrijving,
COUNT(#__categories.title) AS Aantal
FROM #__weblinks LEFT JOIN
#__categories ON #__weblinks.catid = #__categories.id LEFT JOIN
#__categories #__categories1 ON #__categories.parent_id =
#__categories1.id
WHERE #__weblinks.state = 1 and #__weblinks.access = 1
UNION
SELECT
'Aantal categorien' AS Omschrijving,
COUNT(DISTINCT #__categories.path) AS Aantal
FROM #__weblinks LEFT JOIN
#__categories ON #__weblinks.catid = #__categories.id LEFT JOIN
#__categories #__categories1 ON #__categories.parent_id =
#__categories1.id
WHERE #__weblinks.state = 1 and #__weblinks.access = 1
 
Een prettige eigenschap van Plotalot is, dat je een hyperlink kunt verweven in de query. De onderliggende hyperlink in #__categories.path is %%J_ROOT_URI%%/index.php?option=com_weblinks&view=category&id=',#__categories.id,' . Via de verwijzing %%J_ROOT_URI%% wordt naar de root van de Joomla installatie gestuurd.