Étapes pour créer un widget sur Yii?
J'ai le code suivant sur une vue donnée:
<?php
$form = $this->beginWidget('CActiveForm', array(
'id' => 'home-newsletter-form',
'enableAjaxValidation' => false,
'enableClientValidation' => true,
));
echo $form->textField($newsletterSubscribeForm, 'email');
echo $form->error($newsletterSubscribeForm, 'email');
echo CHtml::link("subscribe", "#", array('class'=>'btSubscribe'));
$this->endWidget();
?>
Il se trouve que j'ai besoin de ce sur PLUS d'un point de vue, j'ai donc trouver un widget une meilleure option.
Je tiens cependant à les place dans un fichier séparé (sur app/widgets/dossier), et a appelé sur chaque vue.
Quelqu'un peut s'il vous plaît être assez aimable pour me dire quelles sont les étapes à suivre pour y parvenir?
source d'informationauteur MEM
Vous devez vous connecter pour publier un commentaire.
Widget est la meilleure solution ici, il gardera votre code DRY (Don't Repeat Yourself - mettre l'accent sur la ré-utilisabilité).
Et la vue:
exemple d'utilisation dans n'importe quelle vue
La création d'un widget est très simple dans Yii. Il ne pouvait pas être mieux expliqué que dans le court suivant la documentation officielle de la section, Ici.
J'ai peu d'importance que beaucoup de gens ont trouvé cette réponse utile. Les mots suivants sont à mon goût, que je préfère la conception de mon Yii application de blocs de construction: lors de la construction de votre classe de widget toujours garder à l'esprit qu'un widget est une sorte de vue en Yii (v1.x). Ses pas censé processus de trucs, à effectuer d'affaires important des décisions logiques. Plutôt qu'une vue de l'-il simplement supposés de rendre choses. La prise de décision dans le code devrait être porté à découvrir de quoi rendre. J'ai utilisé de la conception dans le passé des widgets qui inclus quelques AJAX de traitement. Aujourd'hui, je pense que c'est un mauvais design. Un widget doit rendre des choses. Besoin d'un accompagnement unité de traitement? Je l'emballer dans un moduleavec des contrôleurs, éventuellement, des classes de modèle, et le widget comme une extension de ce module. Cest tout 🙂
Vous êtes mieux d'utiliser les partiels vues.
Comme ceci:
de cette façon, vous pouvez réutiliser le code dans d'autres points de vue.
Étapes pour créer un widget
Il est facile de créer un widget dans Yii, il suffit de suivre le lien. Créer Yii Widget
Dans 2 minutesj'ai compris comment des widgets dans ce très court tutoriel:
Comment créer fil d'Ariane widget