it-swarm-es.tech

¿Cuál es la forma recomendada de estructurar una vista de componente personalizado de Joomla 3 usando angularJS?

Hay muy poca información de los usuarios que han integrado con éxito angular js en una vista de lista de componentes personalizados de joomla. Encontré lo siguiente:

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

y he leído los documentos en la interfaz joomla ajax - https://docs.joomla.org/Using_Joomla_Ajax_Interface - lo cual parece útil.

Mi proyecto específico es grande j! 3.4 sitio con una serie de componentes personalizados iniciados en component-creator.com, cada uno con un formulario, elemento y vista de lista. Mi objetivo inicial es aprovechar angular en algunas vistas de lista adaptadas para una UX de búsqueda y filtrado ingeniosa.

¿Cuáles son las prácticas recomendadas por los expertos? ¿Alguien ha hecho esto? ¿Cuáles son los pasos/trampas?.

Gracias

7
user2097091

Según mi experiencia:

  • Vistas JSON : He creado componentes basados ​​en la representación JSON automática de FoF https://github.com/akeeba/fof En este manera, es sencillo cargar/obtener consultas. A pesar de esto, ciertas tareas pueden resolverse simplemente con una función de controlador simple. Con FoF, en un caso perfecto, puede llamar a una Url (index.php? Option = com_todo & view = tareas & format = json) y recuperar la salida JSON sin código adicional. En la práctica, es posible que deba definir una vista/tmpl/task_json.php para traducir una zona horaria o codificar caracteres para AngularJS.

  • Acerca de la interfaz Joomla Ajax : es una característica tentadora, simplemente puede crear un complemento o módulo para integrar las consultas de Ajax. Es la tecnología para un módulo de integración Ajax. Pero, para el desarrollo de componentes, opto por la generación JSON a nivel de componentes para un mejor control.

  • Administrador de módulos : AngularJS tiene su propia definición de módulos. La mayoría de las aplicaciones de AngularJS están organizadas en aplicaciones, controladores y servicios. Por otro lado, Joomla tiene una forma simple de agregar Javascript a una página (addScript o addScriptDeclaration). Entonces, en cualquier organización de proyectos sólida, tiene un plan para una caja de herramientas de desarrollo para compilar todos los archivos AngularJS en archivos minimizados.
  • Joomla MVC <-> AngularJS MV * No hay traducción directa entre ambos frameworks. Entonces, Joomla View es solo un lienzo donde AngularJS visualiza en vivo. Los servicios de AngularJS pueden coincidir con los modelos/tablas de Joomla.
  • Seguridad y autenticación AngularJS debe seguir las pautas del marco de Joomla. Namenly, tokens en $ resource y $ http consultas. Todas las acciones deben ser verificadas por ACL.
7
Anibal

Tengo 3 Angular aplicaciones ejecutándose contra Joomla en este momento.

La idea básica es configurar el recurso y dejar que se ocupe de los campos de solicitud de opción/formato/controlador, luego en el controlador, llame a su modelo para hacer los cálculos, luego, dependiendo de dónde haya almacenado el resultado en el modelo,

$ respuesta = new stdClass (); $ respuesta-> datos = $ modelo-> datos;

echo json_encode ($ respuesta);

súper limpio, súper fácil.

En cuanto a la representación de su aplicación, en mi caso hay una única vista de Joomla para cada aplicación. tmpl/default.php es básicamente una inclusión en el html principal.

Uso ngBoilerplate como base para mis compilaciones, por lo que tuve que modificar el index.html para encontrar los scripts que estaba insertando el gruñido.

La aplicación en sí misma vive en/media/com_extension/lib/app/build. Lo dejé en la compilación porque no afecta nada y ahora puedo editar y compilar fácilmente desde la carpeta donde se va a servir la aplicación.

1
Joomsavvy