Pergunta

Freqüentemente estou trabalhando em um modelo ou bloco Magento e enquanto procuro uma variável tento usar um método getter.

Eu uso o xDebug, então normalmente apenas passo pelo depurador e encontro o que preciso e adivinho o método getter, e geralmente funciona.por exemplo:

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

Mas às vezes não consigo encontrar o método getter e usar xDebug com PHPStorm para avaliar a expressão para o valor que preciso.enter image description here

Isso geralmente me dá uma expressão como a abaixo:

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

Embora funcione, não parece ser a melhor maneira de fazer isso, tentei usar $program->getType(); mas não funciona.

Estou esquecendo de algo?O exemplo acima é de um módulo customizado, pensei com Métodos Magic Getter e Setter do Magento ainda deve funcionar.Embora, olhando para este módulo, o bloco em questão herde ou se estenda de Mage_Core_Block_Template

Foi útil?

Solução

Parece $program não é um exemplo de Varien_Object nem um objeto, portanto, não métodos de sobrecarga Estão disponíveis.

$program['type']->getSpecialUrlKey() pode funcionar se o array tiver uma entrada com a chave type isso é um exemplo de Varien_Object.

Para facilitar a vida do desenvolvedor, as classes que oferecem métodos "mágicos" devem ser anotadas de acordo, consulte Mage_Sales_Model_Order por exemplo.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a magento.stackexchange
scroll top