Por lo que puedo decir, cuando ve una cuadrícula en el backend de Magento, la siguiente plantilla KnockoutJS "cargada sobre XHR" es lo que comienza a representar las cosas
File: vendor/magento//module-ui/view/base/web/templates/collection.html
URL: http://magento.example.xom/pub/static/adminhtml/Magento/backend/en_US/Magento_Ui/templates/collection.html
<each args="data: elems, as: 'element'">
<render if="hasTemplate()"/>
</each>
Sin embargo, estoy un poco perdido en cuanto a lo que son la <each/>
etiqueta y la <render/>
etiqueta. No son (¿o no parecen ser?) Una parte del inventario KnockoutJS.
Sé que es posible agregar etiquetas personalizadas a KnockoutJS a través de componentes , pero no veo ningún lugar obvio donde un componente nombrado each
o render
agregado a KnockoutJS.
Por lo tanto, no estoy seguro de si estos son componentes registrados en algún lugar que no conozco, o alguna otra personalización que Magento haya hecho a KnockoutJS que permita etiquetas personalizadas, o algo completamente diferente.
Nota: No estoy completamente en la oscuridad aquí: entiendo que <each/>
probablemente esté iterando sobre cada componente de interfaz de usuario secundario representado en el JSON y representando su plantilla (si esa plantilla existe).
Lo que no tengo claro es cómo se implementan estas etiquetas. Quiero ver dónde se implementan para poder depurar cómo se enlazan los datos y también entender el mecanismo que Magento está utilizando para crear estas etiquetas en caso de que haya otras.
fuente