Tout savoir pour devenir un pro de PluXml, mais pas seulement...

exclure les liens de l'article affiché


Rédigé par gccyrillus le Aucun commentairee

Lorsque vous consultez un article, si celui ci est l'un des derniers parus, vous retrouvez son lien dans la liste des "derniers articles". et éventuellement d'autres liens vers l'article dans "les derniers commentaires".

Pour éviter ce qui peut-être vu comme un défaut. Il est possible d'exclure les liens de l'article en cours ainsi que les liens vers ses commentaires.

Les données qui permettent d'extraire le lien vers un article sont stockées dans $plxShow->plxMotor->plxGlob_arts->aFiles et les commentaires sont stockés dans $plxShow->plxMotor->plxGlob_coms->aFiles sous forme de tableaux ( array() ). Il faut alors exclure les clés correspondantes de ces deux tableaux.

Cela peut-être fait à l'aide d'un petit script à inclure dans vos thèmes.

Lire la suite de exclure les liens de l'article affiché

DClassé dans : Bout de code ,Mots clés : Article, Commentaires, PHP, Scripts, Templates

URL canonical et PluXml


Rédigé par gccyrillus le Aucun commentairee



Le site pluxthemes.com propose de donner à vos thèmes la capacité de générer vos URL canoniques avec quelques lignes de codes à insérer dans le fichier template 'header.php' de votre thème.


Un plugin est aussi disponible pour ne pas avoir à modifier vos thèmes : myCannonical plugin


Voici les quelques lignes à ajouter pour en bénéficier:

		# URL canonique
		# Author Gcyrillus @ re7net.com
		# genere l'url canonique de votre page , d'acceuil, categorie, statique ou article  sous la forme <link rel="canonical" href="URL" />
		# conformémént à votre configuration urlrewriting, compatible avec le plugin MyBetterUrl
		# indique le numero de page : page1
		# identifie les plugins generant une page
		$pagination='';
		$reqUri=   $plxShow->plxMotor->get;
		preg_match('/(\/?page[0-9]+)$/', $reqUri, $matches);
		if( $matches) $pagination =$reqUri;
		if($plxShow->catId(true) AND intval($plxShow->catId()) =='0') echo '	<link rel="canonical" href="'.$plxShow->plxMotor->urlRewrite().$pagination.'" />'.PHP_EOL  ;
		if($plxShow->catId(true) AND intval($plxShow->catId()) !='0') echo '	<link rel="canonical" href="'.$plxShow->plxMotor->urlRewrite('?categorie'. intval($plxShow->catId()).'/'.$plxShow->plxMotor->aCats[$plxShow->catId()]['url']).$pagination.'" />'.PHP_EOL  ;
		if($plxShow->plxMotor->mode=='article'  AND $plxShow->plxMotor->plxRecord_arts->f('numero')) echo '	<link rel="canonical" href="'.$plxShow->plxMotor->urlRewrite('?article' . intval($plxShow->plxMotor->plxRecord_arts->f('numero')) . '/' . $plxShow->plxMotor->plxRecord_arts->f('url')).'" />'.PHP_EOL  ;
		if( $plxShow->plxMotor->mode=='static'  ) { 
			echo '	<link rel="canonical" href="'.$plxShow->plxMotor->urlRewrite('?static'. intval($plxShow->staticId()).'/'.$plxShow->plxMotor->aStats[str_pad($plxShow->staticId(),3,0,STR_PAD_LEFT)]['url']).'" />'.PHP_EOL ;
		}
		else{
	# enfin on regarde si il s'agit de la page d'un plugin	
	foreach($plxShow->plxMotor->plxPlugins->aPlugins as $plug){				
		if($plug->getParam('url') == $plxShow->plxMotor->mode)  echo '	<link rel="canonical"  href="'.$plxShow->plxMotor->urlRewrite('?'.$_SERVER['QUERY_STRING']).'"/>'.PHP_EOL;
			}
		}

Le script teste si il s'agit de la page d'accueil, puis si c'est une catégorie, un article ou une page statique.avant de servir cette balise "canonical". Il inclus aussi les pages des plugins ainsi que la pagination.

En echo au précédent article, connaitre le mode d'affichage de PluXml est au coeur de ce bout de codes.

DClassé dans : Bout de code ,Mots clés : PHP, Référencement, Scripts, Url Rewrite

Connaître le mode d'affichage de PluXml


Rédigé par gccyrillus le Aucun commentairee

Pour connaitre le mode d'affichage de Pluml:


<?php echo $plxShow->mode(); ?>

Cela n'a d’intérêt que lorsque vous souhaitez afficher ou appeler un script seulement sur un certain type de pages et, ou a des fin de débogages.

Quels sont ces modes?

  1. home
  2. article
  3. static
  4. categorie
  5. tags
  6. archives
  7. erreur

Lire la suite de Connaître le mode d'affichage de PluXml

DClassé dans : Bout de code, Thème ,Mots clés : Astuce, PHP

Problème de formulaires avec max_input_vars (PHP 5.3.9+)


Rédigé par jack le 8 commentairese

Depuis la version de PHP 5.3.9 une nouvelle directive dans le fichier php.ini limite le nombre de champs de saisie traité après la soumission d'un formulaire. Cette directive s'appelle max_input_vars. Par défaut seuls les 1000 champs sont traités, les suivants sont tout simplement ignorés. Elle affecte les variables $_GET, $_POST et $_COOKIE.

Concrètement cela veut dire que si vous avez un grand formulaire qui contient plus de 1000 champs (champ texte, checkbox, hidden, etc...), lorsque vous allez traiter les variables $_POST après la soumission du formulaire, seuls les 1000 premières variables $_POST seront accessibles, les autres ne seront pas présentes dans le tableau $_POST.

Voilà donc une restriction, qui pour des raisons de sécurité est justifée afin d'éviter des attaques par déni de service, mais qui sera vite un gros problème si vous avez à traiter des gros formulaires.

Il y a trois solutions pour passer outre cette restriction.

Solution 1
Si vous avez accès au fichier php.ini sur votre serveur, éditez le et recherchez le paramètre max_input_vars. Changez sa valeur 1000 par une plus grande en fonction de vos besoins, pour avoir par exemple:

max_input_vars = 3000

Solution 2
Si vous n'avez pas accès au php.ini, il reste la solution du fichier .htaccess.
A la racine de votre site éditez ou créez un fichier .htaccess dans lequel vous mettrez sur la 1ère ligne l'instruction suivante:

php_value max_input_vars 3000

Solution 3
Dernière solution: utiliser l'instruction init_set dans un fichier php pour modifier la valeur du paramètre max_input_vars de cette façon:

ini_set('max_input_vars', 3000);

DClassé dans : Programmation ,Mots clés : PHP

Top