Magento 2 nuovo modello di sistema di griglia


15

Ho cercato nel nuovo sistema di griglia back-end di Magento sulla versione Merchant beta 1.0.0.
Prima di tutto devo dire che sono impressionato.
Ora puoi selezionare quali colonne visualizzare, puoi riordinarle, puoi filtrare per attributi che non hanno necessariamente una colonna.
Ma questo non è importante.
Non capisco come viene visualizzata la griglia.
Abilitando i suggerimenti sul percorso del modello, ho visto che la griglia dei prodotti, ad esempio, è rappresentata tramite il modello app/code/Magento/Ui/view/base/ui_component/templates/listing/default.xhtmle tramite il 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 svuoto la cache se abilitato) non ottengo più una griglia.
Qualcuno può spiegare di cosa si kotratta e come funziona?
Trovo anche questo tipo di markup in altri modelli. app/code/Magento/Ui/view/base/web/templates/grid/controls/columns.htmlper esempio.

[AGGIORNAMENTO]
Ho appena scoperto con una semplice ricerca (duh!) Che kofa riferimento a questo: http://knockoutjs.com/ ma ho ancora bisogno di alcune spiegazioni.

Risposte:


7

Sembra che Magento 2 stia usando Knockout.js , un framework MVVM che utilizza i collegamenti ai dati HTML (e in alcuni casi commenti HTML, come quello che hai trovato) per collegare il modello e visualizzare.

Qui, questo commento è un elemento virtuale, "modello" probabilmente un'associazione personalizzata da Magento (vedi: http://knockoutjs.com/documentation/custom-bindings-for-virtual-elements.html ), getTemplate()ovviamente una funzione JavaScript che è responsabile del rendering degli elementi reali.

Per capire knockout, consulta il loro tutorial interattivo su knockoutjs.com, l'ho trovato facile da capire e il tutorial / la documentazione è davvero fantastico.


1
Grazie. Questo è un buon inizio. Tornerò su questo :)
Marius

È passato un po 'di tempo da quando ho usato knockout, ma ho adorato quanto sia semplice e pulito, non vedo l'ora di usarlo di nuovo in Magento 2 :)
Fabian Schmengler,

1
La tendenza è quella di usare meno phtml e più usare html, entrambi sono in vista ma phtml è nei template e le cose relative al ko sono nel web. La differenza è che phtml è associato a un blocco e html ha un provider di configurazione e una vista del modello js. Dai un'occhiata alla cassa, ha molti esempi
PartySoft
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.