afficher le contenu d'un article dans une page statique

bonjour,
et tout d'abord bravo pour ce logiciel !

puis une question :

je désire utiliser des champs de contenu utilisateur dans des pages statiques.
j'ai pour cela créer une catégorie 01 où j'ai ajouté un article 'pieddepage'.
j'ai utiliser le script php du wiki 'comment afficher les articles d'une catégorie dans une page statique' et je l'ai modifié - voir fin de message.

mais je voudrais optimiser le code.
il y a sans doute une manière plus simple, que je n'arrive pas à déchiffrer.

comment afficher le content de mon article 'pieddepage' dont je sais la catégorie et le nom d'url ?

comment récupérer des champs de l'article à partir de ....
$plxShow->plxMotor->parseArticle(PLX_ROOT.$plxShow->plxMotor->aConf['racine_articles'].$v);
et le code utilisé modifié :
<?php
# Page statique Pluxml : liste de tous les articles par catégories par stephane@pluxml.org

if(!defined('PLX_ROOT')) exit;

# Renseignez ici le format de la date
$format_date = '#num_day/#num_month/#num_year(4)';

global $plxShow;

$plxGlob_arts = new plxGlob(PLX_ROOT.$plxShow->plxMotor->aConf['racine_articles']);
$aFiles = $plxGlob_arts->query('/[0-9]{4}.(001).[0-9]{12}.[a-z0-9-]+.xml$/','sitemap','rsort');

if(is_array($aFiles)) { # On a des fichiers
    while(list($k,$v) = each($aFiles)) { # On parcourt tous les fichiers
        $temp = $plxShow->plxMotor->parseArticle(PLX_ROOT.$plxShow->plxMotor->aConf['racine_articles'].$v);
		$plx_arts[$temp['categorie']][] = $temp;
    }
    if($plx_arts) { # On a des articles
		
		# tri en fonction de l'ordre d'affiche des catégories
		uksort($plx_arts, create_function('$a, $b', 'global $plxShow; return strcmp(array_search($a, array_keys($plxShow->plxMotor->aCats)), array_search($b, array_keys($plxShow->plxMotor->aCats)));'));
			
        # On boucle sur nos articles
		foreach ($plx_arts as $k => $v) {		

			# On boucle sur les articles de la categories
			while(list($null, $art) = each($v)) {
		
				$art_url = plxUtils::strCheck(($art['url']));
                                if( $art_url === 'pieddepage' )
                                {			
				    echo $art['content']; 
                                }
			}

        }

    }
}
?>
merci !

Réponses

  • StéphaneStéphane Member, Former PluXml Project Manager
    Bonjour emmanuel

    Remplace la ligne
    $aFiles = $plxGlob_arts->query('/[0-9]{4}.(001).[0-9]{12}.[a-z0-9-]+.xml$/','sitemap','rsort');
    
    par
    $aFiles = $plxGlob_arts->query('/[0-9]{4}.(001).[0-9]{12}.(pieddepage).xml$/','sitemap','rsort');
    
    Avec cette sélection tu n'auras plus besoin de boucle pour traiter les articles sélectionnés car tu ne sélectionne plus qu'un seul article. ça va simplifier ton code

    Consultant PluXml

    Ancien responsable et développeur de PluXml (2010 à 2018)

Connectez-vous ou Inscrivez-vous pour répondre.