Aggiornamento della tabella ui_bookmark durante l'aggiunta di colonne tramite XML ui_component


9

In Magento 2, le ui_componentgriglie di base ti consentono di riordinare le colonne e Magento ricorderà le tue impostazioni al prossimo accesso. Ciò è possibile grazie a Magento che salva i dati nella ui_bookmarktabella (tramite un Magento\Ui\Model\Bookmarkoggetto modello).

Sebbene questa funzionalità sia accurata, può creare problemi quando uno sviluppatore di estensioni o un integratore di sistemi utilizza Magento ui_componentXML per aggiungere colonne a una tabella. Se ci sono dati personalizzati, ui_bookmarkMagento ignorerà (apparentemente) l'ordinamento di una nuova colonna e possono accadere cose strane / impreviste.

Esiste una best practice e / o un sistema per gli sviluppatori di estensioni che desiderano aggiungere colonne a una griglia dell'interfaccia utente (di Magento o loro) e assicurarsi che una colonna sia da qualche parte in relazione alle altre? vale a dire - "Questo secondo pulsante di azione dovrebbe sempre apparire per ultimo, o apparire sempre per ultimo", oppure "il campo del nome dovrebbe essere sempre dopo ID.

Uno sviluppatore di estensioni deve, tramite una app/code/Package/Module/Setup/...classe, accedere alla ui_bookmarktabella e aggiornare queste voci stesse? O c'è un modo migliore per raggiungere questo obiettivo? O gli sviluppatori di estensioni devono solo vivere con una colonna aggiunta in luoghi inaspettati quando un utente ha già una voce ui_bookmark?

Risposte:


4

Penso che questo sia un bug in magento2.

Di solito pulisco la tabella ui_bookmark dopo aver aggiunto nuove colonne da qualsiasi modulo.

Magento2 salva le posizioni delle colonne anche se non ci sono modifiche nell'ordinamento delle colonne.

"positions":{
    "ids":0,
    "increment_id":1,
    "store_id":2,
    "created_at":3,
    "billing_name":4,
    "shipping_name":5,
    ...
}

Ma se le posizioni delle colonne verranno memorizzate solo dopo le modifiche dell'utente, avremo lo stesso problema con le nuove colonne.

Se verranno aggiunti ordini relativi come name column after ido my_column before actions, avremo un brutto trascinamento delle colonne nell'interfaccia utente.

Se si cancella la ui_bookmarktabella durante l'installazione del modulo, è possibile cancellare le impostazioni utente personalizzate per l'elenco.

Forse, gli sviluppatori principali devono correggere la colonna delle azioni come soluzione parziale.

Penso che questa domanda non abbia l'unica decisione giusta

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.