Pages statique et dernier article paru en Page d'accueil

flotymflotym Member
Bonjour,

Je voudrais que s'affiche sur ma page d'accueil:
- une page statique (sur laquelle j'ai mis un petit mot d'accueil)
- Le dernier article paru

Je n'ai pas trouvé la méthode. (ni en jouant avec l'interface, ni sur le forum).
Y'a-t-il une solution ?

Merci
Florent

Réponses

  • Je ne sais pas si c'est la bonne méthode ;-) mais ca "marche"

    Un copié-collé du code php du menu (fichier sidebar.php dans ton theme) entre les balises ul (de la liste)

    et j'ai ajouté global $plxShow; avant... mais ne me demande pas pourquoi ;-) je n'en sais rien (c'est juste en comparant avec d'autres exemples)

    A+
  • StéphaneStéphane Member, Former PluXml Project Manager
    Dans les parametres d'administration, il y a un parametre pour mettre une page statique en page d'accueil en sélectionnant le nom de la page statique.

    Consultant PluXml

    Ancien responsable du projet (2010 à 2018)

  • flotymflotym Member
    avril 2011 modifié
    Hello,

    en fait dans les parametres d'administration on peut mettre une page statique en tant que page d'accueil. c'est d'ailleurs la méthode que j'ai employé.

    Mais je voudrais également ajouter le dernier article paru.

    sinon, je metterai le nez dans le code en m'inspirant de la réponse d'Andrea.

    merci
  • StéphaneStéphane Member, Former PluXml Project Manager
    donne à ta page statique un template personnel dans lequel tu completeras le code avec celui pour afficher le dernier article paru

    Consultant PluXml

    Ancien responsable du projet (2010 à 2018)

  • flotymflotym Member
    Hello,

    J'ai cherché dans la doc et sur le forum mais je n'ai pas trouvé comment faire.
    Quelqu'un pourrais m'expliquer plus en detail ?

    Merci
  • HamtaroHamtaro Member
    Voici le lien : http://devzone.pluxml.org/?plxShow/function/lastArtList

    Tu fais donc de cette manière :
    <ul><?php $plxShow->lastArtList($format='<li><a href="#art_url" title="#art_title">#art_title</a></li>',$max=1,$cat_id='') ?></ul>
    
    Tu peux modifier le nombre de $max pour plus d'articles et spécifier un numéro de catégorie entre '' pour $cat_id si tu en as envie. ;)
  • flotymflotym Member
    Pour la fonction a insérer, je l'avais trouvé mais en fait je n'ai pas réussi a trouver ou insérer cette fonction.

    Stéphane parlais d'un template personnel mais je n'ai pas trouvé le moyen de le faire.

    Merci
    Florent
  • HamtaroHamtaro Member
    flotym a écrit:
    Pour la fonction a insérer, je l'avais trouvé mais en fait je n'ai pas réussi a trouver ou insérer cette fonction.

    Stéphane parlais d'un template personnel mais je n'ai pas trouvé le moyen de le faire.

    Merci
    Florent
    http://wiki.pluxml.org/index.php?page=Gestion+des+pages+statiques

    Tout est marqué dans la documentation...
  • flotymflotym Member
    Bon alors, voila ou j'en suis.

    J'ai créé mon template puis appliqué à ma page statique. (Désolé, j'avais lu la doc mais je sais pas pourquoi j'ai zappé ce bout).

    Le problème (aie pas taper !!):
    Avec la fonction lastArtList, je retourne le titre du dernier article.
    en fait je voudrais le contenu du dernier article.

    voici le contenu de mon template:
    <div id="content">
    <h2 class="title static"><?php $plxShow->staticTitle(); ?></h2>
    <div class="post"><?php $plxShow->staticContent(); ?></div>
    
    <?php $plxShow->lastArtList($format='<li><a href="#art_url" title="#art_title">#art_title</a></li>',$max=1,$cat_id='') ?>
    </div>
    
    je suis inspiré du fichier article.php mais je n'ai pas trouvé.
    Je voulais faire quelque chose du genre:
    <div id="content">
    		<h2 class="title static"><?php $plxShow->staticTitle(); ?></h2>
    		<div class="post"><?php $plxShow->staticContent(); ?></div>
    
    
    <?php //$plxShow->lastArtList($format='<li><a href="#art_url" title="#art_title">#art_title</a></li>',$max=1,$cat_id='') ?>
    
    		<h2 class="title"><?php $plxShow->artTitle(''); ?></h2>
    		<p class="info_top">Rédigé par <?php $plxShow->artAuthor() ?> | Classé dans : <?php $plxShow->artCat(); ?></p>
    		<p class="date"><?php $plxShow->artDate('<span>#num_day</span><br />#num_month | #num_year(2)'); ?></p>		
    		<div class="post"><?php $plxShow->artContent(); ?></div>
    		<p class="info_bottom">Mots clés : <?php $plxShow->artTags(); ?></p>
    		<?php $plxShow->artAuthorInfos('<div class="infos">#art_authorinfos</div>'); ?>
    		<?php include(dirname(__FILE__).'/commentaires.php'); # On insere les commentaires ?>
    
    	</div>
    
    mais la valeur remontée dans $plxShow n'est pas la bonne.
    Sur l'appel d'une page est-il possible de réaffecter les variables à $plxShow.

    J'espère que j'arrive à me faire comprendre :/

    Merci a ceux qui essayent de me comprendre.
  • HamtaroHamtaro Member
    mai 2011 modifié
    Lire complètement et correctement la doc...
    Je vais frapper now ! :p

    http://devzone.pluxml.org/?plxShow/function/lastArtList

    #art_content ;)
  • StéphaneStéphane Member, Former PluXml Project Manager
    par exemple...
    <ul><?php $plxShow->lastArtList('<li><a href="#art_url" title="#art_title">#art_title</a><br />#art_content</li>,1) ?></ul>
    

    Consultant PluXml

    Ancien responsable du projet (2010 à 2018)

  • flotymflotym Member
    Bon d'accord je suis un boulet.
    J'avais pas compris que je devais l'appeler à chaque fois ...... ;/

    Par contre je butte sur la date.
    Dans la doc y'a bien art_date.

    mais je voudrais bien récupérer:
    #num_day
    #num_month
    #num_year(2)



    Une autre petite chose:
    dans art_content je ne récupère pas la même chose. Le texte est la mais je ne récupère pas la mise en page que j'avais créé lors de la rédaction de l'article.
    <h2 class="title static"><?php $plxShow->staticTitle(); ?></h2>
    		<div class="post"><?php $plxShow->staticContent(); ?></div>
    
    
    		<h2 class="title"><?php $plxShow->lastArtList($format='<a href="#art_url" title="#art_title">#art_title</a>',$max=1,$cat_id=''); ?></h2>
    		<p class="info_top">Rédigé par <?php $plxShow->lastArtList($format='#art_author',$max=1,$cat_id=''); ?> | Classé dans : <?php $plxShow->lastArtList($format='#cat_list',$max=1,$cat_id=''); ?></p>
    		<p class="date"><?php $plxShow->artDate('<span>#num_day</span><br />#num_month | #num_year(2)'); ?></p>		
    		<div class="post"><?php $plxShow->lastArtList($format='#art_content',$max=1,$cat_id=''); ?></div>
    
    Merci. vous etes cool. :P
  • WiksaWiksa Member
    Bonsoir,

    J'ai un problème similaire, avec cette méthode lorsque je souhaite insérer une vidéo youtube par exemple, le code apparait au lieu de la vidéo :

    [url][/url]http://forum.pluxml.org/viewtopic.php?id=2402[url][/url]
  • HamtaroHamtaro Member
    mai 2011 modifié
    La date n'est pas configurable à l'intérieur de la fonction lastArtList, le format est imposé (peut être pour les prochaines versions...)

    Et effectivement, le content a l'air d'être traité différemment dans cette fonction que dans la boucle classique, on ne peut rien également sauf modifier dans le core, je crois que Stéphane avait donné une indication quelque part : http://forum.pluxml.org/viewtopic.php?id=2402 (Même topic que Wilksa)

    Et Wiksa, pas la peine de poster ton problème partout, si tu n'as pas de réponse dans le topic qui t'es consacré c'est que quelqu'un réfléchit dessus ou bien que la solution n'est pas possible pour le moment malheureusement ;)
  • flotymflotym Member
    Hello,

    Concernant le content, la solution prodiguée par Stéphane fonctionne. J'ai posté une confirmation sur le post adéquat.

    Concernant la date: Avec art_date, on arrive a récupérer la date (relativement au bon format).je pensais pouvoir récupérer ce champ puis appliquer des substr.

    Comment peut-on affecter #art_date à une variable de type string ?
    Je n'ai pas réussi a trouver la bonne syntaxe.

    N’étant pas développeur dans l’âme, peut être que cette solution est un peu crados ?
  • HamtaroHamtaro Member
    mai 2011 modifié
    Aucune intervention php ne peut être fait à l'intérieur de la fonction... (il me semble)

    Par contre, tu peux, si tu n'affiches que le dernier article, appeler plusieurs fois la fonction.

    C'est à dire que tu peux très bien faire ton appel de date dans une deuxième LastArtList et exploser le tout pour remodeler la date à ta façon. C'est de ce côté que j'irais si j'étais toi ;)
  • flotymflotym Member
    Désolé de re-poster mais je me galère ........

    J'ai bien compris la méthode et pour la mise en page je sais comment faire.

    Mon problème est: comment faire pour affecter le résultat de lastArtList($format='#art_date',$max=1,$cat_id='')
    à une variable (de type string ??) qu'il est possible de travailler.

    Merci pour le temps que vous passez à me lire et a me répondre. :/

    Florent
  • StéphaneStéphane Member, Former PluXml Project Manager
    <ul>
    <?php
    ob_start();
    $plxShow->lastArtList('<li class="#art_status"><a href="#art_url" title="#art_title">#art_title</a></li>'); 
    $display= ob_get_clean();
    echo $display;
    ?>
    </ul>
    
    tu peux maintenant travailler à partir de la variable $display avant la ligne avec le echo

    Consultant PluXml

    Ancien responsable du projet (2010 à 2018)

  • flotymflotym Member
    Nickel, ca fonctionne.

    Merci de m'avoir aidé
    Pour ceux que ca interesse:
    <div id="content">
    
    <!-- On affiche les elements du dernier article paru - la date beneficie d un traitement particulier-->
    
    		<h2 class="title"><?php $plxShow->lastArtList($format='<a href="#art_url" title="#art_title">#art_title</a>',$max=1,$cat_id=''); ?></h2>
    		<p class="info_top">Rédigé par <?php $plxShow->lastArtList($format='#art_author',$max=1,$cat_id=''); ?> | Classé dans : <?php $plxShow->lastArtList($format='#cat_list',$max=1,$cat_id=''); ?></p>
    		<p class="date">	
                           <?php
                           ob_start();
                           $plxShow->lastArtList($format='#art_date',$max=1,$cat_id=''); 
                           $display= ob_get_clean();
                           echo '<span>'.substr($display,0,2).'</span><br />'.substr($display,3,2).' | '.substr($display,8,2).'';
                            ?>
                    </p>	
    		<div class="post"><?php $plxShow->lastArtList($format='#art_content',$max=1,$cat_id=''); ?></div>
    
    <!-- a partir d ici, on affiche les elements de la page statique -->
    		<h2 class="title static"><?php $plxShow->staticTitle(); ?></h2>
    		<div class="post"><?php $plxShow->staticContent(); ?></div>
    	
    	</div>
    
    Merci a tous :)
    Post Résolu
  • StéphaneStéphane Member, Former PluXml Project Manager
    la bonne syntaxe est : (même si la tienne fonctionne)
    $plxShow->lastArtList('#art_date',1,'');
    

    Consultant PluXml

    Ancien responsable du projet (2010 à 2018)

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