Pergunta

Eu estive bisbilhotando na nova infra-estrutura do sistema de grade de Magento no google Merchant beta versão 1.0.0.
Primeiro de tudo devo dizer que estou impressionado.
Agora você pode selecionar quais colunas para ver, você pode reordená-los, você pode filtrar por atributos que não têm, necessariamente, de uma coluna.
Mas isso não é importante.
Eu não entendo como a grade é processado.
Habilitando o caminho de modelo dicas que eu vi que os produtos de grade, por exemplo, é processado através do modelo de app/code/Magento/Ui/view/base/ui_component/templates/listing/default.xhtml e através do bloco Magento\Ui\Component\Listing.
Eu editei o modelo e vi algo que eu não entendo.

<!-- ko template: getTemplate() --><!-- /ko -->

Se eu remover esta linha (e limpar a cache se habilitado) eu não obter uma grade mais.
Alguém pode me explicar o que esta ko e como funciona?.
Eu também acho esse tipo de marcação em outros modelos. app/code/Magento/Ui/view/base/web/templates/grid/controls/columns.html por exemplo.

[ATUALIZAÇÃO]
Eu acabei de encontrar com uma simples pesquisa (duh!) que ko refere-se a este: http://knockoutjs.com/ mas eu ainda preciso de algumas explicações.

Foi útil?

Solução

Que olha como o Magento 2 está usando Knockout.js, um MVVM framework que usa HTML ligações de dados (e, em alguns casos comentários em HTML, como o que você encontrou) para o modelo de ligação e visualizar.

Aqui, esse comentário é um elemento virtual, "modelo", provavelmente uma ligação personalizada do Magento (veja: http://knockoutjs.com/documentation/custom-bindings-for-virtual-elements.html), getTemplate() obviamente, uma função JavaScript que é responsável para processar o real elemento(s).

Para entender o nocaute, vá através do seu tutorial interativo no knockoutjs.com, eu achei fácil de entender e a tutorial/documentação é muito grande.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a magento.stackexchange
scroll top