Wikini

DiscussionsActionBacklinks

PagePrincipale :: DerniersChangements :: DerniersCommentaires :: ParametresUtilisateur :: Vous êtes ec2-54-234-136-147.compute-1.amazonaws.com

Discussions sur l'ActionBacklinks


Ailleurs


Paramètre "title"

On peut aussi songer à ajouter un attribut "title" au cas où l'utilisateur souhaite personnaliser le titre proposé par défaut. Au lieu de "Pages ayant un lien vers XXXXX :" on pourrait avoir, par exemple :
-- CharlesNepote
Penser aussi à un attribut "notitle" afin de ne pas avoir de titre du tout. --PatriceLegoux

Paramètre "exclude"

Un petit problème à propos de ce paramètre, c'est, qu'à moins d'éditer la page, l'utilisateur ne voit pas que certaines pages ont été exclues -- il aimerait peut être le savoir. Peut-être faut-il changer le libellé : "Pages ayant un lien vers la page courante : " deviendrait dans ce cas : "Pages ayant un lien vers la page courante (hors exclusions) : ".
-- CharlesNepote

Sémantique du code HTML généré

Le code HTML généré par cette action n'est sémantiquement pas très correct. L'action génère par exemple :

Pages ayant un lien vers la page courante : <br />
<a href="http://localhost/wikini2/wakka.php?wiki=ActualitesDeWikini">ActualitesDeWikini</a><br />
<a href="http://localhost/wikini2/wakka.php?wiki=DeveloppementDeWikini">DeveloppementDeWikini</a><br />

Il serait préférable d'utiliser des balises "<p></p>" et/ou éventuellement les balises correspondant aux listes : "<li></li>".
-- CharlesNepote


Suggestion :
Avoir une action ayant le même effet, mais affichant en plus, sur la même ligne que le NomWiki de la page, le "titre" de la page. Serait considéré comme "titre" la première ligne de la page, sans les éventuels séries === de début et de fin. -- jexOm.

Je ne suis pas très chaud car ton idée dépend d'une pure convention d'écriture qui n'est pas partagée par tout le monde -- sans parler du fait que cette convention ne me paraît pas forcément logique : le premier titre de la page est conventionnellement... le titre de la page ;). Peux-tu éventuellement préciser ton besoin ? -- CharlesNepote

En fait, c'est un besoin qui est peut-être plus large (il faudra donc déplacer cette discussion ailleurs...). Je constate que je suis souvent en train de faire des choses comme :
Ca serait donc bien d'avoir une action qui génère toute seule le [[UneJoliePage Un joli titre]] dans UnePage, en allant chercher le titre là où il est : au début de UneJoliePage.
Donc, voilà pour le besoin général.
Maintenant, pour les ActionBacklinks : je me sers souvent de {{BackLinks}} pour avoir une liste automatique de références sur un sujet donné : une sorte de catégorisation des pages :
Voilà, la page CeciEstUneCategorie contient une liste gérée automatiquement. Seulement, on a que les noms wiki dans cette liste ; ça pourrait être bien d'avoir les titres à la place dans les liens (même principe que mes jolis titres ci-dessus). -- jexOm.



Constat :
Avec l'action {{BackLinks}} quand on fabrique un wikini avec des rubriques(1) et sous-rubriques cette action reprend dans une page sommaire toutes les rubriques ET sous-rubriques. Il n'ya comme possibilité actuellement que le exclude pour supprimer les sous-rubriques de la page sommaire ?

(1) Sous cette forme :
SOMMAIRE avec {{BackLinks}}
Thème 1 (Retour Sommaire avec un lien entre crochets)

Thème 2 (Retour Sommaire avec un lien entre crochets)

Toutes les pages Thème 1,2 ont unaffichage dans le sommaire ce qui est bien mais par contre prend en compte aussi les pages des thèmes ce qui est moins bien dans mon cas. Alors que les pages des thèmes ne pas sont liées directementavec la page sommaire elles sont tout de même prises en compte.

J'ai le cas d'une page Thème 1 et à l'intérieur de cette page j'ai un lien vers la page 1. J'ai fait un test en plaçnat {{BackLinks}} dans la page 1 et il n'y a pas de lien vers d'autres page du wikini et pourtant cette page apparaît dans le sommaire ?

Comment faire sans avoir à faire{{BackLinks exclude="page1.1;page1.2;page2.1;page2.2"}} sur la page sommaire ?--
-- Michel

Début de réponse : je viens de lire "Sur la page personnelle d'un utilisateur, cette action affichera aussi les pages dont il est le propriétaire ou le dernier modificateur." Dans ce cas... pas de possibilités d'y échapper !
Ben non, même en me supprimant comme proprio de la page 1 et de la page Thème 1, la page 1 apparaît dans le sommaire. Donc, il reste le dernier modificateur de la page et je suis celui-là. Moralité impossible sauf à modifier le code pour supprimer proprio et dernier modificateur... Ça c'est une autre histoire.

Ton problème vient de la mauvaise gestion du linktracking pour les actions (voir DevActionsEntetePiedDePageEtLinkTracking) car j'imagine que tu utilise une ActionTrail dans chacune des pages de thème et le lien qu'elle génère vers la page sommaire est donc tracké... D'un autre côté c'est logique que ce lien soit tracké vu que la page sommaire est inséparable des pages qu'elle indique. C'est le linktracking qui permet l'utilisation de l'aciton backlinks, et celui-ci sert aussi à déterminer si une page est orpheline (notemment pour pouvoir la supprimmer). Étant donné que la page sommaire est d'une importance capitale pour les pages utilisant une ActionTrail sur celle-ci, il est logique qu'il y ait un lien entre les deux pour empêcher sa suppression, et ce lien apparait dans les backlinks... -- LordFarquaad


Suggestion:
Serait-il possible d'avoir un paramètre donnant le lien sur la page d'où l'on vient ? une sorte de {{backlink}} sans "s" ?
Il suffirait de gérer un paramètre back dans l'url. -- FranCois


Suggestion: (Répondant partiellement au problème de Michel)
Existe t'il, on serait-il possible d'ajouter des paramètres à l'action BackLinks du type AND, OR et NOT (&,|,!) ?
Elle serait rédigée de la manière :
{{backlinks page=" MotClefs1 & MotClefs2 & !MotClefs3"}}
On aurait donc les pages lqui sont liées aux pages MotClefs1 et MotClefs2, mais qui ne sont pas liées à la page MotClefs3 (interessant pour la création de catégorie, et faire une distinction entre les pages de liens et les pages ayant un contenu.

On pourrait imaginer une construction semblable pour ActionTextSearch avec le paramètre Phrase

Comment faire pour insérer dans une page un lien vers les pages liées à la page courante ? En fait, je ne veux pas directement afficher toutes les pages liées dans la page mais simplement mettre un lien "Voir les pages liées à cette page" et lorsqu'on clique dessus, on visualise les pages liées.
Merci
AnDre
Suggestion:
Je vous propose l'attribut filtre afin de filtrer les backlinks à afficher
=> il filtre sur toute l'url du backlink et ne tiens pas compte de la casse

<?php

/*
backlinks.php

Copyright 2002  Patrick PAUL
Copyright 2003  David DELON
Copyright 2003  Charles NEPOTE

This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
*/
    
$filtre=$this->GetParameter("filtre");

    if (
$this->GetParameter("page"))
    {
        
$page $this->GetParameter("page");
        
$title "Pages ayant un lien vers ".$this->ComposeLinkToPage($page)."&nbsp;: <br />\n";
    }
    else
    {
        
$page $this->getPageTag();
        
$title "Pages ayant un lien vers la page courante&nbsp;: <br />\n";
    }

    
$pages $this->LoadPagesLinkingTo($page);

    if (
$pages)
    {
        echo 
$title;
        if (!
$exclude $this->GetParameter("exclude"))
        {
            foreach (
$pages as $page)
            {
                
$lien=$this->ComposeLinkToPage($page["tag"]);
                                if (!
$filtre) echo $lien "<br />\n";
                                else if (
preg_match("/".$filtre."/i",$lien))  echo $lien "<br />\n";
            }
        }
        else
        {
            foreach (
$pages as $page)
            {
                
// Show link if it isn't an excluded link
                
if (!preg_match("/".$page["tag"]."(;|$)/"$exclude)) 
                                {
                                    
$lien=$this->ComposeLinkToPage($page["tag"]);
                                    if (!
$filtre) echo $lien "<br />\n";
                                    else if (
preg_match("/".$filtre."/i",$lien))  echo $lien "<br />\n";
                                }
            }
        }
    }
    else
    {
        echo 
"<i>Aucune page n'a de lien vers "$this->ComposeLinkToPage($page), ".</i>";
    }
?>

--FiloNet
Commentaires [Cacher commentaires/formulaire]