Вопрос

Часто я работаю над шаблоном или блоком Magento и, ища переменную, пытаюсь использовать метод получения.

Я использую xDebug, поэтому обычно я просто просматриваю отладчик и нахожу то, что мне нужно, и угадываю метод получения, и обычно это работает.например:

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

Но иногда я не могу найти метод получения и использую xDebug с PhpStorm для вычисления выражения для нужного мне значения.enter image description here

Обычно это дает мне выражение, подобное приведенному ниже:

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

Хотя это работает, это, кажется, не лучший способ сделать это, я пробовал использовать $program->getType(); но это не работает.

Я что-то упускаю?Приведенный выше пример взят из пользовательского модуля, я подумал с Волшебные методы получения и настройки Magento это все равно должно сработать.Хотя, глядя на этот модуль, рассматриваемый блок наследуется или расширяется от Шаблон Mage_Core_Block_Template

Это было полезно?

Решение

Это выглядит как $program не является ни примером Varien_Object ни объекта вообще, таким образом, никакого методы перегрузки имеются в наличии.

$program['type']->getSpecialUrlKey() может сработать, если в массиве есть запись с ключом type это пример Varien_Object.

Чтобы облегчить жизнь разработчику, классы, предлагающие "волшебные" методы, должны быть соответствующим образом аннотированы, см. Mage_Sales_Model_Order например.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с magento.stackexchange
scroll top