Magento - getTreeHtml () - где этот метод? - PullRequest
1 голос
/ 26 августа 2011

Надеюсь, кто-нибудь может помочь мне с этим, поскольку я немного запутался.

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

Одна вещь, которая меня смущает, - это одна из строк кода в файле container.phtml:

getTreeHtml ()?>

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

Благодарен за любую помощь, Ян

1 Ответ

1 голос
/ 26 августа 2011

Это не объявленный метод доступа к полям («магический» метод).Каждый раз, когда вы вызываете setField (value) или getField () для Varien_Object, не объявляя эти методы (они не существуют в классе), Varien_Object проверяет свой массив данных $ this-> data на наличие записи с полемключ.Если такая запись существует, она возвращает / устанавливает значение $ this-> data ['field'].

Метод используется в вашем виджете.Проверьте файл:

./Mage/Adminhtml/controllers/Catalog/Product/WidgetController.php:

Где-то в нем вы можете найти этот вызов:

setTreeHtml($categoriesTree->toHtml())

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...