Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Bonjour à tous,
Je commence à utiliser l'implémentation du patron MVC. J'ai suivi la documentation officielle.
Pour activer une nouvelle "disposition" (traduction française de "layout"), j'ai lancé la commande suivante :
zf.sh enable layout
Cette commande a pour effet d'ajouter des lignes de configuration au fichier d'initialisation "application/configs/application.ini".
resources.layout.layoutPath = APPLICATION_PATH "/layouts/scripts/"
Les autres paramètres (layout, layoutPath,...) de configuration sont ceux définis par défaut.
Jusque là: Pas de problème.
Cela dit, avant de continuer l'exploration, je désirerais savoir comment réaliser l'opération suivante, de la façon la plus propre possible :
Je désire adapter l'affichage de mon site en fonction du terminal (PC, Iphone, Ipad, Adroid) utilisé pour naviguer sur mon site. En fonction du terminal, je propose une disposition (layout) adaptée à la taille de l'écran.
Mon idée :
1. Dans le fichier de démarrage (quickstart/public/index.php), je détermine le type de terminal (fonction PHP get_browser() - http://php.net/manual/fr/function.get-browser.php).
Pour information. Fichier quickstart/public/index.php:
<?php // Define path to application directory defined('APPLICATION_PATH') || define('APPLICATION_PATH', realpath(dirname(__FILE__) . '/../application')); // Define application environment defined('APPLICATION_ENV') || define('APPLICATION_ENV', (getenv('APPLICATION_ENV') ? getenv('APPLICATION_ENV') : 'development')); // Ensure library/ is on include_path set_include_path(implode(PATH_SEPARATOR, array(realpath(APPLICATION_PATH . '/../library'), get_include_path(),))); /** Zend_Application */ require_once 'Zend/Application.php'; // Create application, bootstrap, and run $application = new Zend_Application(APPLICATION_ENV, APPLICATION_PATH . '/configs/application.ini'); $application->bootstrap()->run();
2. En fonction du retour de la fonction get_browser(), je définis une constante qui représente un "nom de disposition" (nom de layout) : define('LAYOUT_NAME', $layouName).
3. Et, dans le fichier d'initialisation (application/configs/application.ini): resources.layout.layout = LAYOUT_NAME.
Qu'en pensez-vous?
Merci,
Denis
Dernière modification par Denis. Beurive (17-09-2010 15:18:07)
Hors ligne