Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 16-01-2009 19:08:58

Ultimata
Membre
Date d'inscription: 15-01-2009
Messages: 31

[Résolu] <Title> dynamique !!

Bonjour,

J'ai un pti problème relatif au système MVC (que je ne maîtrise pas encore à fond).


Mon but serais de pouvoir avoir en <title> (qui lui, pointe sur le  $this->view->title) une donnée contenu dans ma table sql (qui a été sélectionner par id).


Donc j'ai essayé au niveau du contrôleur :

Code:

        $id = $this->_getParam('id'); // on récupère l'id en GET
        $actu = new Actu();
        $this->view->actu = $actu->getActuById($id);
         $this->view->title = $this->actu->news_titre;              // << Mise du résultat "news_titre" dans la variable du title

Mais celà me donne une erreur :

Code:

Notice: Undefined property: ActuController::$actu in C:\wamp\www\dev\application\controllers\ActuController.php on line 39

Notice: Trying to get property of non-object in C:\wamp\www\dev\application\controllers\ActuController.php on line 39

Ce que je peux faire, c'est mettre le title dans ma page phtml, mais le problème c'est que dans mon layout.phtml le title est déjà déclaré, donc cela ne fonctionne pas et même si sa fonctionnerais sa serais pas W3C.


Solution existante ? Oui je suppose ! big_smile
Merci à tous d'avoir pris le temps de lire mon post

Dernière modification par Mr.MoOx (19-01-2009 09:46:47)

Hors ligne

 

#2 16-01-2009 19:21:45

Delprog
Administrateur
Date d'inscription: 29-09-2008
Messages: 670

Re: [Résolu] <Title> dynamique !!

Salut,

Code:

$this->view->actu = $actu->getActuById($id);

Ce serait donc :

Code:

$this->view->title = $this->view->actu->news_titre;

et non

Code:

$this->view->title = $this->actu->news_titre;

Après concernant les balises title, meta et compagnie, je me permet d'être fénéant et de te coller une explication que j'avais déjà donné à une autre personne :

Sinon, concernant le chargement des ressources (css/js), les balises title et meta, et le doctype, une bonne méthode serait d'utiliser les aides de vue (helpers) proposées par Zend.

Il suffit d'afficher dans ton layout :

Code:

<head>
    <?php 
    echo $this->headTitle();        
    echo $this->headMeta();
    echo $this->headLink();
    echo $this->headScript();        
    ?>
</head>

et ensuite de paramétrer les contenus communs de ces "placeholder" dans ton layout, et les autres, qui sont particuliers à chaque page, dans les vues directement.

Ex:

En début de Layout tu pourrais avoir :

Code:

echo '<?xml version="1.0" encoding="UTF-8" ?>';
echo $this->doctype();

// Ajout des balises Meta communes
$this->headMeta()->appendHttpEquiv('Content-Type', 'text/html; charset=UTF-8')
                 ->appendHttpEquiv('Content-Language', 'fr-FR');

// ajout des css communes
$this->headLink()->appendStylesheet($this->baseUrl . '/styles/layout/layout.css')
                 ->appendStylesheet($this->baseUrl . '/styles/layout/header.css')
                 ->appendStylesheet($this->baseUrl . '/styles/layout/footer.css');

// ajout des scripts JS communs
$this->headScript()->appendFile($this->baseUrl . '/scripts/ajax/lib/prototype.js')
                   ->appendFile($this->baseUrl . '/scripts/ajax/effects/scriptaculous.js');

Et ensuite par exemple dans ta vue "contact.phtml" :

Code:

$this->headTitle($this->_('Mon site, contactez-nous'));

//$this->headMeta()->appendName('description', '');
//$this->headMeta()->appendName('keywords', '');

// configuration des css particulieres a utiliser
$this->headLink()->appendStylesheet($this->baseUrl . '/styles/index/contact.css');

De cette manière, tu indiques le titre à placer dans ton placeholder "headTitle()", tu ajoutes (Append) des balises meta "description" et "keywords" à afficher dans le placeholder "headMeta()", tu ajoutes des ressources css à charger dans le placeholder "headLink()" et enfin tu ajoutes des ressources javascript dans le placeholder "headScript()".

Et donc, tu ne configures dans tes vues, que les ressources nécessaires à ces dernières, et tu évites aussi de surcharger la page en ne chargeant pas toutes les ressources des autres pages (uniquement les ressources communes dans le layout).


*** Pour le doctype, tu peux ajouter dans ton bootstrap :

Code:

$doctypeHelper = new Zend_View_Helper_Doctype();
$doctypeHelper->doctype('XHTML1_STRICT');

puis ensuite au début de ton layout comme dans l'exemple précédent :

Code:

<?php echo $this->doctype() ?>

Si tu changes ton doctype, il changera donc pour toutes tes pages.

C'est un peu flou au début, mais tout ceci est très logique.

Encore une fois, je t'invites à lire la doc qui explique assez bien ces choses là :
http://framework.zend.com/manual/fr/zend.view.html

Toi tu aurais donc dans ta vue :

Code:

$this->headTitle($this->title);

A+ benjamin.

Dernière modification par Delprog (16-01-2009 19:23:48)


http://www.anonymation.com/ - anonymation - Studio de création.
http://code.anonymation.com/ - anonymation - blog - développement et architecture web

Hors ligne

 

#3 16-01-2009 19:40:05

Ultimata
Membre
Date d'inscription: 15-01-2009
Messages: 31

Re: [Résolu] <Title> dynamique !!

Très clair ! Problème réglé et merci 100x pour tes explications !!!!!!!!

smile

Hors ligne

 

#4 19-01-2009 09:40:07

nORKy
Membre
Date d'inscription: 06-03-2008
Messages: 1098

Re: [Résolu] <Title> dynamique !!

Je rajoute mon astuces.

J'ai un plugin 'viewSetup'. Entre autre, il s'occupe du titre :

dispatchLoopStartup :

Code:

    $view->JQuery()->enable();
    $view->headMeta()->appendHttpEquiv('Content-Type', 'text/html;charset=utf-8');
    $view->headLink()->appendStylesheet($view->baseCss('main'));
    $view->headScript()->appendFile($view->baseJs('menu'));
    $view->headTitle()->setSeparator(' - ');
    $view->headTitle('MON APP', 'PREPEND');

postDispatch :

Code:

 if (count($view->headTitle()->getValue()) == 0) {
      $view->headTitle($view->title);
    }

En gros, ca affiche dans title le titre de mon app.
Si dans la vue on place un paramètre 'title', il est concaténé avec '-'.
Globalement, on peut dire que ca représente un 'chemin' la pluspart du temps


----
Gruiiik !

Hors ligne

 

#5 19-01-2009 09:48:27

Delprog
Administrateur
Date d'inscription: 29-09-2008
Messages: 670

Re: [Résolu] <Title> dynamique !!

Salut,

J'avais quelque chose de similaire pour des appli dont le titre n'est pas primordiale.

Concernant des sites optimisés pour le référencement, j'ai abandonné ce système et j'affiche un titre par défaut paramétré dans un .ini (par ex.) dans le cas où il n'y a pas du tout de titre, mais je ne l'ajoute pas systématiquement, car les titres doivent être très précis et sont assez limités en nombre de caractères.

Bon après, il est vrai que le nom du site ou de la société et conseillé en tout début de titre de chaque page. Mais ça laisse libre le paramétrage du titre global.


A+ benjamin.


http://www.anonymation.com/ - anonymation - Studio de création.
http://code.anonymation.com/ - anonymation - blog - développement et architecture web

Hors ligne

 

#6 20-01-2009 17:45:52

Kaimite
Membre
Lieu: Marseille
Date d'inscription: 16-06-2008
Messages: 144
Site web

Re: [Résolu] <Title> dynamique !!

Delprog a écrit:

Salut,
Bon après, il est vrai que le nom du site ou de la société et conseillé en tout début de titre de chaque page. Mais ça laisse libre le paramétrage du titre global.

ça n'a pas grand chose à voir avec le ZF mais bon...

Il faut placer en début de la balise title les mots-clés des requêtes sur les quelles on souhaite se positionner.

Par exemple un titre :

"Renault Clio d'occasion - OccasCar2000" est plus intéressant que "OccasCar2000 - Renault Clio d'occasion".

Vous serez alors mieux positionné sur la requête "renault clio occasion"

Les moteurs de recherche, en tout cas Google, considèrent que les 1ers mots sont les plus importants donc je ne conseillerais pas de commencer la balise title par le nom de votre boite.

De toutes façons je pense qu'avec le temps une requête faite sur le nom de votre société affichera naturellement votre site en tête de liste.

Mais bon, le référencent naturel n'étant pas une science exacte je ne vais pas trop m'attarder dessus.

Cordialement,
Kaimite

Hors ligne

 

#7 20-01-2009 17:47:38

Ultimata
Membre
Date d'inscription: 15-01-2009
Messages: 31

Re: [Résolu] <Title> dynamique !!

En ayant des notions en référencement, je +1 la réponse de Kaimite :')

Hors ligne

 

#8 11-02-2009 16:31:59

Delprog
Administrateur
Date d'inscription: 29-09-2008
Messages: 670

Re: [Résolu] <Title> dynamique !!

Salut,

Les moteurs de recherche, en tout cas Google, considèrent que les 1ers mots sont les plus importants donc je ne conseillerais pas de commencer la balise title par le nom de votre boite.

Ce n'est pas tout à fait juste smile

Google recherche aussi une logique dans les zones chaudes.
La duplicité des titres sur chaque page est fortement déconseillée je suis d'accord et le titre doit résumer parfaitement le contenu de la page en question.
Cependant, il est bon d'identifier sa société en tout début de titre et de changer les mots qui suivent uniquement.

Généralement on prend le mot clé le plus lourd et on tente (pas facile du tout :p) de le répéter deux fois dans le titre (les deux occurences non collées).

De cette manière le moteur fait un lien entre la société et les mots clés qui suivent dans le titre, le contenu de la page et biensûr les autres zones chaudes.

Après il est possible que les règles aient évoluées, à ce moment là je vais me renseigner smile

Ces remarques sont inspirées du bouquin de Olivier Andrieu (Abondance), et après avoir écris différentes études et rapports sur le référencement, j'ai toujours respecté cette règle.

Maintenant, je vais faire le tour et me renseigner pour me mettre à la page (si nécessaire :p)


A+ benjamin.


http://www.anonymation.com/ - anonymation - Studio de création.
http://code.anonymation.com/ - anonymation - blog - développement et architecture web

Hors ligne

 

#9 11-02-2009 17:18:27

dmathieu
Membre
Lieu: Lyon, France
Date d'inscription: 09-02-2009
Messages: 50
Site web

Re: [Résolu] <Title> dynamique !!

A mon tour de plussoyer quelqu'un avec la remarque de Delprog wink


Il faut aimer les autres, non pour soi, mais pour eux - Proverbe Espagnol

Hors ligne

 

#10 11-02-2009 23:06:11

Kaimite
Membre
Lieu: Marseille
Date d'inscription: 16-06-2008
Messages: 144
Site web

Re: [Résolu] <Title> dynamique !!

Bonsoir,

Je pense qu'il n'y a pas de règles d'or au niveau du référencement naturel et le seul qui puisse dire exactement quoi faire c'est notre ami Google.

Pour ma part j'ai suivi une formation web rank metrics. Mais bon, on est en tout cas tous d'accord sur le fait qu'il est très important d'avoir une balise title différente sur chaque page et qui reflète fidèlement le contenu de la page.

L'explication fournie par les formateurs était la suivante :

"Quand les fondateur de Google ont créés leur algo ils se sont basé sur leurs connaissances et références. Dans un rapport d'étudiant les éléments les plus importants sont toujours cités en premier, ils sont donc considéré que les 1ers mots du site étaient les plus importants"

Explication valable pour la balise title et également le contenu du site, les xxx premiers mots (je ne sais plus le nombre exact) sont ceux qui seront considérés comme importants. De même l'ordre des balises META dans le code source est important.
La balise title doit être la plus proche possible du debut du code :
Il vaut mieux la mettre juste après le head :

Code:

<head>
<title>xxxxxxxxxxxxxxx</title>

est préférable à

Code:

<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>xxxxxxxxxxxxxxx</title>

Mais j'avoue que là ça va devenir une "bataille d'expert" et je ne suis pas assez calé pour la continuer (et je ne suis pas sur que ce soit le lieu).

Bonne soirée @ vous

Cordialement,
Kaimite

Hors ligne

 

#11 12-02-2009 09:42:06

Delprog
Administrateur
Date d'inscription: 29-09-2008
Messages: 670

Re: [Résolu] <Title> dynamique !!

Salut,

Explication valable pour la balise title et également le contenu du site, les xxx premiers mots (je ne sais plus le nombre exact)...

Ce sont les 30 à 50 premiers termes.

Il n'y a pas de "bataille" hein smile

Il y aurait tant de chose à dire sur ce sujet. Sur la dernière synthèse sur le référencement que j'ai écris, je n'ai pas réussi à faire mieux que 40 pages. Donc je ne vais évidemment pas m'engager dans une conversation détaillée sur le sujet, mais c'est quand même toujours intéressant d'en discuter :p (en gardant biensur certaines choses un peu secrètes, c'est un travail de titan de tout regrouper et d'avoir testé et approuvé ou non les techniques).

Je pense qu'il n'y a pas de règles d'or au niveau du référencement naturel et le seul qui puisse dire exactement quoi faire c'est notre ami Google.

La chose essentielle à retenir, et beaucoup de personnes l'oublie, c'est que le référencement naturel est avant tout un travail de bon sens et de logique, mais aussi et surtout de loyauté. Il y a des règles, qui sont reprises et déformées à l'infinie. Mais les règles de Google sont simples, de la logique.

Souvent, une personne qui construit son site avec bon sens, en se mettant à la place de l'utilisateur/lecteur, optimise naturellement (titre, cohérence, hiérarchie, mise en exergue des mots importants, liens, etc.) son site sans connaitre les règles de l'optimisation pour le référencement.

Après il est certain qu'elles ne sont pas que visuelles, et qu'il y a des règles techniques à respecter, qui sont elles, plus précises et universelles.

Les règles que tu cites sont la base de l'optimisation. Il y en a des dizaines d'autres.
Effectivement la balise <title> est sans doute aujourd'hui la plus importante. Mais ce qui compte aussi c'est d'avoir une cohérence entre chaque partie. Je ne pense pas que le positionnement change en plaçant le nom de la société avant ou après le titre.
La logique veut que le nom de la société soit placée avant et que la suite définisse l'activité de cette entité. Mais cette logique est purement de bon sens, ce n'est pas universel, et influence certainement peu le positionnement (du moment que le titre est bien optimisé).


Après les méthodes de base (un squelette en quelques sortes) peuvent être figées et utilisées à l'infini, du moment qu'on les a éprouvées.

De mon côté je suis toujours le même schéma:

   - nom de domaine : moins important aujourd'hui, surtout un nom de domaine propre chez un hébergeur de confiance, et si possible (pas facile) un mot clé dedans
   - titre : "nom de société, terme important quelques mots pertinents et re terme important" (tout ça formant une phrase cohérente et ayant du sens pour un humain). Placée juste en dessous de la balise <head>
   - phrase d'accroche : phrase <h1> pertinente toujours placée le plus haut possible dans le site, en premier dans le code, contenant un lien pointant vers une page de contenu traitant du sujet donné par ce lien
   - menu : court et bien construit, contenant des liens textuels et des termes pertinents résumant parfaitement les pages cibles
   - texte visible : 100 mots minimum avec hiérarchie (balises <hn>) et mise en exergue (gras, lien) des termes importants. Une bonne densité décroissante des mots clés les plus importants définis au tout départ. Contenant des liens propres, libellé du lien = url (si possible)
   - pied de page : reprend le menu + eventuellement plan du site + phrase pertinente sur l'activité (précédé du nom de la société)
   - sujets chaud : si possible news ou infos en rapport avec l'activité et traitant des sujets chauds dans le domaine
   - backlinks : peu nombreux mais de grande qualité.
   - sous-domaines : si une page traite d'un sujet unique non redondant sur le reste du site et contient suffisamment d'informations, en faire un sous-domaine. Ne pas abuser du nombre de sous-domaines.

Et optimiser au moins 4/5 pages de cette manière.

On pourrait rentrer dans le détail de chacun de ses points, mais c'est un plan.

Et ensuite d'autres techniques que je ne citerai pas ici, c'est déjà bien suffisant pour être totalement hors sujet ZF :p

Si ça peut donner une idée à certains qui auraient l'idée folle d'aller sur un forum ZF pour avoir ce genre de réponses :p


A+ benjamin.

Dernière modification par Delprog (12-02-2009 09:48:05)


http://www.anonymation.com/ - anonymation - Studio de création.
http://code.anonymation.com/ - anonymation - blog - développement et architecture web

Hors ligne

 

#12 12-02-2009 16:59:57

Kaimite
Membre
Lieu: Marseille
Date d'inscription: 16-06-2008
Messages: 144
Site web

Re: [Résolu] <Title> dynamique !!

Il n'y a pas de bataille wink c'était juste l'expression (d'ailleurs mise entre guillemets).

En tout cas je vois que tu maitrise bien le sujet smile et je retiendrais particulièrement :

[...] c'est que le référencement naturel est avant tout un travail de bon sens et de logique, mais aussi et surtout de loyauté.

J'ai eu aujourd'hui un coup de téléphone d'un client qui a suivi une formation sur le webmarketing et qui me pose des question (sans vraiment les comprendre) pour vérifier que le site qu'on va leur livré a été bien fait,  avec une super question : "vous avez mis des mots clés dans les balises alt des images ?"

M'enfin, on va pas les refaire big_smile

Cordialement,
Kaimite

Hors ligne

 

#13 12-02-2009 17:15:35

Delprog
Administrateur
Date d'inscription: 29-09-2008
Messages: 670

Re: [Résolu] <Title> dynamique !!

Haha, parfois c'est très drôle.

Dans la même trempe cette semaine (pas de rapport avec le référencement) :
"J'ai constaté que nos adresses e-mails ne sont pas protégées contre le spam, pouvez-vous en faire des images ?"

Pas de problème je fais.

Après coup : "Ok super, mais il faudra remettre les liens mailto !" big_smile

Sinon, les mots clés sont autorisés dans les balises alt, simplement ça n'aura pas beaucoup de poids sur le positionnement. Un peu plus aujourd'hui, mais ça ne fera pas de très grande différence. De plus, nous n'avons pas la certitude que tous les moteurs utilisent cette balise (pour d'autre ce sera title par ex.) dans leurs algorithmes.

Ce qu'il faut faire en fait, c'est respecter les recommandations du W3C, et utiliser un attribut pour ce pour quoi il est prévu et ne pas essayer d'en détourner le rôle premier.

Attribut alt dans les images (obligatoire en xhtml strict d'ailleurs), texte de substitution lorsque l'image est absente. Attibut title dans les ancres (liens) pour afficher une légende (info-bulle) au survole du lien, etc...

Après vient la question de la sémantique, mais c'est un énorme débat, et on ne saura jamais qu'elle est son importance dans le positionnement.


A+ benjamin.


http://www.anonymation.com/ - anonymation - Studio de création.
http://code.anonymation.com/ - anonymation - blog - développement et architecture web

Hors ligne

 

#14 12-02-2009 17:56:03

Kaimite
Membre
Lieu: Marseille
Date d'inscription: 16-06-2008
Messages: 144
Site web

Re: [Résolu] <Title> dynamique !!

+1 pour le mailto big_smile big_smile

Hors ligne

 

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 Rickard Andersson
Traduction par punbb.fr

Graphisme réalisé par l'agence Rodolphe Eveilleau
Développement par Kitpages