Un paquete de Symfony para integrar sencha ext js en una aplicación Symfony
Puede instalar este paquete usando el compositor
composer require teqneers/ext-application-bundle
O agregue el paquete a su archivo composer.json directamente.
Después de haber instalado el paquete, solo necesita agregar el paquete a su archivo appkernel.php:
// in AppKernel::registerBundles()
$ bundles = array (
// ...
new TQ Bundle ExtJSApplicationBundle TQExtJSApplicationBundle (),
// ...
);El Bundle de aplicación EXT requiere una configuración inicial para que pueda encontrar los archivos correctos.
# Default configuration for extension with alias: "tq_ext_js_application"
tq_ext_js_application:
app_path: ~ # Required
builds: # Required
# Prototype
name:
development: # Required
build_path: ~ # Required
microloader: /bootstrap.js
manifest: /bootstrap.json
app_cache: null
production: # Required
build_path: ~ # Required
microloader: microloader.js
manifest: app.json
app_cache: cache.appcache
Debido a que el paquete proporciona su propio controlador para servir micro-carnador, manifiesto y caché de aplicaciones manifiestas, también debe configurar su enrutamiento para incluir las rutas del paquete en un prefijo dado. Edite su app/config/routing.yml :
# ...
ext_app:
resource: "@TQExtJSApplicationBundle/Resources/config/routing.yml"
prefix:/
# ...
Dada la siguiente estructura de directorio de una aplicación de Symfony ficticia
./
|-- app/ Application configuration and assets
|-- src/ Application source code
|-- web/ Public web-facing directory (document root)
| |-- app.php Symfony production front controller
| |-- app_dev.php Symfony development front controller
| |-- app/ Root folder for Ext JS application production build
|-- ExampleApp/ The Ext JS application source folder
Su configuración puede verse así
tq_ext_js_application:
app_path: '%kernel.project_dir%/ExampleApp'
builds:
default:
development:
build_path: build/development/ExampleApp
microloader: /bootstrap.js
manifest: /bootstrap.json
app_cache: ~
production:
build_path: build/production/ExampleApp
microloader: microloader.js
manifest: app.json
app_cache: cache.appcache
Utilizando la extensión de la ramita proporcionada por el paquete, puede integrar fácilmente los recursos de aplicación EXT JS en sus plantillas de aplicación.
<!DOCTYPE HTML>
< html manifest = " {{ extjsAppCachePath() }} " lang = " en " >
< head >
< meta http-equiv = " X-UA-Compatible " content = " IE=edge " >
< meta charset = " UTF-8 " >
< meta http-equiv = " content-type " content = " text/html; charset=UTF-8 " />
< meta name = " viewport " content = " width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no " >
< title >Welcome!</ title >
< script type = " text/javascript " >
var Ext = Ext || {};
Ext . manifest = ' {{ extjsManifestPath()|e( ' js ' ) }} ' ;
</ script >
< script id = " microloader " data-app = " {{ extjsApplicationId() }} " type = " text/javascript " src = " {{ extjsBootstrapPath() }} " ></ script >
</ head >
< body >
</ body >
</ html >La licencia del MIT (MIT)
Copyright (c) 2015 TeqNeers GmbH & Co. KG
El permiso se otorga, de forma gratuita, a cualquier persona que obtenga una copia de este software y archivos de documentación asociados (el "software"), para tratar en el software sin restricción, incluidos los derechos de los derechos de usar, copiar, modificar, fusionar, publicar, distribuir, sublicense y/o vender copias del software, y para permitir que las personas a quienes se les proporciona el software para hacer, sujeto a las siguientes condiciones: las siguientes condiciones: las siguientes condiciones: las siguientes condiciones:
El aviso de derechos de autor anterior y este aviso de permiso se incluirán en todas las copias o porciones sustanciales del software.
El software se proporciona "tal cual", sin garantía de ningún tipo, expresa o implícita, incluidas, entre otros, las garantías de comerciabilidad, idoneidad para un propósito particular y no infracción. En ningún caso los autores o titulares de derechos de autor serán responsables de cualquier reclamo, daños u otra responsabilidad, ya sea en una acción de contrato, agravio o de otra manera, que surge, de o en relación con el software o el uso u otros tratos en el software.