avec et sans balises metas [RESOLU]

bg62bg62 Member
janvier 2013 modifié dans Modifications
voilà le problème:
- depuis que je tourne sous PluXml beaucoup de modifs...
- je voudrais passer à une version plus simple que mon bidouillage perso, notamment au niveau de la prise en compte des articles par les moteurs , en mettant en place ceci si c'est possible :
-- pour les articles déjà en ligne : faire prendre la partie 'chapô' (dans la limite de x caractères) comme balise "description"
-- ce qui me permettra ensuite toujours si c'est possible de me servir pour les nouveaux de l'insertion de la description via la partie administration ...

problème : comment faire le premier point ET surtout comment ne le faire que pour les anciens articles ... de manière 'pérenne' pour que cela puisse rester lors des futures mises à jour ?

grand merci à l'avance ;)

j'ai bien vu ceci :
http://wiki.pluxml.org/index.php?page=Utiliser+le+chapo+des+articles+pour+vos+metadonn%C3%A9es
mais la répercussion est permanente même sur les articles à venir ^^
«1

Réponses

  • 1/ dans plxUtils, il y a une fonction truncate
    2/ appliquer une condition en fonction de la date de rédaction et/ou si le meta-champ description est rempli ?
  • danielsan a écrit:
    1/ dans plxUtils, il y a une fonction truncate
    2/ appliquer une condition en fonction de la date de rédaction et/ou si le meta-champ description est rempli ?
    effectivement ce serait pas mal, je préférerais 'en fonction du n° du post' plutôt que de la date ( ... quand on remet volontairement un post à jour parfois ....)
    mais comment "coder" cela ???
  • j'imagine que ça doit être un truc du genre
    if($artId>0 AND $artId<152){
    $meta_description = $plxUtils->truncate($chapo,50); // voir la fonction truncate dans plxUtils
    }else{
    $meta_description = $meta-defaut; // utiliser la fonction traditionnelle de PluXml
    }
    
    faut plonger les mains, pas insurmontable
  • merci ;)
    mais avec ton 'code' + "voir..." et "utiliser..." pas de mon niveau pour le codage tout ça ... :)
  • rhô ... t'as pas beaucoup cherché ... :D
    et avec ça, ça donne quoi ?
    <?php
    if($plxShow->mode()=='article' AND $plxShow->artId()>0 AND $plxShow->artId()<152){ // si on est dans un article et que son numéro est compris entre 0 et 152
    	$text = $plxShow->plxMotor->plxRecord_arts->f('chapo'); // le texte à couper (ici le chapo)
    	$lenght = "100"; // la longueur du texte coupé
    	$meta_content= truncate($text, $length); // le texte coupé
    	echo '<meta name="description" content="'.plxUtils::strCheck($meta_content).'" />'."\n"; // insertion de la meta-balise description
    }else{
    	$plxShow->meta('description'); // sinon on utilise la fonction par défaut de PluXml
    }
    ?>
    
  • danielsan a écrit:
    rhô ... t'as pas beaucoup cherché ... :D
    et avec ça, ça donne quoi ?
    <?php
    if($plxShow->mode()=='article' AND $plxShow->artId()>0 AND $plxShow->artId()<152){ // si on est dans un article et que son numéro est compris entre 0 et 152
    	$text = $plxShow->plxMotor->plxRecord_arts->f('chapo'); // le texte à couper (ici le chapo)
    	$lenght = "100"; // la longueur du texte coupé
    	$meta_content= truncate($text, $length); // le texte coupé
    	echo '<meta name="description" content="'.plxUtils::strCheck($meta_content).'" />'."\n"; // insertion de la meta-balise description
    }else{
    	$plxShow->meta('description'); // sinon on utilise la fonction par défaut de PluXml
    }
    ?>
    
    pas beaucoup ... normal pas ma tasse de thé le codage en dur ... ^^
    et je le place où ce code ?
    dans le header du thème ou dans 'class.plx.show.php' qui a déjà été modifié je pense ?
  • tu te casseras pas une patte à t'y plonger va ;)
    sinon c'est dans header.php ...
    note : je ne sais pas la portabilité en 5.1.7 ... (la fonction truncate notamment )
  • danielsan a écrit:
    tu te casseras pas une patte à t'y plonger va ;)
    sinon c'est dans header.php ...
    note : je ne sais pas la portabilité en 5.1.7 ... (la fonction truncate notamment )
    ok vais tester dès que je suis de retour ;)
    header.php ok mais faudra que je retrouve le bidouillage que j'avais fait ailleurs et il y a déjà belle lurette ...
    mais pour la version 5.1.7 ... là tu me mets les boules ... c'est justement en prévision d'une mise à jour la plus propre possible que je commence à 'cogiter' tout ça ... ^^
    ps : pas reçu de notification de ta réponse ... ???
  • je suis ... noyé ...
    j'ai pour l'instant ceci :
    <?php 
    
    
    function meta_name() {
    	global $plxShow;
    
    	switch($plxShow->mode()) {
    		case 'home': 
    			$var_return = $plxShow->subTitle();
    		break;
      
    	   case 'article':
           $var_return  = $plxShow->plxMotor->plxRecord_arts->f('title').',';
           $var_return .= $plxShow->plxMotor->aConf['title'].',';
           $var_return .= $plxShow->plxMotor->aConf['description']."...";
       //$var_return .= plxUtils::truncate(plxUtils::strRevCheck($plxShow->plxMotor->plxRecord_arts->f('chapo')), 250, '...', false, true);
       //$var_return  = plxUtis::strCheck($var_return);
           break;	
    
            	default: 
    			$var_return = $plxShow->subTitle();
    		break;
    	}
    	return $var_return;
    }
    ?>
    
    qui m'avais été donné par stéphane je pense lors de la dernière mise à jour de mon blog ...
    je viens de tester avec ceci à la place :
    <?php
    if($plxShow->mode()=='article' AND $plxShow->artId()>0 AND $plxShow->artId()<919){ // si on est dans un article et que son numéro est compris entre 0 et 152
    	$text = $plxShow->plxMotor->plxRecord_arts->f('chapo'); // le texte à couper (ici le chapo)
    	$lenght = "250"; // la longueur du texte coupé
    	$meta_content= truncate($text, $length); // le texte coupé
    	echo '<meta name="description" content="'.plxUtils::strCheck($meta_content).'" />'."\n"; // insertion de la meta-balise description
    }else{
    	$plxShow->meta('description'); // sinon on utilise la fonction par défaut de PluXml
    }
    ?>
    
    

    si je supprime ça pour mettre le tien ... plus rien ^^
    faut-il faire un ' compromis' ???
  • tu veux dire quoi par plus rien ?

    teste avec ça
    <?php
    if($plxShow->mode()=='article' AND $plxShow->artId()>0 AND $plxShow->artId()<919){ // si on est dans un article et que son numéro est compris entre 0 et 152
    	$text = $plxShow->plxMotor->plxRecord_arts->f('chapo'); // le texte à couper (ici le chapo)
    	$lenght = "250"; // la longueur du texte coupé
    	$meta_content= plxUtils::truncate($text, $length,'.',true,true); // le texte coupé
    	echo '<meta name="description" content="'.plxUtils::strCheck($meta_content).'" />'."\n"; // insertion de la meta-balise description
    }else{
    	$plxShow->meta('description'); // sinon on utilise la fonction par défaut de PluXml
    }
    ?>
    
  • danielsan a écrit:
    tu veux dire quoi par plus rien ?

    teste avec ça
    <?php
    if($plxShow->mode()=='article' AND $plxShow->artId()>0 AND $plxShow->artId()<919){ // si on est dans un article et que son numéro est compris entre 0 et 152
    	$text = $plxShow->plxMotor->plxRecord_arts->f('chapo'); // le texte à couper (ici le chapo)
    	$lenght = "250"; // la longueur du texte coupé
    	$meta_content= plxUtils::truncate($text, $length,'.',true,true); // le texte coupé
    	echo '<meta name="description" content="'.plxUtils::strCheck($meta_content).'" />'."\n"; // insertion de la meta-balise description
    }else{
    	$plxShow->meta('description'); // sinon on utilise la fonction par défaut de PluXml
    }
    ?>
    
    en supprimant donc totalement ce que j'ai "actuellement" ?
  • bg62 a écrit:
    - je voudrais passer à une version plus simple que mon bidouillage perso, notamment au niveau de la prise en compte des articles par les moteurs , en mettant en place ceci si c'est possible :
    -- pour les articles déjà en ligne : faire prendre la partie 'chapô' (dans la limite de x caractères) comme balise "description"
    -- ce qui me permettra ensuite toujours si c'est possible de me servir pour les nouveaux de l'insertion de la description via la partie administration ...

    problème : comment faire le premier point ET surtout comment ne le faire que pour les anciens articles ... de manière 'pérenne' pour que cela puisse rester lors des futures mises à jour ?
    le code que je t'ai filé répond à ta demande :
    les anciens articles > la partie du chapo
    les nouveaux articles > la description
    après si ton bidouillage actuel te plait, ben bidouille-bidouille ... :D
  • danielsan a écrit:
    le code que je t'ai filé répond à ta demande :
    les anciens articles > la partie du chapo
    les nouveaux articles > la description
    après si ton bidouillage actuel te plait, ben bidouille-bidouille ... :D
    ok pas de problèmes ... ;)
    je vais retester et je te tiens au courant
    mon 'bidouillage actuel' me convient MAIS ... pour l'instant et donc il faut que j'arrive à mettre en place ce que tu me donnes !
    seule interrogation qui subsiste (tu m'as mis le doute ^^) quid avec le v 1.57 ???
  • bg62 a écrit:
    seule interrogation qui subsiste (tu m'as mis le doute ^^) quid avec le v 1.57 ???
    1/ je ne vois pas ce qui bloquerait pour la 5.1.7 à part la fonction truncate, au pire tu l'insères dans le header et voilà.


    2/ en ce qui concerne la 5.1.8, la 5.1.9 ... je ne sais pas. Mais ce n'est pas pour 3 lignes et des brouettes qu'il faille se poser la question :D


    3/ Si tu as vraiment peur, je ne peux que te conseiller de retrousser tes manches et d'écrire un script (PluXml est parfait pour s'y mettre, c'est tellement bien commenté qu'avec les fonctions natives on peut -presque- tout faire :p ) qui prend les 250 premiers caractères du chapô pour les écrire dans le meta-champ description.
    Tu n'auras plus de bidouillage à l'avenir ...
    Quitte à se prendre la tête, vaut mieux le faire qu'une fois :D


    Cordialement,
  • ok ... j'espère donc que cette fonction ne sera pas modifiée ... :)
    je viens de tester avec le dernier code : CA FONCTIONNE !!!
    grand merci :)
    je vais faire quelques tests pour voir les réactions de GG, puis certainement lui demander une révision et je viens donner des nouvelles et mettre en résolu ensuite ...
    en attendant, quelques p'tites photos :
    tombe la neige, en chanson et en images
    @+
  • bg62 a écrit:
    je viens de tester avec le dernier code : CA FONCTIONNE !!!
    grand merci :)

    coool, de rien :p
  • danielsan a écrit:

    coool, de rien :p
    si !!! heureusement qu'il y a des gens comme toi qui font plus que toucher leur bille au niveau codage !
  • mouais ... moi j'bidouille old-school tu sais ... mes codes pourraient se résumer en une ligne à la "Stéphane-style", mais j'comprends pas comment ça marche !
  • flipflipflipflip Member
    janvier 2013 modifié
    Je m’incruste :)


    Pourquoi ne pas envisager un traitement qui met à jour les anciens articles en écrivant les meta une bonne fois pour toute dans le fichier xml ? De cette façon tu te prends plus la tête pour les mises à jours et puis tu évite un traitement supplémentaire à ton serveur pour chaque visiteur...


    Ensuite pour retrouver tes modifications compare (diff pour linux, windiff ou notepad+ pour windows) ta version installé avec la même version fraichement dézippé.

    J'ai un string de l'array

  • c'est effectivement ce que je lui soumettais ...

    danielsan a écrit:
    3/ Si tu as vraiment peur, je ne peux que te conseiller de retrousser tes manches et d'écrire un script (PluXml est parfait pour s'y mettre, c'est tellement bien commenté qu'avec les fonctions natives on peut -presque- tout faire :p ) qui prend les 250 premiers caractères du chapô pour les écrire dans le meta-champ description.
    Tu n'auras plus de bidouillage à l'avenir ...
    Quitte à se prendre la tête, vaut mieux le faire qu'une fois :D
  • danielsan a écrit:
    mouais ... moi j'bidouille old-school tu sais ... mes codes pourraient se résumer en une ligne à la "Stéphane-style", mais j'comprends pas comment ça marche !
    "Stéphane-style"
    +100 ;)
    et pas reçu de notification alors que 3 nouvelles réponses .... ^^
  • flipflip a écrit:
    Je m’incruste :)


    Pourquoi ne pas envisager un traitement qui met à jour les anciens articles en écrivant les meta une bonne fois pour toute dans le fichier xml ?
    euh ... oui ... ben ... non :)
    déjà assez galéré à la dernière mise à jour et la prise en compte des 'chapôs' pour les articles déjà parus me suffit amplement ...
    s'il fallait remettre pour tous les articles ^^ as-tu vu le nombre d'articles sur mon PluXml ???
    @+
  • Le but est de le faire de façon automatique via un ptit plugin ou programme annexe et non à la main.

    J'ai un string de l'array

  • flipflip a écrit:
    Le but est de le faire de façon automatique via un ptit plugin ou programme annexe et non à la main.
    un plugin pour gérer la prise en charge du chapô comme description ou non selon les articles serait pas mal en effet ... mais pour le coder ... pas moi ;)
  • danielsandanielsan Member
    janvier 2013 modifié
    re,


    il y a un bug dans la fonction truncate :D ... elle n'enlève pas très bien les balises html ...
    tente de remplacer ça en attendant une mise à jour de la fonction
    echo '<meta name="description" content="'.plxUtils::strCheck(strip_tags($meta_content)).'" />'."\n"; // insertion de la meta-balise description
    
  • danielsan a écrit:
    re,


    il y a un bug dans la fonction truncate :D ... elle n'enlève pas très bien les balises html ...
    tente de remplacer ça en attendant une mise à jour de la fonction
    echo '<meta name="description" content="'.plxUtils::strCheck(strip_tags($meta_content)).'" />'."\n"; // insertion de la meta-balise description
    
    pas l'air de fonctionner ... j'ai ceci:
    	<meta http-equiv="Content-Type" content="text/html; charset=<?php $plxShow->charset(); ?>" />
    	<title><?php $plxShow->pageTitle(); ?></title>
    <!-- danielsan-->
    <?php
    if($plxShow->mode()=='article' AND $plxShow->artId()>0 AND $plxShow->artId()<919){ // si on est dans un article et que son numéro est compris entre 0 et 918
    	$text = $plxShow->plxMotor->plxRecord_arts->f('chapo'); // le texte à couper (ici le chapo)
    	$lenght = "250"; // la longueur du texte coupé
    	$meta_content= plxUtils::truncate($text, $length,'.',true,true); // le texte coupé
    	echo '<meta name="description" content="'.plxUtils::strCheck(strip_tags($meta_content)).'" />'."\n"; // insertion de la meta-balise description
    	//echo '<meta name="description" content="'.plxUtils::strCheck($meta_content).'" />'."\n"; // insertion de la meta-balise description
    }else{
    	$plxShow->meta('description'); // sinon on utilise la fonction par défaut de PluXml
    }
    ?>
    	<?php $plxShow->meta('keywords') ?>
    	<?php $plxShow->meta('author') ?>
    
    mais la description est Hs elle ne reprend que le sous-titre du blog ....
  • peux-tu être plus explicite dans tes critiques de code ?
    je ne vois pas pourquoi elle ne reprendrait que le sous-titre du code d'ailleurs ...
  • j'ai testé le nouveau code en local et comme description ça me donne ceci :
    " blog pour le référencement et la création de sites,Google et autres moteurs,SEO et SERP,le NET pour les nuls,actualités du Net et Liens utiles,communiqués de presse,créations numériques "
    qui est finalement le 'sous titre' du site ( http://blog.unesourisetmoi.info/ ) ....
  • danielsandanielsan Member
    janvier 2013 modifié
    es-tu bien sûr un article dont l'id est compris dans tes paramètres ?
  • danielsan a écrit:
    es-tu bien sur un article dont l'id est compris dans tes paramètres ?
    oui ... ;)
Connectez-vous ou Inscrivez-vous pour répondre.