IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

EDI, CMS, Outils, Scripts et API PHP Discussion :

Affichage des nouveaux articles [MediaWiki]


Sujet :

EDI, CMS, Outils, Scripts et API PHP

  1. #1
    Membre habitué
    Inscrit en
    Août 2008
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 10
    Par défaut Affichage des nouveaux articles
    Bonjour, est ce que vous sauriez comment afficher une liste des nouveaux articles publiés dans la page d'accueil ? (un peu sous forme de News)

    Je sais que pour afficher les pages les plus vues, il y a un module qui s'appelle TopTenPages, ensuite il n'y a plus qu'à écrire une balise pour afficher.
    Mais dans le cas des articles les plus récents ? ex : http://www.davidmanise.com/mediawiki/index.php/Accueil

    Merci

  2. #2
    Membre habitué
    Inscrit en
    Août 2008
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 10
    Par défaut
    C'est bon, falait juste ajouté : {{Special:Newpages}}

  3. #3
    Membre habitué
    Inscrit en
    Août 2008
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 10
    Par défaut
    Re Bonjour,
    Est ce que vous pouvez encore m'aidé s'il vous plait ?
    En mettant Special Newpages, l'affichage est trop surchargé, comment faire pour la simplifier de telle sorte à avoir ça : http://www.davidmanise.com/mediawiki/index.php/Accueil (cf. derniers ajouts)
    Qu'est ce qu'il faudrait modifier dans le code php ?

    Merci

  4. #4
    Membre habitué
    Inscrit en
    Août 2008
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 10
    Par défaut
    Re bonjour,
    S'il vous plait, je vous passe le code PHP que j'ai trouvé sur un site mais je n'arrive pas à le mettre en place.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
     
    <?php
    #
    # This Mediawiki extension creates a bullet list of the most
    # recent new pages.  This can be useful for a small project's
    # main page to give visitors a quick view of the new pages
    # created since the last visit.
    #
    # The wiki syntax is,
    #
    #  <newpages>
    #     limit=10
    #  </newpages>
    #
    # where limit is the maximum number of new pages to show.
    #
    # To activate the extension, include it from your LocalSettings.php
    # with: require_once("extensions/NewPages.php");
    #
    # Author: Michael Meffie
    # Date: Jan 17 2006
    # Credits: This extension was derived from SpecialNewpages.php.
    # License: GPL v2.0
    #
     
    $wgExtensionFunctions[] = "wfNewPagesExtension";
     
    $wgExtensionCredits['parserhook'][] = array(
        'name' => 'NewPages',
        'author' => 'Michael Meffie',
        'url' => 'http://meta.wikimedia.org/wiki/User:Meffiem',
    );
     
    function wfNewPagesExtension() {
        global $wgParser;
        $wgParser->setHook( "newpages", "renderNewPages" );
    }
     
    function renderNewPages( $input ) {
        global $wgOut;
        $output = "<br />No new pages since last database cleaning<br />";
        $limit = 5;
        getBoxOption($limit,$input,'limit',true);
     
        $dbr =& wfGetDB( DB_SLAVE );
        extract( $dbr->tableNames( 'recentchanges', 'page' ) );
     
        $query_limit = $limit + 1;  # to determine if we should display (more...)
        $sql = "SELECT  rc_namespace AS namespace,
                        rc_title AS title,
                        rc_cur_id AS value,
                        rc_user AS user,
                        rc_user_text AS user_text,
                        rc_comment as comment,
                        rc_timestamp AS timestamp,
                        rc_id AS rcid,
                        page_len as length,
                        page_latest as rev_id
                FROM $recentchanges,$page
                WHERE rc_cur_id=page_id AND rc_new=1
                  AND rc_namespace=".NS_MAIN." AND page_is_redirect=0
                  ORDER BY value DESC
                  LIMIT $query_limit";
     
        $result = $dbr->query( $sql );
        $num = $dbr->numRows( $result );
        if ($num > 0) {
            $output = "<ul>\n";
            for ($i=0; $i<$num && $i<$limit; $i++) {
               $row = $dbr->fetchObject( $result );
               $s = formatRow( $row );
               $output .= "<li>$s</li>\n";
            }
            if ($num > $limit) {
               $more = $wgOut->parse("[[Special:Newpages|more...]]", false);
               $output .= "<li>$more</li>\n";
            }
            $output .= "</ul>\n";
        }
     
        $dbr->freeResult( $result );
        return $output;
    }
     
    function formatRow( $row ) {
        global $wgLang, $wgUser;
     
        $skin = $wgUser->getSkin();
        $link = $skin->makeKnownLink( $row->title, '' );
        $d = $wgLang->date( $row->timestamp, true );
     
        $s = "$link, $d";
        return $s;
    }
     
    function getBoxOption(&$value,&$input,$name,$isNumber=false) {
        if(preg_match("/^\s*$name\s*=\s*(.*)/mi",$input,$matches)) {
             if($isNumber) {
                $value=intval($matches[1]);
            } else {
                $value=htmlspecialchars($matches[1]);
            }
        }
    }
     
    ?>
    comme celui-ci : http://www.davidmanise.com/mediawiki/index.php/Accueil
    (cf. derniers ajouts)

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 3
    Dernier message: 14/04/2010, 14h59
  2. [W3C] affichage des articles avec flux RSS
    Par ikramta dans le forum Balisage (X)HTML et validation W3C
    Réponses: 1
    Dernier message: 20/10/2009, 11h10
  3. [eZ Publish] Affichage des articles façon "blog"
    Par cheche49 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 3
    Dernier message: 28/08/2009, 15h05
  4. [Joomla!] Modifier l'affichage des liens vers les articles
    Par Nillak dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 5
    Dernier message: 12/02/2007, 13h50
  5. Affichage dynamiqu dans DGBrid des nouveaux enrengistrements
    Par koul dans le forum Bases de données
    Réponses: 4
    Dernier message: 10/01/2006, 17h32

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo