Wiki Plume Community : Menu

HomePage :: Categories :: PageIndex :: RecentChanges :: RecentlyCommented :: Login/Register
Most recent edit on 2008-01-22 06:08:25 by LuigiBrosse [[spam]]

Additions:
L'exemple décrit ci-dessous s'applique à un site découpé en n ressources classées en 3 rubriques (par exemple, un produit accessible par vendeur / acheteur / point de vente)
Ces fonctions décrivent la méthode de navigation permettant d'accéder à une liste de ressources restreinte alphabétiquement grâce à l'emploi de liens du type (# A B ... Z).
Une lettre n'est cliquable que si une ressource est disponible. La rubrique en consultation doit être conservée.
Pré-requis :
1/ Créer deux patrons "category_alpha.php" et category_liste.php (descriptions ci-dessous)
2/ Créer 27 catégories identifiée par # A B C D .... Z (# est pris pour 0..9) associés au patron category_alpha.php
3/ Utiliser la catégorie "lettre" comme catégorie secondaire de l'article ou de la news (par exemple, pour la news Savon, la catégorie secondaire doit être "S")
Fonctionnement : (Le code décrit ci-dessous est placé dans la div content des templates)
1/ La template category_liste.php sert de point d'entrée à category_alpha.php et affiche la totalité des ressources d'une rubrique
2/ La template category_alpha.php n'affiche que la liste restreinte pour la rubrique concernée.
Afin d'éviter d'impacter le code de Plume et donc conserver le bénéfice des mises à jour, le passage de variable se fait au travers d'un cookie et d'une table Mysql de type MEMORY (anciennement HEAP)
Le CREATE TABLE est porté ci-dessous en commentaire (plume_swap)
if (strlen($cat[$cat_len-2])
1){ /*on repasse le formulaire. Récupération de la catégorie*/ else { /*premier passage. Insertion en table HEAP du TimeRand et du type de catégorie*/
/* 1°) Effacer les anciennes données avec ce TimeRand */
/* 2°) Inserer nouvelle valeur et deposer un cookie */
$valeur = time().rand(1,250); Temps concaténé à nombre aléatoire


Deletions:
vilataeltorr
L'exemple décrit ci-dessous s'applique à un site découpé en n ressources classées en 3 rubriques (par exemple, un produit accessible par vendeur / acheteur / point de vente)
Ces fonctions décrivent la méthode de navigation permettant d'accéder à une liste de ressources restreinte alphabétiquement grâce à l'emploi de liens du type (# A B ... Z).
Une lettre n'est cliquable que si une ressource est disponible. La rubrique en consultation doit être conservée.
Pré-requis :
1/ Créer deux patrons "category_alpha.php" et category_liste.php (descriptions ci-dessous)
2/ Créer 27 catégories identifiée par # A B C D .... Z (# est pris pour 0..9) associés au patron category_alpha.php
3/ Utiliser la catégorie "lettre" comme catégorie secondaire de l'article ou de la news (par exemple, pour la news Savon, la catégorie secondaire doit être "S")
Fonctionnement : (Le code décrit ci-dessous est placé dans la div content des templates)
1/ La template category_liste.php sert de point d'entrée à category_alpha.php et affiche la totalité des ressources d'une rubrique
2/ La template category_alpha.php n'affiche que la liste restreinte pour la rubrique concernée.
Afin d'éviter d'impacter le code de Plume et donc conserver le bénéfice des mises à jour, le passage de variable se fait au travers d'un cookie et d'une table Mysql de type MEMORY (anciennement HEAP)
Le CREATE TABLE est porté ci-dessous en commentaire (plume_swap)
if (strlen($cat[$cat_len-2])
1){ /*on repasse le formulaire. Récupération de la catégorie*/ else { /*premier passage. Insertion en table HEAP du TimeRand et du type de catégorie*/
/* 1°) Effacer les anciennes données avec ce TimeRand */
/* 2°) Inserer nouvelle valeur et deposer un cookie */
$valeur = time().rand(1,250); Temps concaténé à nombre aléatoire




Edited on 2007-11-23 22:43:05 by SittrOcalr

Additions:
vilataeltorr
L'exemple décrit ci-dessous s'applique à un site découpé en n ressources classées en 3 rubriques (par exemple, un produit accessible par vendeur / acheteur / point de vente)
Ces fonctions décrivent la méthode de navigation permettant d'accéder à une liste de ressources restreinte alphabétiquement grâce à l'emploi de liens du type (# A B ... Z).
Une lettre n'est cliquable que si une ressource est disponible. La rubrique en consultation doit être conservée.
Pré-requis :
1/ Créer deux patrons "category_alpha.php" et category_liste.php (descriptions ci-dessous)
2/ Créer 27 catégories identifiée par # A B C D .... Z (# est pris pour 0..9) associés au patron category_alpha.php
3/ Utiliser la catégorie "lettre" comme catégorie secondaire de l'article ou de la news (par exemple, pour la news Savon, la catégorie secondaire doit être "S")
Fonctionnement : (Le code décrit ci-dessous est placé dans la div content des templates)
1/ La template category_liste.php sert de point d'entrée à category_alpha.php et affiche la totalité des ressources d'une rubrique
2/ La template category_alpha.php n'affiche que la liste restreinte pour la rubrique concernée.
Afin d'éviter d'impacter le code de Plume et donc conserver le bénéfice des mises à jour, le passage de variable se fait au travers d'un cookie et d'une table Mysql de type MEMORY (anciennement HEAP)
Le CREATE TABLE est porté ci-dessous en commentaire (plume_swap)
if (strlen($cat[$cat_len-2])
1){ /*on repasse le formulaire. Récupération de la catégorie*/ else { /*premier passage. Insertion en table HEAP du TimeRand et du type de catégorie*/
/* 1°) Effacer les anciennes données avec ce TimeRand */
/* 2°) Inserer nouvelle valeur et deposer un cookie */
$valeur = time().rand(1,250); Temps concaténé à nombre aléatoire


Deletions:
L'exemple décrit ci-dessous s'applique à un site découpé en n ressources classées en 3 rubriques (par exemple, un produit accessible par vendeur / acheteur / point de vente)
Ces fonctions décrivent la méthode de navigation permettant d'accéder à une liste de ressources restreinte alphabétiquement grâce à l'emploi de liens du type (# A B ... Z).
Une lettre n'est cliquable que si une ressource est disponible. La rubrique en consultation doit être conservée.
Pré-requis :
1/ Créer deux patrons "category_alpha.php" et category_liste.php (descriptions ci-dessous)
2/ Créer 27 catégories identifiée par # A B C D .... Z (# est pris pour 0..9) associés au patron category_alpha.php
3/ Utiliser la catégorie "lettre" comme catégorie secondaire de l'article ou de la news (par exemple, pour la news Savon, la catégorie secondaire doit être "S")
Fonctionnement : (Le code décrit ci-dessous est placé dans la div content des templates)
1/ La template category_liste.php sert de point d'entrée à category_alpha.php et affiche la totalité des ressources d'une rubrique
2/ La template category_alpha.php n'affiche que la liste restreinte pour la rubrique concernée.
Afin d'éviter d'impacter le code de Plume et donc conserver le bénéfice des mises à jour, le passage de variable se fait au travers d'un cookie et d'une table Mysql de type MEMORY (anciennement HEAP)
Le CREATE TABLE est porté ci-dessous en commentaire (plume_swap)
if (strlen($cat[$cat_len-2])
1){ /*on repasse le formulaire. Récupération de la catégorie*/ else { /*premier passage. Insertion en table HEAP du TimeRand et du type de catégorie*/
/* 1°) Effacer les anciennes données avec ce TimeRand */
/* 2°) Inserer nouvelle valeur et deposer un cookie */
$valeur = time().rand(1,250); Temps concaténé à nombre aléatoire




Edited on 2007-06-30 17:01:20 by RfrAal

Additions:
setcookie('lolib_nav', $valeur, time() 1296000);

Deletions:
setcookie('lolib_nav', $valeur, time()+1296000);



Edited on 2006-10-24 04:58:06 by ValerySorriaux

Additions:
else { /*premier passage. Insertion en table HEAP du TimeRand et du type de catégorie*/
/* 1°) Effacer les anciennes données avec ce TimeRand */
/* 2°) Inserer nouvelle valeur et deposer un cookie */


Deletions:
else { /*premier passage. Insertion en table HEAP du PHPSESSID et dy type de catégorie*/
/* 1°) Effacer les anciennes données avec ce PHPSESSID */
/* 2°) Insérer nouvelle valeur et déposer un cookie */




Oldest known version of this page was edited on 2006-10-24 04:52:08 by ValerySorriaux []
Page view:
L'exemple décrit ci-dessous s'applique à un site découpé en n ressources classées en 3 rubriques (par exemple, un produit accessible par vendeur / acheteur / point de vente)
Ces fonctions décrivent la méthode de navigation permettant d'accéder à une liste de ressources restreinte alphabétiquement grâce à l'emploi de liens du type (# A B ... Z).
Une lettre n'est cliquable que si une ressource est disponible. La rubrique en consultation doit être conservée.

Pré-requis :

1/ Créer deux patrons "category_alpha.php" et category_liste.php (descriptions ci-dessous)
2/ Créer 27 catégories identifiée par # A B C D .... Z (# est pris pour 0..9) associés au patron category_alpha.php
3/ Utiliser la catégorie "lettre" comme catégorie secondaire de l'article ou de la news (par exemple, pour la news Savon, la catégorie secondaire doit être "S")

Fonctionnement : (Le code décrit ci-dessous est placé dans la div content des templates)

1/ La template category_liste.php sert de point d'entrée à category_alpha.php et affiche la totalité des ressources d'une rubrique

<div id="content">
    <div id="actualites">
        <?php pxSingleCatTree('<ol class="tree">%s</ol>'); ?>
        <? 
            /* Boucle listant les lettres disponibles */
            $classement = array("#","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z");
            foreach ($classement as $lettre){
                ($lettre == '#') ? $compSql = "between 0 and 9" : $compSql = "= '".$lettre."'";
                $sql = "SELECT DISTINCT(SUBSTRING(category_name,1,1)) as category_letter FROM ".$con->pfx."categories
                        WHERE "
.$con->pfx."categories.category_parentid = ".$GLOBALS['_PX_render']['cat']->f('category_id')."
                        AND SUBSTRING(category_name,1,1) "
.$compSql."
                        GROUP BY category_letter"
;
                $rs = $con->select($sql);
                if($rs->f('category_letter') == $lettre)
                    echo "<a href=".config::f('rel_url').'/?/'.$lettre."><b>".$lettre."</b></a> ";
                else if(ereg('([0-9]{1})',$rs->f('category_letter')))
                    echo "<b>#</b> ";
                else
                    echo $lettre." ";
            }
        ?>              
    <p class="bandeau">Liste des ressources</p>   
    <?php
        $rs = pxSitemapCategoriesList($GLOBALS['_PX_render']['cat']->f('category_id'));
        while (list($titre, $val) = each($rs)){
            echo "<a href=".$val['path'].">".$titre."</a><br />";
        }
    ?>
    </div>
    <p id="pagination"></p>
</div> <!-- fin content -->


2/ La template category_alpha.php n'affiche que la liste restreinte pour la rubrique concernée.
Afin d'éviter d'impacter le code de Plume et donc conserver le bénéfice des mises à jour, le passage de variable se fait au travers d'un cookie et d'une table Mysql de type MEMORY (anciennement HEAP)
Le CREATE TABLE est porté ci-dessous en commentaire (plume_swap)

<div id="content">
   <div id="actualites">
    <?php pxSingleCatTree('<ol class="tree">%s</ol>'); ?>
    <?  /*
        CREATE TABLE `plume_swap` (
        `session` VARCHAR( 40 ) NOT NULL ,
        `request` VARCHAR( 50 ) NOT NULL ,
        PRIMARY KEY ( `session` )
        ) ENGINE = memory; */

        $catTemp = $GLOBALS['_SERVER']['HTTP_REFERER'];
        $cat = explode("/",$catTemp);
        $selection = explode("/",$GLOBALS['_SERVER']['REQUEST_URI']);
        $cat_len = count($cat);
        $selection_len = count($selection);
        if (strlen($cat[$cat_len-2]) == 1){    /*on repasse le formulaire. Récupération de la catégorie*/
            $sql = "SELECT ".$con->pfx."swap.request FROM ".$con->pfx."swap
                    WHERE "
.$con->pfx."swap.session_identifier LIKE '".$_COOKIE['lolib_nav']."'";
            $rsRequest = $con->select($sql);
            $stringCategory = $rsRequest->f('request');
        }
        else { /*premier passage. Insertion en table HEAP du PHPSESSID et dy type de catégorie*/
            /* 1°) Effacer les anciennes données avec ce PHPSESSID */
            $sql = "DELETE FROM ".$con->pfx."swap WHERE ".$con->pfx."swap.session_identifier = '".$_COOKIE['lolib_nav']."'";
            $rsDelete = $con->execute($sql);
            setcookie("lolib_nav","");
            /* 2°) Insérer nouvelle valeur et déposer un cookie */
            $valeur = time().rand(1,250); // Temps concaténé à nombre aléatoire
            setcookie('lolib_nav', $valeur, time()+1296000);
            $sql = "INSERT INTO ".$con->pfx."swap (session_identifier,request) VALUES ('".$valeur."','".$cat[$cat_len-2]."')";
            $rsInsert = $con->execute($sql);
            $stringCategory = $cat[$cat_len-2];
        }
           
        $sql = "SELECT category_id FROM ".$con->pfx."categories
                 WHERE "
.$con->pfx."categories.category_path LIKE '/".$stringCategory."/'";
        $rs = $con->select($sql);
        $classement = array("#","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z");
        foreach ($classement as $lettre){
            ($lettre == '#') ? $compSql = "between 0 and 9" : $compSql = "= '".$lettre."'";
            $sql = "SELECT DISTINCT(SUBSTRING(category_name,1,1)) as category_letter FROM ".$con->pfx."categories
                    WHERE "
.$con->pfx."categories.category_parentid = ".$rs->f('category_id')."
                    AND SUBSTRING(category_name,1,1) "
.$compSql."
                    GROUP BY category_letter"
;
            $rsAlpha = $con->select($sql);
            if($rsAlpha->f('category_letter') == $lettre)
                echo "<a href=".config::f('rel_url').'/?/'.$lettre."><b>".$lettre."</b></a> ";
            else if(ereg('([0-9]{1})',$rsAlpha->f('category_letter')))
                echo "<b>#</b> ";
            else
                echo $lettre." ";
            }
    ?>              
       
       
    <p class="bandeau">Tri en <?php echo $cat[$cat_len-2];?></p>   
    <?php
        $sql = "SELECT * FROM ".$con->pfx."categories
                 WHERE "
.$con->pfx."categories.category_parentid = ".$rs->f('category_id')."
                 AND "
.$con->pfx."categories.category_name LIKE '".$selection[$selection_len-2]."%'
                 ORDER BY "
.$con->pfx."categories.category_name";
        $rsListe = $con->select($sql);
        while(!$rsListe->EOF()){
            echo $rsListe->f('category_name')."<br />";
            $rsListe->moveNext();
        }
    ?>
    </div>
    <p id="pagination"></p>
</div>
Valid XHTML 1.0 Transitional :: Valid CSS :: Powered by Wikka Wakka Wiki 1.1.6.1
Page was generated in 7.2160 seconds