Tagvariables

[Drupal 7.x] Ajouter de nouvelles variables à un thème qui peuvent être exploitées dans page.tpl.php

Objectif: ajouter dans template.php une variable footer_message pour afficher une phrase dont l’intitulé change si l’internaute est loggué ou pas.

Déclarer la nouvelle variable footer_message

Un petit kpr($variables); pour vérifier en front que la variable a été créée :

Dans le code HTML (page.tpl.php) :

Ajouter la condition if($variables[‘logged_in’])

Ajouter le nom de l’utilisateur loggué :

[Drupal 7.x] Les preprocess functions dans template.php

Initialiser un fichier template.php à la racine de votre thème :

Afficher les hooks disponibles dans la page

Afficher l’ordre dans lequel les hooks sont chargés dans la page

Petite info supplémentaire par rapport à la fonction précédente :

Seulement quand le hook page est chargé (1x par chargement de page) :

On passe le hook page dans le nom de la fonction. Plus besoin de le passer en argument.

Voir quelles variables sont disponibles

Changer la valeur de la variable « site_solgan » dans une preprocess function

Un slogan qui s’affiche en random

On crée un tableau $slogans qu’on remplit avec différents slogans qu’on fera s’afficher de manière choisie au hasard et alternée :

Des locales avec la fonction t()

Utiliser la fonction t() pour mettre en place du texte traduisible en plusieurs langues :

[PHP] Les fondamentaux pour développeurs front-end

Data structures

Variables

  • Prefixed by $
  • Alphanumeric characters and _

Arrays

  • Lists that map values to keys
  • Vector array: simple list of values
    array('stingray', 'telescope');
    array(0, 1);
  • Hashtable array: associative list
    array('red' => 'cherries, 'green' => 'apple');

Si nous voulons afficher le 1er élément de notre tableau :

…nous affichera « stingray ».

…nous affichera « apple ».

ou:

ou:

…nous afficheront tous « Bonjour le monde! ».

Fonction print_r() pour afficher l’ensemble des valeurs contenues dans un tableau Array

…nous affichera Array ( [0] => tab1 [1] => tab2 )

Objects

  • Properties
  • Methods

Object properties

drupal7-object_properties

…nous affichera « blog/1 ».

Les constantes

Les constantes sont des valeurs qui, une fois qu’elles ont été définies dans le code, ne peuvent plus être modifiées. C’est intéressant pour définir des accès à une BDD ou les infos sont les mêmes sur toutes les pages.

…nous affichera « I like PHP. ».

Si on essaye de redéfinir la valeur de la constante:

…on obtient une erreur ( ! ) Parse error: syntax error, unexpected ‘=’ in C:\wamp64\www\test\index.php on line 10
car une constante ne peut pas être redéfinie.

Les opérateurs

L’opérateur de concaténation

L’opérateur point ..

ou:

On obtient : hello world<br />Bonjour le monde. A noter: l’utilisation de guillemets "" par rapport aux simples quotes '' permet une interprétation des variables sans concaténation.

On obtient : « 12 ».

On ne peut pas afficher un echo d’un tableau. Pour cela, il faut utiliser print_r.

…nous affiche : « Array ( [0] => 1 [1] => 2 ) Array ( [0] => 3 [1] => 4 ) ».

Les opérateurs arithmétiques

Vont permettre d’effectuer des calculs sur les valeurs de différentes variables. Ils sont au nombre de 5 :

  • +
  • *
  • /
  • %

On obtient : « 1 ». La représentation de toto en valeur numérique est « 0 ».

On obtient : « 1 ».

On obtient : « 7 ».

On obtient : « 7 ».

var_dump()

Renvoie une type de variable et son contenu.

On obtient :

C:\wamp64\www\test\index.php:6:
array (size=3)
0 => int 1
1 => int 2
2 => int 5

On a conservé les valeurs de rang définies dans le premier tableau et on a ajouté la nouvelle valeur de rang définie dans le second tableau.

C:\wamp64\www\test\index.php:6:
array (size=3)
0 => int 3
1 => int 4
2 => int 5

On obtient le tableau d’origine puisqu’il n’y a aucune valeur à compléter dans le deuxième tableau.

Les opérateurs d’affectation

vont permettre d’affecter une valeu à une variable ou de redéfinir la valeur d’une variable.

ou:

va afficher : « 1 / 2 ».

va afficher : « 1 / 11 ».

va afficher : « 1 / 1toto ».

Post-incrémentation et pré-incrémentation

Incrémentation/décrémentation d’une unité est très utilisé en PHP, en particulier pour la gestion des boucles.

Post-incrémentation

va afficher : « 1 / 2 ».

Pré-incrémentation)

va générer : « 2
2″.

Les opérateurs de comparaison et les conditions

On obtient : « a est égal à b ».

On obtient aussi : « a est égal à b ». PHP va essayer de rendre les types compatibles et de faire la comparaison sur des types compatibles.

On obtient aussi : « a est égal à b » car pour PHP, ‘toto’ est égal à 0.

Comparer non seulement la valeur des variables mais aussi leurs types

Rajouter un troisième signe = :

On obtient : « a est différent de b ».

On obtient : « a est différent de b ».

on obtient : « a est inférieur à b ».

On obtient: « a est supérieur ou égal à b ».

on obtient: « a est différent de b ».

La non égalité avec !=

Tester la non égalité sans prendre en compte le type :

nous donne: « a est égal à b »

Tester la non égalité en prenant en compte le type. On rajoute un caractère = :

nous donne: « a est différent de b »

Comparer des nombres décimaux avec la fonction bccomp()

nous donne: « a est égal b ».

nous donne: « a et b sont différents ».

nous donne: « a est égal b ».

Les opérateurs logiques ou booléens

Un booléen est un type particulier en informatique, dont la valeur ne peut être que vrai ou faux.

nous affiche: « Je pense que Dieu existe ».

nous affiche: « Je pense que Dieu n’existe pas ».

L’opérateur de comparaison et (&& et and)

nous affiche: « Condition non vérifiée ».

nous affiche: « Condition vérifiée ».

nous affiche: « Condition non vérifiée ». Pour que une expression et une autre soient vérifiées, il faut que les deux expressions aient un équivalent booléen égal à vrai.

nous affiche: « Condition vérifiée », puisque l’équivalent d’une chaîne de caractères non vide est vrai et que l’équivalent booléen d’un nombre non nul est vrai.

nous affiche: « Condition non vérifiée », puisque l’équivalent booléen d’un nombre nul est false.

nous affiche: « Condition vérifiée ».

Attention: && et and ne donnent pas toujours les mêmes résultats:

on obtient: « Condition non vérifiée ».

on obtient: « Condition vérifiée ».

Le and correspondrait à une notation ($c = $a) and $b.

Le &&& correspondrait à une notation $c = ($a && $b).

L’opérateur de comparaison ou (|| et or)

Attention au cas particulier xor qui est une expression exclusive : il faut uniquement que l’un des booléens soit vrai.

On obtient: « Condition vérifiée ».

L’opérateur de négation (!)

Va renvoyer l’inverse de la valeur donné (not false va donner true).

Va donner: « Condition vérifiée ».

Conditionals

if/else

on obtient: « a est égal à b ».

Variations on a theme: « colon » notation

drupal7-colon_notation

Si la valeur de $a est égale à la valeur de $b, afficher la mention « It’s equal »; autrement, ne rien imprimer.

L’intérêt de cette syntaxe réside dans le fait qu’on peut y insérer du markup HTML.

Switch statement

Multiple statements could match. That’s why we use break;.

Loops

While

Commence à 0. Va looper jusqu’à atteindre 10, puis s’arrêtera. « She loves you » sera affiché 10 fois de suite.

for

Pareil que while. Commence à 0. Va looper jusqu’à atteindre 10, puis s’arrêtera. « She loves you » sera affiché 10 fois de suite.

foreach

…nous affichera :

stingraytelescope

…nous affichera :

stingray
telescope

Functions

  • Encapsulate frequently repeated tasks
  • Accept parameters as input ($a et $b dans notre exemple)
  • Give a return value as output ($c)

…nous affiche « 10 ».

…nous affiche « 4 ».

Pass parameters by reference

Un « & » avant le paramètre « $a »:

…nous affiche toujours « 10 ».

…nous affiche « 5 ».

Précisions sur l’affichage des chaînes de caractères

Utiliser des anti-slashes \ pour que les double-quotes (guillemets) " soient interprêtées correctement côté client:

ou:

…nous afficheront « La langue affichée est stockée dans la variable $affiche ».

…nous afficheront « La langue affichée est stockée dans la variable fr » (ou fr est la valeur stockée dans la variable $affiche.

Syntaxe rdoc

A noter:

  • on utilise EOT dans notre exemple, mais on peut mettre n’importe quoi d’autre pourvu que la chaîne de caractères ouvrante et fermante correspondent
  • j’ai l’impression que cette méthode ne fonctionne pas si le contenu rdocké se trouve imbriqué dans le même bout de code PHP (<?php ... ?>).

[Drupal 7.x] Les variables récurrentes dans les templates de page

Voir toutes les variables exploitables dans notre page

Via le code source et la méthode kpr() du module Devel:

Via la documentation officielle – page.tpl.php.

Protégé : [Change 3.x] Quelques notes sur le module Skin (habillage)

Cette publication est protégée par un mot de passe. Pour la voir, veuillez saisir votre mot de passe ci-dessous :

© 2020 devfrontend.info

Theme by Anders NorénUp ↑