.: Fonctions utiles des vues et contrôleurs :.
Les fonctions suivantes sont disponibles sur toutes les pages PHP des thèmes, et pour les pages standards et particulières.
@string $this->getStyleSheet($stylesheet)
Retourne le chemin d'une feuille de style située directement dans le dossier du thème. Passe cette feuille de style par le handler de CSS pour permettre la personnalisation de thème, la mise en cache.
@string $this->getThemeHandle()
Retourne le handle du thème actif actuellement.
@string $this->getTheme()
Retourne le chemin complet du répertoire du thème actif actuellement.
@string $this->getThemePath()
Retourne le chemin relatif du thème actif actuellement. Utile pour des liens de références dans le répertoire du thème actuel (ex. images, javascript, etc...)
@Page $this->getCollectionObject()
Retourne l'objet de la page pour la page affichée
$this->inc()
Inclut le fichier du thème actuel. Similaire aux inclusions Php. Les fichiers inclus avec cette fonction auront toutes les variables réglées utilisant $this->controller->set() dans leur environnement local
@bool $this->section($url)
Vérifie une URL donnée si vous êtes bien dans la section de celle-ci? (ex. si vous êtes sur la page /about/my/company, la function $this->section('/about'); sera retournée comme vraie.
@string $this->url($view [, $task, [$additionalArgs]])
Retourne une URL qui peut être automatiquement lié à un contrôleur. Tous les arguments supplémentaires qui sont passés (en tant qu'arguments de 1-n de la fonction) seront passés comme arguments de fonction dans le contrôleur de cette vue.
@string $this->action($task [, $additionalArgs])
Un raccourics pour éxécuter $this->url mais revenant sur la page courante.
Contrôleurs
Les fonctions suivantes sont utiles des contrôleurs. Celles-ci devraient être utiles avec les fonctions de contrôleurs de bloc et de page.
Variables Publiques
LA variable publique suivante peut être définit dans votre contrôleur, pour un résultat particulié
@array $helpers
Tous les éléments d'aide de ce tableau seront automatiquement instanciés et disponibles, avec le même nom, dans votre vue.
Exemple:
public $helpers = array('html', 'navigation');
Maintenant votre vue contient les helpers $html et $navigation
@string $theme
Règle le thème sur un handle de thème dans votre contrôleur cela va outrepasser la définition courante du thème de la page (Note, cela risque de ne pas fonctionner dans toutes les circonstances):
Exemple:
public $theme = 'greensalad';
Fonctions
@bool $this->isPost()
Revient vrai si la page est en court de POST, et faux si ce n'est pas le cas.
@mixed $this->post($key)
Retourne l'objet depuis le tableau $_POST qui correspond à $key. Exécute automatiquement trim() sur la valeur.
$this->set($key, $value)
Règle la variable $key avec la valeur $value de sorte qu'il puisse être accessible dans l'environnement local de la vue.
$this->addHeaderItem($item)
Ajoute l'objet $item dans la section du header de la page. Très utile pour ajouter du javascript, une feuille de style à la page. A savoir, le même élément d'en-tête ne sera pas ajouté plus d'une fois à une page.
Exemple:
$html = Loader::helper('html');
$css = $html->css('my_style_sheet.css');
$this->addHeaderItem($css);
Affiche la vue
$this->render($view)
Affiche une vue avec le contrôleur actuel comme contrôleur de la vue. Exemple:
$this->render("login");
Obtenir l'objet de la page du contrôleur:
@page $this->getCollectionObject();
Obtient l'objet de page courante auquel le contrôleur est lié.
Fonctions Basées sur les évènements
Il y a plusieurs fonctions dans les contrôleurs de concrete5 qui sont automatiquement exécutés à différents moments. Définissez simplement cette fonction dans votre contrôleur, et elle sera éxécutée. Ces fonctions commences généralement avec on_, depuis qu'elles sont basées sur des évènements.
public function on_start()
Cette fonction est automatiquement éxécutée lorsque la page est chargée. De même, les contrôleurs de construction également éxécutés, mais si vous ne voulez pas avoir à vous inquiéter d'appeler parent::__construct() mais vous voulez être certains que les éléments se produisent toujours au chargement du contrôleur, définissez cette fonction
public function on_before_render()
Cette fonction fonctionne toujours après que la tâche du contrôleur ait été exécuté. Si vous voulez reproduire beaucoup de code à la fin de beaucoup de fonctions de contrôleurs, vous pourriez envisager de placer ce code dans on_before_render, puisqu'il sera toujours exécuté.
BlockController::on_page_view()
C'est une fonction spéciale qui est éxécutée lorsqu'un bloc particulié est affiché sur une page particulière. Cette fonction est éxécutée AVANT que le bloc soit rendu réellement sur la page, faisant un très bon endroit pour ajouter du Javascript et les feuilles de styles avant que le bloc entre en fonction, puisque le bloc peut alors placer ces éléments dans l'en-tête de la page.
