Domanda

Spesso sto lavorando su un modello magento o blocco e mentre cerco una variabile provo a usare un metodo Gettter.

Io uso XDEBUG in modo da normalmente, vado attraverso il debugger e trovo ciò di cui ho bisogno e indovina il metodo Gettter, e di solito funziona. Ad esempio:

$this->getProduct()->getId();
.

Ma a volte non riesco a trovare il metodo Gettter e utilizzare XDebug con PhPstorm per valutare l'espressione per il valore di cui ho bisogno. Inserisci la descrizione dell'immagine qui

Di solito mi dà un'espressione come il seguente:

$program['type']->_data['special_url_key']
.

Mentre questo funziona, non sembra essere il modo migliore per farlo, ho provato a usare $program->getType(); ma non funziona.

Sono percorsi qualcosa? L'esempio sopra è da un modulo personalizzato, ho pensato con I metodi di Magento Magic Getter & Setter dovrebbe ancora funzionare. Sebbene, guardando questo modulo il blocco in questione eredita o si estende da mage_core_block_template

È stato utile?

Soluzione

Sembra che $program non sia né un'istanza di Varien_Object né un oggetto, quindi no I metodi di sovraccarico sono disponibili.

$program['type']->getSpecialUrlKey() potrebbe funzionare se l'array ha una voce con il tasto type che è un'istanza di Varien_Object.

Per semplificare la vita di uno sviluppatore, le classi che offrono metodi "magici" dovrebbero essere annotati di conseguenza, vedere Mage_Sales_Model_Order ad esempio.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a magento.stackexchange
scroll top