• Carabiner : un layout intéressant pour codeigniter

    image de l'aticle Carabiner : un layout intéressant pour codeigniter

    Edité par DreamersLab, ce layout fait sur mesure pour Codeigniter vous permettra de gérer facilement les metas title, description, css, js... De toutes les pages. De plus ce layout compresse tous vos fichiers js et css et ne les recharge que lorsque les fichiers sources sont modifiés, ça améliore énormément la rapidité d'affichage de vos pages (entre 5 et 10 sec. suivant la taille de vos fichiers).

    Vous pouvez télécharger les sources ici.
    Avec Carabiner, votre chemin /application/ sera comme celui ci :

    layout carabiner codeigniter

    Dans le dossier controllers sont contenu les controllers (là rien a changé).
    Par contre dans le dossiers /views/, tous les controllers créés auront un dossier portant le même nom avec dans chaque dossier un fichier correspondant aux méthodes (même nom que les méthodes du controller), ceci n'est pas obligatoire et je vous expliquerez pourquoi par la suite.

    Dans chaque dossier contenu dans views vous aurez aussi à créer si nécessaire un fichier config.yml, ce fichier sera parser par la librairie yaml afin de compresser vos cs, js et d'afficher correctement vos metas pour chaque page.

    Voici son contenu (/views/about/config.yml) :

    # actions
    # common settings for all actions in this controller
    common:
      title: this will be the default title in about controller
      css:
        site:
          - lib/jquery.fancybox
          - about/common
          
      js:
        site:
          - lib/jquery.mousewheel
          - lib/jquery.fancybox
          
    # configs for each action
    index:
      title: title for about/index page

      metas:
        name:
          keywords: keywords, for, index, action, only
          description: description for index action only

      css:
        site:
          - about/index

      js:
        site:
          - about/index
          
    site:
      title: title for about/site page
        
      metas:
        name:
          keywords: keywords, for, site, actions, only
          description:  description for site action only
          
      js:
        site:
          - about/site

    author:
      css:
        site:
          - about/author
          
         

    Vous pouvez modifier les configurations de ce fichier via le controller about :

        // overwrite configs example
        $this->view->config(array(
          'title' => 'MY ACTION CUSTOM TITLE',
          'metas' => array(
            'name' => array(
              'keywords' => 'MY ACTION CUSTOM KEYWORDS',
              'description' => 'MY ACTION CUSTOM DESCRIPTION'
            )
          ),
          'js' => array(
            'cdn' => array(
              'https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.9/jquery-ui.min'
            ),
            'site' => array('example','another_example')
          ),
          'css' => array(
            'site' => array('example','another_example')
          )
        ))->render($this->_data);
      }

    Ainsi vous pourrez charger plus de css ou de js et changer vos metas en fonctions des retours de résultats de votre controlleur.

    le fichier config.yml contenu dans le dossier /views/common/ contient tous les css, js de base qui seront lu dans toutes les pages de votre site internet.

    Dans vos controllers vous pouvez aussi changer la vue ainsi que le fichier à afficher à l'utilisateur en faisant ceci :

    $this->view->set('controller', 'contact');
    $this->view->set('action', 'index');
    $this->view->render();


    En faisant cela vous afficherez le fichier index.php contenu dans le dossier views/contact/
    Notez que vous devrez mettre aussi un dossier nommé assets à la base de votre application avec les sous-dossiers "/img/", "/css/", et "/js/"
    Il y beaucoup d'autres choses à dire sur ce layout tellement il est puissant, si vous souhaitez plus d'informations n'hésitez pas à laisser un commentaire.

Laissez un commentaire

* Votre e-mail ne sera jamais utilisé ou donné à un tiers

Recherche

Catégories

Newsletters

Archives