it-swarm-eu.dev

Qual è il modo consigliato per strutturare una vista dei componenti personalizzati di Joomla 3 usando angularJS?

Ci sono pochissime informazioni là fuori dagli utenti che hanno integrato con successo angular js in una vista dell'elenco dei componenti personalizzati di joomla. Ho trovato quanto segue:

https://stackoverflow.com/questions/23365907/how-to-integrate-angularjs-app-inside-joomla e http://jeviathon.com/2014/06/02/02/joomla3 /

e ho letto i documenti sull'interfaccia di joomla ajax - https://docs.joomla.org/Using_Joomla_Ajax_Interface - che sembra utile.

Il mio progetto specifico è grande j! 3.4 sito con una serie di componenti personalizzati avviati in component-creator.com ciascuno con un modulo, elemento e visualizzazione elenco. Il mio obiettivo iniziale è di sfruttare angular in alcune visualizzazioni elenco adattate per una UX di ricerca e filtro slick.

Quali sono le pratiche raccomandate dagli esperti? Qualcuno l'ha fatto? Quali sono i passaggi/insidie.

Grazie

7
user2097091

Secondo la mia esperienza:

  • Visualizzazioni JSON : Ho creato il rendering JSON automatico basato su componenti FoF https://github.com/akeeba/fof In questo è semplice caricare/ottenere query. Nonostante ciò, alcune attività possono essere semplicemente risolte con una semplice funzione Controller. Con FoF, in un caso perfetto, puoi chiamare un URL (index.php? Opzione = com_todo & view = task & format = json) e recuperare l'output JSON senza codice aggiuntivo. In pratica, potrebbe essere necessario definire una vista/tmpl/task_json.php per tradurre un fuso orario o codificare i caratteri per AngularJS.

  • Informazioni sull'interfaccia Joomla Ajax : è una caratteristica allettante, puoi semplicemente creare un plug-in o un modulo per integrare le query Ajax. È la tecnologia per l'integrazione di un modulo Ajax. Ma, per lo sviluppo di componenti, scelgo la generazione JSON a livello di componente per un migliore controllo.

  • Gestione moduli : AngularJS ha una propria definizione di moduli. La maggior parte delle app AngularJS sono organizzate in app, controller e servizi. D'altra parte, Joomla ha un modo semplice per aggiungere Javascript a una pagina (addScript o addScriptDeclaration). Quindi, in qualsiasi organizzazione di progetto audio, hai in programma un toolbox di sviluppo per compilare tutti i file AngularJS in file minimizzati.
  • Joomla MVC <-> AngularJS MV * Non esiste una traduzione diretta tra entrambi i framework. Quindi, Joomla View è solo una tela in cui vivono le viste AngularJS. I servizi di AngularJS possono corrispondere ai modelli/tabelle di Joomla.
  • Sicurezza e autenticazione AngularJS deve seguire le linee guida del framework Joomla. Vale a dire, token in $ risorsa e $ query http. Tutte le azioni devono essere verificate ACL.
7
Anibal

Ho 3 Angular angolari in esecuzione contro Joomla in questo momento.

L'idea di base è impostare la risorsa e lasciarla gestire i campi di richiesta opzione/formato/controller, quindi nel controller, chiama il tuo modello per fare i conti, quindi a seconda di dove hai archiviato il risultato nel modello,

$ response = new stdClass (); $ response-> data = $ model-> data;

echo json_encode ($ response);

super pulito, super facile.

Per quanto riguarda il rendering della tua app, nel mio caso esiste una vista joomla singola per ogni app. tmpl/default.php è fondamentalmente solo un'inclusione nell'html principale.

Uso ngBoilerplate come base per le mie build, quindi ho dovuto modificare index.html per trovare gli script che Grunt stava inserendo.

L'app stessa vive in/media/com_extension/lib/app/build. L'ho lasciato in build perché non ha alcun effetto e ora posso facilmente modificarlo e costruirlo dalla cartella in cui verrà pubblicata l'app.

1
Joomsavvy