Symfony, upload immagini nell’ Admin generator

Per poter definire un campo di tipo upload in una form nell’applicazione creata con l’Admin Generator di Symfony è sufficiente modificare la form relativa al model interessato.

Nel metodo configure della form inserire queste righe:

  public function configure()
  {
    parent::configure();

    $this->widgetSchema['pic'] = new sfWidgetFormInputFileEditable(array(
      'label'     => 'Moodboard Image',
      'file_src'  => '/uploads/immagini/'.$this->getObject()->getPic(),
      'is_image'  => true,
      'edit_mode' => !$this->isNew(),
      'template'  => '
%file% %input% %delete% %delete_label%
', )); $this->validatorSchema['pic'] = new sfValidatorFile(array( 'required' => false, 'path' => sfConfig::get('sf_upload_dir').'/immagini/', 'mime_types' => 'web_images', )); $this->validatorSchema['pic_delete'] = new sfValidatorPass(); }

Dove ‘pic’ indica il nome del campo interessato (l’attributo del model e/o colonna della tabella del database).

Modificare anche il nome del metodo : getPic() (sostituendolo con il nome del metodo che corrisponde all’attributo del model e/o colonna della tabella del Database.

Image Magick: rimozione automatica del colore di sfondo

Con il comando convert di Image Magick è possibile rimuovere il colore di sfondo di una immagine.
In pratica il colore di sfondo viene rimpiazzato con una trasparenza.
Il link in cui viene spiegato come fare è:
http://www.imagemagick.org/Usage/channels/#mask_floodfill

In particolare ho provato questo e, nel mio caso, ha funzionato egregiamente:

 convert immagine_di_partenza.png -bordercolor white -border 1x1 -matte \
          -fill none -fuzz 20%  -draw 'matte 0,0 floodfill' \
          -shave 1x1 immagine_con_trasparenza.png

Creazione di un Modulo in Symfony

Per creare un modulo in Symfony eseguire il comando:

php symfony generate:module frontend api

Dove:

  • frontend: è il nome dell’applicazione in cui creare il modulo
  • api: è il nome del modulo

Creare un nuovo modulo per l’applicazione creata con l’Admin Generator (Symfony)

In Symfony per aggiungere un nuovo modulo per la gestione di un Model all’applocazione creata con l’admin generator eseguire il comando:

php symfony doctrine:generate-admin backend Category --module=category

Dove:

  • backend: è il nome dell’applicazione creata con l’Admin Generator;
  • Category: è il nome del Model che si vuole gestire
  • category: è il nome del modulo

Configurazione connessione database in Symfony e Doctrine

Il comando per configurare il database in Symfony:

php symfony configure:database "mysql:host=localhost;dbname=dbname" root mYsEcret
%d blogger hanno fatto clic su Mi Piace per questo: