Si lo se, esto talvez sea algo redundante, puesto que en el archivo README del mismo plugin explica como hacerlo, pero en verdad creanme que lo hago para aquellos que talvez recien se esten iniciando con symfony y deseen integrar un gestor multimedia en sus aplicaciones y tambien para tenerlo presente ya que la memoria es fragil.. sobre todo la mia xD!
Ademas porque su README no dice todo puesto que al seguirlo para instalar el plugin este genera errores tales como:
Fatal error: Call to undefined function form_tag() in /ruta/tu/proyecto/plugins/sfAssetsLibraryPlugin/modules/sfAsset/templates/_sidebar_search.php on line 10
Que a simple vista quizas a algunos se les ocurra editar el archivo y ponerle un <?php use_helper(‘Form’) ?> pero al hacerlo nos enredarnos mas.. dandonos como resultado el error del tipo 500: Call to undefined method sfWebRequest::hasErrors.
Bien para evitar tantos enredemos vamos por ello, primero nos descargamos el plugin desde => http://www.symfony-project.org/plugins/sfAssetsLibraryPlugin
Ahora antes de comenzar la instalacion, leemos en su README que este plugin requiere de otro para generar los thumbnail(imagenes redimensionadas) hablamos del sfThumbnailPlugin que tambien procedemos a descargarlo => http://www.symfony-project.org/plugins/sfThumbnailPlugin
Una vez descargados ambos plugins los copiamos a: /ruta/tu/proyecto/plugins/ y descomprimimos cada uno en su carpeta, luego renombramos cada carpeta quedando asi: sfAssetsLibraryPlugin y sfThumbnailPlugin.
Instalamos con el comando ./symfony plugin:publish-assets
Ahora empezamos a generar el modelo, sql e insertamos mediante:
- ./symfony propel:build-model
- ./symfony propel:build-sql
- ./symfony propel:build-insert-sql
O tambien podriamos ahorrarnos tantos comandos resumiendolo en: ./symfony propel:build-all –no-confirmation
Luego de todo esto tenemos que activarlo editando el archivo /ruta/tu/proyecto/config/ProjectConfiguration.class.php donde vemos:
public function setup()
{
// for compatibility / remove and enable only the plugins you want
$this->enableAllPluginsExcept(array(‘sfDoctrinePlugin’, ‘sfCompat10Plugin’));
}
Lo cual nos dice que carga todos los plugins instalados a excepcion del Doctrine y el Compat10, y es aqui mismo donde radica el problema con el error: Fatal error: Call to undefined function form_tag() in..
Asi que tenemos que dejarlo de esta forma:
public function setup()
{
// for compatibility / remove and enable only the plugins you want
$this->enableAllPluginsExcept(array(‘sfDoctrinePlugin’));
}
Ahora activamos este plugin para nuestra aplicacion en /ruta/tu/proyecto/apps/tuaplicacion/config/settings.yml
all:
.settings:
enabled_modules: [default, sfAsset]
Pasamos a configurar las opciones de este plugin en /ruta/tu/proyecto/apps/tuaplicacion/config/app.yml, yo lo he editado de la siguiente forma:
all:
sfAssetsLibrary:
upload_dir: uploads # Directorio para almacenar los archivos, esto bajo la carpeta web/
check_type: false # Esto lo seteamos a false para evitar la restriccion de formatos archivos
types: ['image', txt, archive, pdf, xls, doc, ppt] # Si en la opcion anterior esta puesto true, aqui colocamos solo los formatos a permitir
thumbnail_dir: thumb # Directorio donde almacenar los thumbnails de las iamgenes
use_ImageMagick: false # Esto lo seteamos a true si contamos con dicho comando en nuestro server
thumbnails: # Nombre y tamaños (in pixels) de los thumbnails creados al subir los archivos
small: # Mostrado en la pagina de listado
width: 84
height: 84
shave: true # Cut strips to constraint the image size
large: # Mostrado en la pagina de detalles
width: 194
height: 152
search_pager_size: 20 # Numero de resultados por pagina en el modulo busqueda
mass_upload_size: 5 # Numero maximo de archivos, mostrado en el formulario de mass upload
Bien despues de todo esto limpiamos la cache de nuestro proyecto mediante: ./symfony cc
Y procedemos a aplicar los cambios de la configuracion mediante:
./symfony asset:create-root –application=tuaplicacion
Si todo nos ha salido bien ya deberiamos de poder ver nuestro gestor multimedia en nuestro browser mediante:
http://myproject/backend_dev.php/sfAsset
Espero que le haya servido a muchos.
NOTA: Se ha deformado la indentacion, esto por el wordpress.