Posts Tagged ‘fr’
17
sept

Compatible avec Tinymce Ajax File and Image Manager Version 1.0 RC4

AjaxFileManager
Je suis toujours fasciné par le monde du libre car on peut, même à notre échelle, contribuer à un projet quel qu’il soit.

J’adore poser ma toute petite pierre à l’édifice, même si ça passe finalement totalement inaperçu dans le flots de patchs, plugins, bug report posé chaque jour sur le net, ça aide forcément quelqu’un avec le même problème que soit quelque part sur la planète.

C’est le cas pour le fabuleux « Tinymce Ajax File and Image Manager Project« , il s’agit d’un plugin libre de « file manager » en PHP / Ajax pour Tinymce.

Malheureusement il était en anglais, ce qui me posait un problème car 99% de mes clients sont francophones.

J’ai donc créé un fichier de traduction FR que je viens de proposer sur le site, et qui devrait être ajouté après validation par l’équipe de développement.

En tout cas, sur ma config il fonctionne parfaitement et je le pose ici en attendant : fr.php.zip

Mise en place

  • Décompresser fr.php.zip dans le dossier langs du plugin ( tinymce/plugins/ajaxfilemanager/ par exemple )
  • Il m’a fallut éditer le fichier config.base.php dans le dossier inc/, tout à la fin du fichier, pour changer la langue par défaut (mettez ‘fr’ au lieu de ‘en’) :
define('CONFIG_LANG_DEFAULT', (CONFIG_QUERY_STRING_ENABLE && !empty($_GET['language']) && file_exists(DIR_LANG . secureFileName($_GET['language']) . '.php')?secureFileName($_GET['language']):'fr')); //change it to be your language file base name, such en

Pour intégrer le plugin à Tinymce, on s’en sort avec les instructions données sur le site (Tinymce Ajax File and Image Manager Project) mais je ferais prochainement (je l’espère) un petit tutorial pour ça, et également pour intégrer le tout dans un admin symfony.

enjoy! :p

, , ,

14
sept

Réalisé avec Symfony : 1.4 + Doctrine + JQuery 1.8.4

Vous venez de créer un backoffice avec Symfony et vous souhaitez utiliser une interface plus jolie et intuitive, de type calendrier pour les champs de type timestamp.

Personnellement, j’ai opté pour jQuery DatePicker (http://docs.jquery.com/UI/Datepicker).

Pour la mise en place, je suis partit de ce tuto: http://www.lexik.fr/blog/symfony/symfony/symfony-jquery-datepicker-491, mais je m’y suis pris un peu différemment.

Le tuto date un peu, ma méthode m’a paru plus simple et plus rapide, alors la voici :

Prérequis

Avant tout chose, il vous faut :

$ symfony plugin:install sfFormExtraPlugin
$ symfony cache:clear

Mise en place

Modifier le fichier view.yml du module correspondant à votre module d’administration ( apps/backend/config/view.yml par exemple ), afin de charger les css et js que l’on vient de télécharger :

default:
  stylesheets:    [ ... , jquery-ui-1.8.4.custom.css]
  javascripts:    [ ... , jquery-1.4.2.min.js, jquery-ui-1.8.4.custom.min.js, jquery.ui.datepicker-fr.js]

Utilisation
Il faut évidement que le champ en question soit de type timestamp (voir config/schema.yml)

Personnellement, je veux appliquer mon DatePicker sur le champ start_date de mon modèle Event.

Donc je modifie le fichier lib/form/doctrine/EventForm.class.php de la façon suivante :

class EventForm extends BaseEventForm
{
  public function configure()
  {
    $this->widgetSchema['start_date'] = new sfWidgetFormJQueryDate(array(
      'image'=>'/images/calendar_icon.png', 'culture' => 'fr',
      'date_widget' => new sfWidgetFormi18nDate(array('culture' => 'fr')),
      'config' => array('firstDay' => '1')
    ));
  }
}

Détails

Pensez à vider le cache :

$ symfony cache:clear

Normalement,  vous pouvez sélectionner la date en question à l’aide d’un calendrier joli tout plein. (whaouu)

En passant le paramètre ‘image’=>’/images/calendar_icon.png’, on demande au widget d’utiliser l’image ‘/images/calendar_icon.png’ comme bouton pour afficher le calendrier afin que ce soit plus joli, pensez à mettre l’image de votre choix dans <votre projet>/web/images/, sinon ce seront des ‘…’ qui seront affichés à la place.

Allez, je suis sympa, voila celui que j’ai utilisé : (je sais il est pas super chouette, mais il a l’avantage d’exister et d’être libre)

Maintenant, faites la même chose avec tous les champs et modèles que vous souhaitez.

Hop, je crois que c’est tout bon….

, , , ,