Aller au contenu

martin

Hubmaster
  • Compteur de contenus

    176
  • Inscrit(e) le

  • Dernière visite

Messages postés par martin

  1. On en met un seulement si cela est nécéssaire, faudrait voir pour adapter les bbcode... mais on peut aussi imaginer que le script aille chercher la langue de la page en question, en fonction des ses metas, et de génerer un title en fonction du nom de l'url...

    L'interet de cette fonction est surtout pour génerer une liste de liens dynamiquement avec une base de données...

  2. Comme je suis fainéant, j'ai fait un bout de code qui m'écrit mes liens...

    Ainsi je n'ai plus qu'a remplir un tableau et appeler la fonction.

    Cela à deux avantages. Premièrement, mon lien est forcément valide. plus à passer par la vérification XHTML. surtout si le lien à été géneré par un utilisateur d'un forum par exemple...

    Deuxièmement, je trouve cela plus simple et moins contraignant, mais ca c'est mon avis. Il suffit de remplir les valeurs qui nous interressent et de laisser les autres vides. Il faut bien evidemment combiner ceci avec un fichier css, notamment pour l'attribut "lang"

    La fonction

    <?php
    function nc_make_link($link)
    {
    //inclusion du template
    include('site/tmp/template_link.php');

    echo $template_link;
    }
    ?>

    Le template

    <?php
    $template_link='<a href="'.$link['url'].'" title="'.$link['title'];
    //si le lien doit s'ouvrir dans une nouvelle fênetre, on le marque dans l'attribut title
    if(isset($link['window']) && $link['window'] == 'new')
    {
    $template_link.=' dans une nouvelle fenêtre';
    }
    $template_link.='"';
    //si il y a une accesskey, on l'ajoute
    if(isset($link['accesskey']) && !empty($link['accesskey']))
    {
    $template_link.=' accesskey="'.$link['accesskey'].'"';
    }
    //si il y a une class css on l'ajoute
    if(isset($link['class']) &&  !empty($link['class']))
    {
    $template_link.=' class="'.$link['class'].'"';
    }
    //si le lien doit s'ouvrir dans une nouvelle fênetre, on le fait en javascript pour rester conforme XHTML
    if(isset($link['window']) && $link['window'] == 'new')
    {
    $template_link.=' onclick="window.open(this.href,\'_blank\'); return false;"';
    }
    //Si la langue est différente du francais, on rajoute l'attribut lang
    if(isset($link['lang']) && ($link['lang']!='fr' && $link['lang']!=''))
    {
    $template_link.=' hreflang="'.$link['lang'].'"';
    }
    $template_link.='>'.$link['name'].'</a>';
    ?>

    L'appel de fonction

    <?php
    //initialisation des variables
    unset($link);
    //remplissage des données, ne mettre que celle dont on à besoin, les autres sont facultatives
    $link['name'] = 'nom du lien';
    $link['url'] = 'http://www.domaine.tld';
    $link['title'] = 'title';
    $link['accesskey'] = '1';
    $link['window'] = 'new';
    $link['lang'] = 'fr';
    $link['class'] = 'classe css';
    //Appel de la fonction
    nc_make_link($link);
    ?>

    Cet code est en fonction sur mon site : http://new-concept.supiot.net

    Voilà, si vous y voyez des améliorations...

    <modérateur: déplacé en PHP & MySQL : plus adapté>

  3. Et j'ajouterai que quitte à se mettre à apprendre un langage, aprends le plus récent, il restera plus longtemps compatible avec les navigateurs, et sera plus évolutif, plus structuré.. plus simple, logique... le XHTML

  4. Apparement, il va falloir leur expliquer que tu veux du xhtml, puisque le code vient directement de chez eux, et que tu ne peux pas le modifier...

    je ne voit pas trop ce que tu pourrais faire d'autre...

    ou alors, faire un bout de script qui modifie le script envoyé. tu coupe le flux, tu modifie et tu envoie le flux modifié. au moins tu sera compatible xhtml.

    demande si tu veux une explication plus détaillée, mais je sais que j'avais fait cela pour afficher un phpinfo avec mes styles css, en modifiant le flux, j'avais modifié les noms des class par défaut du flux retourné par phpinfo.

  5. Bon, je te montre comment je fait :

    <a href="http://martin.supiot.net/" onclick="document.location.href='?page=link&type=work&count=4'; window.open(this.href,'_blank'); return false;" title="Atteindre le site Martin.supiot.net">Martin.supiot.net</a>

    le onclick redirige vers la page lien : ?page=link&type=work&count=4

    je met en argument le type de lien pour ouvrir la page correspondante, et le numero du lien dans ma base de données pour pouvoir faire l'incrémentation.

    Quant au lien, il s'ouvre dans une nouvelle fenêtre, via le javascript suivant : window.open(this.href,'_blank');

    Si tu ne veux pas ouvrir le lien dans une nouvelle fenêtre et que tu veux un lien en dur, il faut ouvrir la page de compteur, incrémenter et refermer la page avec un javascript.

    en espérant que cela te convienne ;-)

×
×
  • Créer...