La prima query che joomla fa è questa:
SELECT m.id, m.menutype, m.title, m.alias, m.note, m.path AS route, m.link, m.type, m.level, m.language,m.browserNav, m.access, m.params, m.home, m.img, m.template_style_id, m.component_id, m.parent_id,e.element as component
FROM ff1xp_menu AS m
LEFT JOIN ff1xp_extensions AS e
ON m.component_id = e.extension_id
WHERE m.published = 1
AND m.parent_id > 0
AND m.client_id = 0
ORDER BY m.lft
Una cosa che trovo che vada bene per il 99%dei siti. Il mio sito ha circa 8000 voci di meno, il processo legato a quella query è di circa 2 secondi, in tutti i siti si aggira sui 0.4 secondi.
In locale ho pensato ma se invece di caricare tutte le voci di menu carico solo quelle che verrano visualizzate nella pagina selezionata?
In locale ho implementato quello che volevo andando a recuperare solo i menu e le voci di menu che sono inseriti nella pagina che voglio visualizzare. Bene funziona tutto e il tempo è diminuti a 0.5secondi.
Porto la modifica in rete e non funziona. Perche' in locale non ho attivo user_friendly quindi in ogni url ho l'attributo itemid che posso recuperare con Request::getVar('Itemid').
In remoto questo non lo posso fare perchè ho attivo l'user-friendly.
Potresti farmi capire cosa intendevi con un plugin di tipo system legato a onAfterInitialise??
Grazie mille