core

Installer Drush Site Upgrade

Permet de migrer un drupal 6 vers un drupal7, un drupal 7 vers 8.

Source: https://www.drupal.org/project/drush_sup

cd ~
drush dl drush_sup

Mis en /home/user/.drush/drush_sup

Avant l'upgrade:

Def db_url (alias du site de destination). Sinon les tables sont dropées.

Attention si Features ou use bd externe.

 

Migrer un drupal 6 vers drupal 7 avec drush

Source: https://www.drupal.org/node/570162 et pour CCK https://www.drupal.org/node/1144136

1. regarder les soucis, se documenter après un simple  drush @dru6 sup

2. migrer le core seul (sans cck, date ou tout module optionnel du core qui a été intégré dans la vers de destination) avec
drush @dru6 sup @dru7 --preferred=entityreference,module2

3. pour cck, activer les modules voulus et migrer champs par champs. Annuler une migation de champs efface les tables.
sudo @dru7 en cck content_migrate  puis aller à admin/structure/content_migrate

4. Views a beaucoup changé. XMLSitemap aussi.

Ne parle pas de migration de thèmes et modules de drupal 6 à drupal 7 ->  https://www.drupal.org/node/948216
Ni de la migration de ses propres modules -> https://www.drupal.org/update/modules

View 3.8 - node selon profondeur du livre (depth), ex de filtre exposé

Avec Ex Views 7.x-3.8, Book (du core).

But: créer une page qui permet de choisir des contenus selon la profondeur dans un livre (type de contenu book).
On souhaite aussi trouver les contenus "orphelins" (ie contenu non intégré dans un livre).

Comme il y beaucoup de contenu, on va donner la possibilité de filtrer à l'utilisation (exposer dans le vocabulaire drupal, dans la partie filtre Filter criteria) sur le statut de la publication, la langue du contenu, et le type de contenu (page, article, book...).

Editions ixe

Je récupère un site instable drupal 6.31 qui tourne sur un PHP 5.2.17.
L'update n'a pas été lancé, les logs sont inutilisables car plein d'erreurs. C'est sale angry (base de donnée en prod corrompue).

L'hébergeur avait bloqué les emails pour cause de spam et de trops d'erreurs (bal inexistantes ?). Il faudra probablement tester ces emails séparemment et mettre à jour la table concernée (et vérifier qu'elle recoit bien les emails d'OVH).

Cf le résultat à http://www.editions-ixe.fr
Voir aussi ce module de sécurité pour drupal 6, facile à utiliser: Module security_review
http://drupal.stackexchange.com/questions/6677/how-to-programmatically-s...

Patcher drupal (patch est une commande linux) SANS Git

 

  1. aller dans le bon rep (si core drupal: root mais si pour un module, aller dans le module concerné (cd)
  2. git apply --index path/file.patch
    patch -p1 < path/file.patch

Ou copier le patch dans le meme répertoire que le fichier à patcher, etre dans ce rep (cd)   patch -b < file.patch
avec -b patch crée une sauvegarde du fichier, avec un .orig

reverse patch

patch -p1 -R < path/file.patch    ou    git apply -R path/file.patch

Désactiver le cache pour un seul noeud

On a un id de noeud, et on veux désactiver le cache pour ce node seul.

Solution: créer un module avec (remplacer l'exemple "2" par l'ID voulu):

Résultat de la recherche avec les modes d'affichage (view modes)

Ce qu'on modifie dans admin/structure/types/manage/article/display/search_result ne fonctionne pas tant qu'on ne surcharge (ou override) pas search-result.tpl.php

Ex de code qui affiche les champs du mode d'affichage

  • les variables et les bonnes classes CSS, et qui
  • permet d'utiliser les champs paramétrés dans le mode d'affichage "Résultat de recherche"
    (dans le GERER l'AFFICHAGE des types de contenu).

Notes sur les variables ($classes $snippet $info ..) et tableaux de variables ($classes_array $info_split $title_prefix et $title_suffix $title_attributes_array $content_attributes_array ...) qui proviennent des commentaires de search-result.tpl.php de drupal 7.

Thémer selon le type de contenu

Ex d'une fonction de thème preprocess_node et de la surcharge de 2 templates (node--news--search-result.tpl.php et search-result.tpl.php) pour thémer le résulat de la recherche d'un type de contenu nommé news.

module core RSS

enlightened Ne pas confondre avec aggregator (du core, désactivé par défaut) qui lui, permet d'afficher sur son drupal des flux externes RSS.

Ou comment cacher du contenu dans ses flux RSS (home, par type de contenu, ou du vocabulaire de la taxonomie...) via les modes d'affichage de drupal 7 (admin/structure/abc/contenuàcacher/display/rss).

Liens vers quelques modules externes liés (par ex: revisions_rss peut-etre utile à tester).

Historique du Module entity translation et drupal 7

Traduire l'interface (module locale du core): ce sont des chaines (strings) passées via la fonction t().

La traduction de contenu du core (Content translation) duplique les nodes.
Alors que Entity translation garde un seul node, mais maintient de multiples trad de ses champs (body, title...).

Dans le doute (pour SEO plus efficace) choisir le 2nd modèle (avec le module externe "entity translation" et title mais sans  "Content translation" du core).

Module devel pour drupal 7

Pages

S'abonner à RSS - core