theme

Template suggestion qui ne fonctionne pas

Bonjour à tous,

Je me fait la main en ce moment sur Drupal 7 pour voir un peu ce qu'il a dans le ventre.
Je rencontre mon premier problème pour faire une mise en page personnalisée :

J'ai copié le thème de base (Bartik) dans sites/all/themes.
Si je modifie par exemple le contenu de node.tpl.php, les modifications sont bien prises en compte.
Par contre si je copie ce fichier et le renomme node-[type de contenu].tpl.php, ça ne fonctionne pas.

Idem pour le page.tpl.php, où là j'ai ajouté ce snippet trouvé dans la doc (sensée être pour D6 et D7)

theme par utilisateur?

bonjour à tous :)

j'ai afit des recherhes mais sans trouver de résultat satisfaisant :(

je cherche un moyen de pemettre à un utilisateur de choisir son thème

j'ai valider la permission " choisir un thème différent" pour les utilisateurs

mais cela ne leu rajouite pas l'option

quelqun peut m'aiguiller?

merci par avance :)

Personnalisation des liens ($links) d'un contenu blog

Bonjour à tous,

je suis en train d'intégrer un thème sur Drupal6 et j'ai un souci. Je cherche à personnaliser les liens qui se situent sous un billet de blog (qui sont stockés sous la variable $links).

Par exemple j'aimerais afficher le nombre de commentaires pour mener à la liste des commentaires de l'article, le texte "répondre" au lieu du texte "ajouter un commentaire", j'aimerais également supprimer le texte "blog de utilisateur". Bref comment personnaliser ses liens.

Par avance merci à ceux qui pourront m'aider ou prendront le temps de s'arrêter sur ce post.

Au secours : Qui a vu les regions de mon theme?

Bonjour,

Dans l'interface d'administration des blocks, je constate avec étonnement que toutes les zones que j'ai définies dans mon thème ont soudainement disparu et que les blocks ont changé de zone .

Je me retrouve dans l'interface d'administration des blocks comme si j'étais dans l'onglet du theme garland, mais je suis bien dans l'onglet destiné à mon thème ...

Je n'ai pas changé ces fichiers depuis pas mal de temps.
Encore plus étonnant, en front office, l'affichage est correct.

Je n'ose pas sauver de peur de tout chambouler...

Par Artusamak
Julien Dubois

Créer des templates (fichier.tpl.php) pour themer vos modules

Lors de la création de vos modules vous pouvez être amenés à mettre en forme votre contenu pour garder une approche cohérence avec la dissociation fond / forme. Il est donc nécessaire de donner la possibilité au themer de pouvoir modifier la mise en forme du contenu que vous aller afficher.
Afin de rendre une telle action possible, vous allez devoir déclarer au sein de votre module un hook_theme, qui va déclarer les éléments qui pourront être themés via vos templates.
Le hook_theme est simplement constitué d’un tableau d’éléments skinnables avec pour chaque entrée une clé « template » qui correspond au nom du fichier .tpl.php utilisé pour le theme et une clé « arguments » correspondant à un tableau de paramètres à passer à la fonction de theme().

function hook_theme() {
  return array(
    'my_themeable_call' => array(
      'template' => 'gabarit.tpl.php',
      'arguments' => array("param1" => NULL),
    ),
  );
}

A noter : Le « .tpl.php » est facultatif car toujours suggéré par le moteur de template et il est recommandé d’utiliser le même nom comme clé et comme nom de fichier pour le template. (Les noms sont ici différents pour vous permettre de décortiquer la mécanique). [Merci Cyril pour la remarque]

Voilà votre fonction de thème déclarée, il ne reste plus qu’à l’utiliser.
Prenons l’exemple d’un bloc, vous souhaitez utiliser votre fonction de thème dans son contenu, il vous suffit d’utiliser dans le contenu du bloc (cf hook_block) votre fonction de theme : $bloc['content'] = theme(‘my_themeable_call’, $param1);
De cette façon vous enverrez à votre fichier de template la variable $param1 (pouvant contenir tout type de données). Si vous omettez de passer un argument, la valeur par défaut déclarée dans le hook_theme sera utilisée (dans notre exemple si j’omets $param1, sa valeur sera NULL).

Plaçons-nous maintenant dans notre fichier de template gabarit.tpl.php, c’est le fichier que votre themer pourra surcharger en le copiant collant dans le dossier de son thème.
Les variables à disposition sont celles que vous avez passé en paramètres lors de l’appel de la fonction de thème (ici $param1) et les éventuelles variables ajoutées par les fonctions de preprocess. (La signature de la fonction est template_preprocess_my_themeable_call, surchargeable par THEME_preprocess_my_themeable_call).

De cette façon vous pouvez donc créer vos propres fichiers de theming lors de la publication de vos modules afin de vous faire adorer par les themers !

tag

Pages