Comment sont les méthodes d'action au sein de Magento mise en page des fichiers xml destiné à être utilisé
Exemples
mylayoutfile.xml
<layout>
<default>
<reference name="header">
<block type="mynamespace_mymodule/view" name="mynamespace_mymodule" output="toHtml" template="mymodule/html/view.phtml">
<action method="setTest"><param1>myparam1</param1><param2>myparam2</param2></action>
</block>
</reference>
</default>
</layout>
app/code/local/Mynamespace/Mymodule/Block/View.php
class Mynamespace_Mymodule_Block_View extends Mage_Core_Block_Template{
public $test = "before any params";
public function setTest($passedparam1,$passedparam2){
$this->test = $passedparam1 ." ". $passedparam2;
}
}
app/design/.../.../mymodule/html/vue.phtml
<?php
echo "<pre>";
print_r($this->test); //myparam1 myparam2
echo"</pre>";
die();
Explication
mylayoutfile est compilé dans une mise à jour par le biais de vos modules config.xml
le bloc préfixe de classe de mynamespace_module est également définie à l'intérieur de vos modules config.xml
mynamespace_module/point de vue est défini comme le type de bloc et instancié et le fichier de sortie de point de vue.phtml est définie
une action qui appelle le nœud parent du bloc de la méthode setTest en passant par deux paramètres, la valeur de myparam1 et myparam2.
à l'intérieur de la setTest fonction de la classe du paramètre "test" est défini à l'égalité "myparam1 myparam2"
le modèle de fichier app/design/.../.../mymodule/html/vue.phtml est chargé et nous nous faisons l'écho de la valeur de $this->test ($this se réfère à la version instanciée bloc de classe Mynamespace_mymodule_Block_View)
QUESTIONS
- Quels sont quelques exemples de cas d'utilisation où elle pourrait être utilisée?
- Vous pouvez passer autre chose qu'une chaîne de caractères? (Object,Array)?
- Ne le automagical organismes de normalisation et les méthodes de lecture de l'intérieur d'un fichier de mise en page?
- Logique peut être utilisé (si,alors,foreach,else,etc)?
- Sont t-il des scénarios où cette méthode ne doit pas être utilisé?
- Est-il autre chose que je pourrais être absent liés à l'instanciation de blocs dans un fichier de mise en page?
- Est-il autre chose que je pourrais être absent liés à des actions à partir d'un fichier de mise en page?
OriginalL'auteur ajameswolf | 2012-12-07
Vous devez vous connecter pour publier un commentaire.
setTitle
dans catalog.xml.Tout peut être passé. Les tableaux peuvent être définis dans le schéma XML:
Aussi, l'argument de nœuds peut exécuter une méthode d'assistance, la valeur de retour de qui sera transmis comme valeur:
Ce serait instancier une aide & exécuter une méthode:
Mage::helper('foo')->bar()
. La valeur de retour peut donc être tout ce que vous voulez. En outre, les arguments peuvent être passés à l'aide de nœuds enfants!Varien_Object
, donc oui, si les setters sont la seule option raisonnable pour l'utiliser.ifconfig
attribut qui va appelerMage::getStoreConfigFlag()
avec l'argument fourni et les processus de l'action si la valeur de configuration est vrai.Ben, j'ai une question pour vous sur un sujet similaire. J'ai besoin de définir une variable dans le panneau d'admin.. je.e <reference name="tête"> <méthode d'action="setForcedCategoryLink">Nom m'Différents</action> </>
vous avez besoin de créer une aide à la lecture de la valeur de stockage.
Je n'ai jamais pensé à aborder la question de cette façon! Grâce Malade de prendre un coup de couteau à elle.
OriginalL'auteur benmarks