Добрый день,
начинаю разбираться с мадженто и возник вопрос:
к примеру возьмем фрагмент кода (взятого кажется из этого же формума)
<block type="core/template" name="helloworld" template="helloworld.phtml" before="-">
<action method="setImgSrc"><src>images/media/koltsovo.jpg</src></action>
<action method="setImgAlt" translate="alt" module="catalog"><alt>Helloworld</alt></action>
<action method="setLinkUrl"><url>.</url></action>
</block>
есть директива блока "action" и ее атрибут "method" - где можно узнать о возможных значениях этого атрибута, (или хотябы чаще используемых)
Спасибо.
Каковы значения атрибута «action» директивы «method»?
25.01.2013 20:08
Директива action предназначена для вызова метода блока.
В вашем примере код
означает, что система должна вызвать у блока helloworld метод setImgSrc с параметром "images/media/koltsovo.jpg".
При этом конкретно в данном случае у блока такого метода нет и вместо этого будет вызван метод Varien_Object::__call (про метод __call можно прочитать в документации к PHP) и, по сути, конкретно данный вызов приведет к присвоению внутреннему свойству image_src блока значения "images/media/koltsovo.jpg", в последствии, видимо, используемого в шаблоне посредством вызова аналогичного несуществующего метода getImageSrc или же свойства напрямую: getData ('image_src');
В вашем примере код
<block type="core/template" name="helloworld" template="helloworld.phtml" before="-"> <action method="setImgSrc"><src>images/media/koltsovo.jpg</src></action> </block>
означает, что система должна вызвать у блока helloworld метод setImgSrc с параметром "images/media/koltsovo.jpg".
При этом конкретно в данном случае у блока такого метода нет и вместо этого будет вызван метод Varien_Object::__call (про метод __call можно прочитать в документации к PHP) и, по сути, конкретно данный вызов приведет к присвоению внутреннему свойству image_src блока значения "images/media/koltsovo.jpg", в последствии, видимо, используемого в шаблоне посредством вызова аналогичного несуществующего метода getImageSrc или же свойства напрямую: getData ('image_src');