Domanda

Ho poking in giro nel nuovo sistema di backend Grid di Magento sulla versione Merchant Beta 1.0.0.
Prima di tutto devo dire che sono impressionato.
Ora puoi selezionare quali colonne da vedere, puoi riordinarle, puoi filtrare per attributi che non hanno necessariamente una colonna.
Ma non è importante.
Non capisco come la griglia è resa.
Abilitando i suggerimenti del percorso del modello ho visto che la griglia dei prodotti per esempio viene resa tramite il modello app/code/Magento/Ui/view/base/ui_component/templates/listing/default.xhtml e tramite blocco Magento\Ui\Component\Listing.

Ho modificato il modello e ho visto qualcosa che non capisco.

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

Se rimuovo questa riga (e cancella la cache se abilitata) non ho più una griglia.
Qualcuno può spiegare cosa sia questo ko e come funziona ?.
Trovo anche questo tipo di markup in altri modelli. app/code/Magento/Ui/view/base/web/templates/grid/controls/columns.html ad esempio.

[Aggiorna]
Ho appena scoperto con una semplice ricerca (DUH!) Che ko si riferisce a questo: http://knockoutjs.com/ ma ne ho ancora bisogno di alcuni Spiegazioni.

È stato utile?

Soluzione

Sembra che Magento 2 stia usando knockout.js , un framework MVVM che utilizza le associazioni di dati HTML (e in alcuni casi I commenti HTML, comequello che hai trovato) per collegare il modello e la vista.

Qui, questo commento è un elemento virtuale, "Modello" probabilmente un legame personalizzato da Magento (vedi: http://knockoutjs.com/documentation/custom-bindings-for-virual-elements.html ), getTemplate() Ovviamente una funzione JavaScript che è responsabile per il rendering degli elementi reali.

Per capire Knockout, passare attraverso il loro tutorial interattivo a Knockoutjs.com, ho trovato facile da afferrare e il tutorial / documentazione è davvero fantastico.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a magento.stackexchange
scroll top