Logiciels libres, linux, le web...

Aller au contenu | Aller au menu | Aller à la recherche

Tag - script

Fil des billets

mardi, avril 27 2010

Drupal - Afficher des images pour les éléments de menu.

Pour créer un menu avec Drupal qui permet d'afficher des images au lieu du texte habituel, il y a plusieurs solutions. J'ai choisi d'en présenter une dans ce billet. J'ai trouvé cette technique ici.
Cette technique consiste à modifier la fonction theme_menu_item_link($link). Il suffit d'ajouter une condition si le champ description de l'élément du menu contient une image : // If menu item is an image
if(strpos($link'localized_options''attributes''title', '<img') === 0) {
// Allow HTML if the menu description is an image tag:
$link'localized_options''html' = TRUE;
// exchange description with title
$tmp = $link'localized_options''attributes''title';
$link'localized_options''attributes''title' = $link'title';
$link'title' = $tmp;
}
Il suffit d'ajouter ce bout de code à votre fichier template.php au sein de la fonction theme_menu_item_link($link).

Il faut ensuite modifier le format d'entrée que vous utilisez pour les menus (Par défaut c'est "Filtered HTML") afin d'y ajouter la balise "<img>" dans les balises autorisés.
Pour mettre une image à la place de l'intitulé du menu il faut ensuite modifier l'entrée de menu pour mettre l'adresse de l'image dans le champ description, le champ titre servira pour renseigner l'attribut "title" du lien hypertexte.

mardi, février 23 2010

Gérer le chargement d'images dans drupal avec IMCE et tinymce

Cet article a pour but de présentent une méthode simple pour mettre en place le chargement (upload) d'images dans drupal 6 à l'aide de imce et tinymce. Imce peut fonctionner avec d'autres éditeurs tels que fckeditor. Je ne présenterais dans cet article qu'une méthode pour l'utiliser avec tinnymce, mais cela n'est pas plus difficile avec d'autres éditeurs.

Modules nécessaires


Afin de nous permettre de gérer le chargement des images directement dans tinymce nous allons utiliser imce. Nous aurons besoins d'installer 3 modules :


Pour compléter l'installation de wysiwyg nous allons télécharger la dernière version de tinymce et l'extraire dans le répertoire "sites/default/libraries".

Installation des modules

Installez ensuite les trois modules dans votre installation de dupal.
Une fois l'installation des modules terminé, nous allons configurer le module imce afin d'attribuer des permissions aux "utilisateurs identifiés" (rôle créé par drupal). Nous allons conserver les paramètres par défaut de IMCE. Il existe un profil appelé User-1 que nous allons attribuer au rôle "utilisateur identifié" (admin/settings/imce).
Attribution d'un profil à un rôle dans IMCE Si vous utilisez imce pour un site en production, vous devez bien sûr affiner les rôles en conséquence. Si vous utilisez les modules Google Analytics ou Secure pages vous devez gérer leur configuration en ajoutant le chemin imce* à la liste des exceptions.
Ensuite nous allons configurer le module wysiwyg (admin/settings/wysiwyg). Nous allons attribuer au format d'entrée "Full HTML" l'éditeur "Tinymce". Après avoir enregistré ce paramètre nous allons modifier la configuration de tinymce (lien "modifier"). Dans la section "Boutons et Plugins" cochez toutes les options que vous voulez activer ainsi que le plugin "IMCE". Cela permettra d'intégrer imce lors de l'insertion d'images ou d'autres medias. Accès à imce à partir de l'outil "image" de tinymce Chargement de fichier avec imce
Voici comment intégrer facilement la gestion du chargement des images dans tinymce grâce au module imce et imce_wysiwyg dans drupal.

lundi, mars 16 2009

Script bash pour gérer des services sous linux

Pour faire développement web sur un eeepc, comme sur n'importe quel ordinateur, il faut disposer d'un serveur web. Et éventuellement, mais c'est quand même très pratique, d'un serveur de base de données.

Le eeepc est facilement transportable, donc c'est bien de conserver un maximum de batterie. Surtout si on est pas du genre à faire que du développement web dessus.

Après avoir supprimé les liens symboliques des services pour qu'ils ne démarrent pas au démarrage. J'ai créé un petit script bash qui permet de démarrer ou de stopper un service ou groupe de services :

# Manage services (Myql and lighttpd)
#
#
# Services to manage (space separated) :
services_name="mysql lighttpd"

SELF=$(cd $(dirname $0); pwd -P)/$(basename $0)
#
# service funtion
# params : 1 -> action ( start | stop | status ... )
# 2 -> service name (lighttpd | mysql | ...)
#
service() {
    action=$1
    service=$2
    /etc/init.d/$service $action }

#
# main()
#
case "${1:-''}" in
    'start')
        for serv_name in $services_name
do
        service start $serv_name; done ;;
    'stop')
        for serv_name in $services_name do
        service stop $serv_name; done ;;
    'status')
        for serv_name in $services_name do
        echo "Status : $serv_name" service status $serv_name; done ;;
    *) echo "Usage: $SELF start|stop|status (As root)" exit 1 ;;
esac

Il suffit de remplacer les services dans la liste en haut du script. test.