Ciao,
se usi la cache di pagina, è necessario che tu aggiunga un parametro che cambierai di volta in volta (il solito "&random=..." va bene) ai parametri di cache del componente: Nella funzione display() del controller devi modificare i $safeUrlParams: in questo caso ho una app su smartphone che passa le coordinate a Joomla, e non voglio cache:
public function display($cachable = false, $urlparams = false)
{
$app = JFactory::getApplication();
$user = JFactory::getUser();
$cachable = $user->guest; // cache solo per gli ospiti, a tua discrezione ovviamente
$safeurlparams = array('catid'=>'INT',
'id'=>'INT',
'limit'=>'UINT',
'limitstart'=>'UINT',
'filter_country'=>'CMD',
'filter_province'=>'CMD',
'sort'=>'STRING', // can be sort|updated
'lat'=>'FLOAT',
'lng'=>'FLOAT',
'lang'=>'CMD',
'Itemid'=>'INT');
parent::display($cachable, $safeurlparams);
return $this;
}
Però tu dici che hai modificato solo la vista di un componente esistente; se non vuoi esser legato mani e piedi per il resto della tua vita a manutenere modifiche all'interno del controller.php (che verrà sovrascritto ogni volta che aggiorni il componente), ti consiglio di crearti un task dedicato (quindi ti crei un tuo nuovo controller all'interno del componente), così almeno non hai costi di manutenzione, ad esempio controller/miocontroller.php che poi invocherai dal frontend con &task=miocontroller.display ; oppure ti scrivi un mini-plugin di sistema che intercetta la chiamata (occhio a limitarlo nell'esecuzione, un plugin di sistema scritto male ti può mettere in ginocchio il sito perché viene invocato ad ogni chiamata).