a les pàgines exportades amb * do=export_xhtml. * * Per què: l'exportació xhtml munta el a mà (inc/Action/Export.php) * i no passa per la plantilla, que és qui posa el viewport a les pàgines * normals (lib/tpl/dokuwiki/main.php). Sense viewport, el mòbil dibuixa la * pàgina en una finestra virtual ampla i l'encongeix com si fos una imatge. * * Com: l'exportació xhtml crida tpl_metaheaders(), que llança l'esdeveniment * TPL_METAHEADER_OUTPUT abans d'escriure les metadades. Aquí s'hi afegeix * el viewport, NOMÉS si l'acció és export_xhtml: les pàgines normals ja el * porten de la plantilla i no s'ha de duplicar. * * L'etiqueta és la mateixa que posa la plantilla dokuwiki. -- */ use dokuwiki\Extension\ActionPlugin; use dokuwiki\Extension\Event; use dokuwiki\Extension\EventHandler; class action_plugin_exportviewport extends ActionPlugin { /** * Enganxa el gestor a l'esdeveniment de les metadades del . */ public function register(EventHandler $controller) { $controller->register_hook('TPL_METAHEADER_OUTPUT', 'BEFORE', $this, 'addViewport'); } /** * Afegeix el viewport a les metadades, només a l'exportació xhtml. * * @param Event $event $event->data és la taula de capçaleres (meta, link, script…) * @param mixed $param no se'n fa servir cap */ public function addViewport(Event $event, $param) { global $ACT; if ($ACT !== 'export_xhtml') { return; } $event->data['meta'][] = [ 'name' => 'viewport', 'content' => 'width=device-width,initial-scale=1', ]; } }