Instalar plugin sfAssetLibrary en Symfony 1.2

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.

Anuncios

Acerca de mario21ic

Geek, Web Developer, Symfony2, Zend Framework, CodeIgniter, Drupal, SysAdmin GNU/Linux, Android, Technical Networking, ex cracker
Esta entrada fue publicada en php, Programacion, Symfony y etiquetada , , , . Guarda el enlace permanente.

Una respuesta a Instalar plugin sfAssetLibrary en Symfony 1.2

  1. Marc dijo:

    Gracias. A finales de 2011 tu entrada aún me ha resultado útil, ya que me veo forzado a trabajar con el 1.2 en un proyecto. ¡Saludos!

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s