Ovvero come ti tolgo (o ti sostituisco) dal render i tag che voglio
Non è il top dell'eleganza ma a volte è pratico o come si dice "quick and dirty"
... mi servono quelli che io chiamo i macro eventi, quelli di sistema e piazzare la mia ministra quando si verifica il completamento del render... quindi plugin tipo system e trigger onAfterRender()
class plgSystemFornero extends JPlugin{
function onAfterRender(){
// mi piglio tutto ciò che joomla ha pazientemente costruito fino a quì
$html = JResponse::getBody();
// ora, ogni tag che voglio togliere lo riconosco e sostituisco con niente
//-> images
$html = preg_replace('|<img[^>]*?/?>|is','', $html);
//-> iframes
$html = preg_replace('|<iframe.*?</iframe>|is', '', $html);
$html = preg_replace('|<iframe.*?/?>|is', '', $html);
//-> object
$html = preg_replace('|<object.*?</object>|is', '', $html);
$html = preg_replace('|<object.*?/?>|is', '', $html);
//-> embeds
$html = preg_replace('|<embed.*?</embed>|is', '', $html);
$html = preg_replace('|<embed.*?/?>|is', '', $html);
//-> applets
$html = preg_replace('|<applet.*?</applet>|is', '', $html);
$html = preg_replace('|<applet.*?/?>|is', '', $html);
//-> scripts
$html = preg_replace('|<script.*?</script>|is', '', $html);
//-> stylesheets
$html = preg_replace('|<link rel="stylesheet".*?/?>|is', '', $html);
$html = preg_replace('|<link rel="stylesheet".*?</link>|is', '', $html);
// Ridò a Joomla il contenuto dopo le tasse
JResponse::setBody($html);
// Chiudo
}
}
M.