Ciao @DanieleDev in realtà c'eri quasi!
all'interno del contesto dei controller, la funzione
$this->context->isMobile()
ritorna effettivamente true/false in relazione allo user-agent del navigatore.
il mio suggerimento, per avere in tutti i template una variabile con l'informazione, è di overridare il metodo "initHeader" del FrontController.php
public function initHeader(){ // Nell'override di FrontController.php nel metodo "initHeader" // inietto nel sistema di template la variabile "is_mobile" con il valore di $this->context->isMobile() (metodo già di ps) self::$smarty->assign('is_mobile', $this->context->isMobile()); return parent::initHeader(); }
in questo modo nei template potrai usare
{$is_mobile}
e quindi anche nei vari blocchi if/else
e.. non ho indagato ma probabilmente under the hood il metodo isMobile() fa qualcosa di molto simile a quanto suggerito da @ziobudda