Mettre en ligne un site WordPress
WordPress stocke à différents endroits en base de données l’url du site. Ce qui peut être problématique lorsqu’on met en ligne un site développé en local.
Internet Explorer 6 sur Mac
Installer Internet Explorer 6, 7, et 8 sur Mac OS X, sans passer par Bootcamp ou des logiciels payants et lourds comme Fusion ou Parallels, c’est possible gràce à Wine :
http://wiki.winehq.org/MacOSX/Installing
Tout simplement génial.
Créer une miniature en php sans rogner
But : créer une miniature à partir d’une image, avec une largeur et une hauteur fixes, sans agrandir l’image (pour ne pas avoir une miniature de mauvaise qualité) si elle est plus petite que la taille de la miniature souhaitée.
Ne pas rogner l’image, la centrer en hauteur et en largeur et remplir l’espace vide avec une couleur de fond.
Carrousel horizontal avec JQuery
Utiliser Propel avec Symfony 1.4
Créer une miniature en php
Captcha simple en php
Email au format html compatibles avec la plupart des messageries
La fin des prises de tête avec les email html ! Petite découverte intéressante sur CampaignMonitor. 30 gabarits d’email html plutôt réussis et compatible avec un grand nombre d’outils de messagerie. Parmi lequels Yahoo, Hotmail, Gmail et Outlook. Les templates sont disponibles en téléchargement gratuit à cette adresse : http://www.campaignmonitor.com/templates/
checkbox dans l’admin generator de symfony
Lorsque l’on a un champ de type entier dans notre modèle (exemple : champ publié pour une actualité), la champ par défaut de l’admin-generator est un input type text classique, alors qu’un checkbox serait plus approprié.
Pour transformer en checkbox, il suffit de mettre dans le fichier generator.yml le type à « checkbox tag » ainsi :
generator:
class: sfPropelAdminGenerator
param:
model_class: Actualite
theme: default
edit:
fields:
publie: { type: checkbox_tag }
Le problème, c’est que si la valeur par défaut de « publié » dans mon modèle vaut 1, la modification de la checkbox ne sera pas prise en compte lors de l’enregistrement. Pourquoi ?
Parce qu’un checkbox non coché n’a pas la valeur de 0 mais de null. Or, dans la base de données, le null est interdit pour ce champ, c’est donc la valeur par défaut (1) qui est mise à la place.
Il faut donc qu’on force la valeur à 0 quand la case n’est pas cochée.
Pour cela, dans monapp/modules/actualites/actions/actions.class.php, il faut ajouter :
//redéfinition de la fonction d'update de la classe parente
protected function updateActualiteFromRequest()
{
//publié vaut 1 ou null
$publie = $this->getRequestParameter('publie');
if (isset($publie))
{ //s'il vaut 1
$this->actualite->setPublie(1);
}else{
//s'il vaut null, on force 0
$this->actualite->setPublie(0);
}
// Appel de la fonction parente pour gérer le reste de l'update
parent::updateActualiteFromRequest();
}




