Я обнаружил, что при попытке использовать unsetChild
метод иногда приходится использовать атрибут «name» и другие «as». Кажется, что если блок добавляется нормально, вы используете «как», но если он добавляется в блок с использованием append
метода, вам, возможно, придется использовать «имя». Это предположение верно?
Какова причина этого и есть ли стандартный способ понять, какой атрибут вы должны использовать?
getBlockHtml()
который иногда используется для визуализации блоков по имени.Когда вы используете as , вы можете вызвать $ this-> getChildHtml ("as_value") в шаблоне phtml.
Имя должно быть уникальным, и может быть использовано для <ссылка> блоки, <удалить> и т.д.
Например (catalog.xml):
Если вы откроете каталог / product / view.phtml, вы увидите:
Вы видите? as = "media", а затем $ this-> getChildHtml ('media') ...
источник
Никто еще не ответил на конкретный вопрос
unsetChild
. Методы , связанные с детьми из блока всегда относятся к дочерним блокам по псевдониму, который известен только родителям и в отличие от имени, а не глобально уникальным.Но если блок был создан без определения псевдонима, псевдоним по умолчанию имеет имя.
Короче говоря, если дочерний блок имеет явный псевдоним, вы должны использовать псевдоним. Если нет, используйте имя.
Псевдонимы даются,
as="..."
если блок был создан как дочерний блок через XML, или параметром действия, если они были перемещены или динамически добавлены с помощью таких методов, какappend()
,insert()
илиsetChild()
.источник