Views 3 : Afficher une liste de node sans y avoir accès

Vous souhaitez afficher une liste de node même si l'utilisateur n'y a pas accès (par exemple pour lister des groupes privés sous Organic Groups), voilà la solution :

Dans votre vue, partie "Advanced", "Other", "Query settings", cochez "Disable SQL rewriting" dans les paramètres.

Open Atrium 2 : PHP Fatal Error ou Error: require_once

Si vous avez installé OpenAtrium 2 et que vous obtenez soit l'erreur :

Error: require_once(): Failed opening required '/oa_core.profile.inc'

ou

mod_fcgid: stderr: PHP Fatal error: Call to undefined function panels_mini_block_view()

vérifiez bien que tous les fichiers ont bien été ajoutés sur le serveur, surtout si vous passez par Git. Pour cela, il faut supprimer le fichier .gitignore du dossier profiles/openatrium/

Titre dynamique avec Drupal : title callback et title arguments

Sous Drupal, pour générer une entreée de menu avec un titre statique, le code se présente ainsi (hook_menu) :

 

function monmodule_menu(){
    $items = array();

    $items['ma-page/%'] = array(
        // la propriété title
        'title' => t('Mon titre statique'),
        // le reste des propriétés 
        'page callback' => 'monmodule_page',
        'page arguments' => array(1), 
        'type' => MENU_NORMAL ITEM,
    );
    return $items;
}

 

Changer un mot de passe sous Drupal avec ou sans Drush

Sous Drupal 7, voilà les 2 méthodes les plus simples pour changer un mot de passe :

Avec Drush

# Générère un lien temporaire et ouvre le navigateur pour changer le mot de passe

drush uli

# Changer le password pour n'importe quel utilisateur

drush upwd nom_utilisateur --password="new_password"

 

Sans Drush

Sans Drush, c'est un peu plus compliqué, car chaque site à son propre hash, il faut donc faire comme suit :

cd <drupal root directory>

php scripts/password-hash.sh 'new_password'

Il vous suffit de copier le résultat précédent, et de changer le mot de passe en base de données

mysql -u<user> -p<pass> <drupal_db>

update users set pass='mot_de_pass_copie_avant' where name='nom_utilisateur';

 

Pour Drupal 6, c'est assez simple :

Tutorial : Vue Calendrier avec Drupal 7 et Views 3, gestion des événements

Cet article est une mise à jour de l'article Vue Calendrier avec Drupal - Gestion d'évènements qui était pour Drupal 6.


Gérer des contenus événements et un agenda en vue calendrier avec Drupal


1ère étape, intaller les modules Views, Date, Calendar, Calendar Tooltips, Ctools et Beautytips
Via drush :

drush dl -y views date calendar calendar_tooltips ctools beautytips



Ensuite, les activer
Via drush :

Installer la Crontab sous Drupal

Sur tous les sites Drupal, il est nécessaire de lancer le cron pour indexer les données (Recherche classique, Apache Solr), envoyer les mails si vous passez par queue_mail, ... Le faire à la mano n'étant pas vraiment réalisable sur un site de forte affluence, voici comment le faire de façon automatique.

Pour ce faire, vous devez ajouter la ligne suivante dans la crontab :

Version wget

* 1 * * * /usr/bin/wget -O -q -t 1 http://www.example.com/cron.php?cron_key=[KEY]

Version lynx

* 1 * * * /usr/bin/lynx -source http://www.example.com/cron.php?cron_key=[KEY]

Version curl

* 1 * * * curl --silent --compressed http://www.example.com/cron.php?cron_key=[KEY]

La [KEY] s'obtient en allant sur la page Rapports => Tableau de bords de l'administration

http://www.example.com/admin/reports/status

 

Afficher le contenu des BLOB avec MySQL et phpMyAdmin : CAST

Pour afficher le contenu d'un BLOB, voici 2 solutions :

En SQL :

SELECT CAST(mon_champ as CHAR(10000))  FROM matable;

 

Via phpMyAdmin :

Juste en dessus des résultats, vous avez un lien "Options". Cliquez dessus, puis "Texte complet" et "Montrer le contenu BLOB"

Tutoriel Symfony2 et OVH : installation et configuration sur serveur mutualisé

Pour installer Symfony 2 sur un serveur OVH mutualisé, il suffit de suivre ce tutoriel :

1) créez-vous un dossier "monsite" à la racine du serveur OVH
2) copier dans ce dossier tous les fichiers de Symfony2 : vous devrez donc avoir comme chemin /monsite/web
3) dans /monsite, ajouter un fichier .htaccess contenant les lignes suivantes :

Symfony2 et SEO : tutorial

Voici un petit tutorial pour mettre en place le SEO dans Symfony 2 via le bundle SeoBundle.

INSTALLATION


# installer seo-bundle via Composer

php composer.phar require sonata-project/seo-bundle



La version va être demandée. A l'heure actuelle, c'est la version 1.1.1
Pour connaitre la dernière version : https://github.com/sonata-project/SonataSeoBundle/tags

# ajouter le bundle SeoBundle au kernel (fichier AppKernel.php)

public function registerbundles()
 {
     return array(
         ...
         new Sonata\SeoBundle\SonataSeoBundle(),
     );
 }

 

CONFIGURATION


# pour utiliser SeoBundle, ajouter ceci à votre fichier de configuration app/config/config.yml

Symfony2 : traduire vos fichiers Javascript / translate Javascript files

Sous Symfony2, il est possible de traduire les fichiers Javascript via un bundle. Ce bundle permet en effet d'exposer les messages des fichiers de traduction. Voici un tutoriel pour le faire.


#Si vous n'avez pas composer d'installé, rappel de la commande

curl -s getcomposer.org/installer | php -d detect_unicode=Off



# Installer le bundle via composer

php composer.phar require willdurand/expose-translation-bundle



Normalement, un message va vous demander la version à installer, actuellement on c'est la 0.2

# ajouter le bundle dans le fichier app/AppKernel.php