Closed exibit closed 7 years ago
OK, j'ai testé, merci.
Deux questions :
$metatags['title']
je peux facilement déduire qu'il s'agit du contenu html concernant le metatag "title".
Ensuite, comme on le définit en lui donnant des valeurs par défaut, tu ne dois modifier que ce dont tu as besoin. C'est sûr que niveau SEO c'est important que le title soit différent pour chaque URL, mais par exemple la meta og:image n"a pas beaucoup d'enjeu et on peut utiliser une meme image pour plusieurs pages. Donc dans ce cas, je peux choisir de ne pas la modifier d'une url à l'autre et de conserver la valeur par défaut.ah, tu dois sans doute déclarer global $metatags à l'intérieur de la
function de callback du routeur.
global $metatags;
suffit, au début de la fonction, en tout cas avant de
l'utiliser.
Après, comme je disais, c'est comment moi je ferais. si tu as mieux, shoot.
2017-05-31 10:27 GMT+02:00 Benoît Vrins notifications@github.com:
- OK, j'ai fait comme ça
- OK pour l'aspect lisibilité je comprends, maintenant on ajoute 10 lignes en plus dans le code par rapport à ma solution initiale. D'autant que 'il ne prend pas la valeur par défaut si je ne redéclare pas la variable localement. J'imagine que ce n'est pas normal : https://github.com/pixeline/Visionary-website/blob/ convert-uikit/src/index.php https://github.com/pixeline/Visionary-website/blob/convert-uikit/src/index.php
— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/pixeline/Visionary-website/issues/19#issuecomment-305121726, or mute the thread https://github.com/notifications/unsubscribe-auth/AAYAx0oK-UaIGGChYQDcy_q07BpRA0o3ks5r_SR4gaJpZM4NqDk0 .
global $metatags; fait planter la page :-(
Parse error: parse error, expecting ','' or
';'' in /Users/benoit/Projets/Visionary/dev/Visionary-website/build/index.php on line 43
Ligne 43 : https://github.com/pixeline/Visionary-website/blob/convert-uikit/src/index.php
non tu dois, dans la fonction de callback, dire que tu veux la variable du scope global
global $metatags;
et puis seulement après modifier la clef:
$metatags['title'] = 'foo bar';
N'hésite pas à voir la doc de php
Attention aussi à mettre des accents autour de tes clefs
$metatags['url']
et non $metatags[url]
J'avais fait le test aussi et j'avais vu la doc. J'ai mis à jour le fichier comme j'ai compris que je devais le faire mais j'ai toujours une erreur de parsing. Celle-ci s'est juste déplacée en ligne 6 : https://github.com/pixeline/Visionary-website/blob/convert-uikit/src/index.php
voilà, j'ai committé la correction sur ta branche. Tu y étais presque, il fallait simplement spécifier dans chaque fonction "controller" que $metatags renvoie à la variable globale via une ligne.
global $metatags;
Puis envoyer la variable dans le scope de la template, ce qui donne:
function($f3) {
global $metatags; // on signale que l'on veut utiliser la variable globale
$metatags['title'] = 'Installer l\'extension pour Chrome'; // on overwrite une valeur
$f3->set('current_url', 'download');
$f3->set('title', $metatags['title']); // Autant profiter de la variable pour ne pas se répéter :)
$f3->set('content', 'page.download.php');
$f3->set('metatags', $metatags ); // création d'une variable $metatags accessible à la View
echo View::instance()->render('layout.htm');
}
J'ai aussi fais une mise à jour automatique de gulp, donc il vaut mieux que tu l'appliques aussi après avoir pullé.
npm install --save-dev
Voici comment le faire en f3.
Commences par définir un tableau contenant les différents métatags par défaut (pour la home). Par exemple:
ensuite dans index.php (le "router") tu modifies les clefs en fonction de ce que tu veux changer pour chaque url. Par exemple:
Et donc, dans la template, grâce à la ligne 15 ci-dessus, tu as accès au tableau $metatags contenant le contenu des balises meta:
Voilà!