CMS Automne
http://www.automne-cms.org/forum/

[Résolu] Limite de caractere pour un lien
http://www.automne-cms.org/forum/viewtopic.php?f=2&t=1063
Page 1 sur 2

Auteur:  Cguillaume [ Mer Oct 26, 2011 4:31 pm ]
Sujet du message:  [Résolu] Limite de caractere pour un lien

Lors de la création d'un champ de type "lien" dans un module, il semble qu'il y ait une limitation du nombre de caractère. Comment faire pour contourner cette limitation ?
Merci.

Auteur:  Frank [ Mer Oct 26, 2011 5:16 pm ]
Sujet du message:  Re: Limite de caractere pour un lien

Les libellés de lien sont en effet limités à 255 caractères, rien ne t'empêche d'ajouter un champ texte HTML à ton module et de faire un lien sur tout le bloc (c'est autorisé en HTML5).

Auteur:  Cguillaume [ Jeu Oct 27, 2011 3:51 pm ]
Sujet du message:  Re: Limite de caractere pour un lien

Mon problème vient plutôt de mes non-compétences en PHP alors...
Bien que ma question ne traite a priori pas directement du fonctionnement d'Automne, quelqu'un aurait-il une piste :

J'essaye de créé un module où l'on saisi des url relativement longues que je traite ensuite dans un file_get_contents.
- Si j'écris cet url directement dans mon modèle de rangée dans ma fonction file_get_contents ca marche très bien.
- Si je créé un module avec un champ texte où je saisi cet url, lorsque je récupère celui-ci dans ma fonction file_get_contents il ne traite pas toute la chaîne de caractère de l'url. Je ne sais pas d'où vient l'erreur, est-ce en rapport avec Automne ou avec mon code PHP ?

Auteur:  Frank [ Jeu Oct 27, 2011 5:03 pm ]
Sujet du message:  Re: Limite de caractere pour un lien

Tu as du code à nous montrer ?

Auteur:  Cguillaume [ Ven Oct 28, 2011 11:35 am ]
Sujet du message:  Re: Limite de caractere pour un lien

Ceci est le code php (je n'ai mis que l'essentiel) qui fonctionne bien si je saisi l'ur dans le code de ma rangée, du type :
Code :
http://www.lesite.com/detail-de-la-competition.html?tx_........
Code :
<?php
    $siteffhb = 'http://longueUrl';     
    $source = file_get_contents(stripslashes($siteffhb));
    preg_match('monTraitement', $source, $classement);
    print_r($classement[0]);
?>
Si je créé un module avec un champ texte, ma rangée est donc :
Code :
<block module="equipes" id="classementSeniorsMasculins01">
    <atm-search what="{Liens_site_FFHB}" name="classementSeniorsMasculins01">
        <atm-result search="classementSeniorsMasculins01">
        <?php
            $siteffhb = {Liens_site_FFHB:Lien:value} ;         
            $source = file_get_contents(stripslashes($siteffhb));
            preg_match('monTraitement', $source, $classement);
            print_r($classement[0]);
        ?> 
        </atm-result>
    </atm-search>
</block>
Mais ca ne fonctionne pas bien, comme si l'url n'était pas interprétée en entière, comme par exemple ce qui suit le "?"...

Auteur:  atm4u [ Ven Oct 28, 2011 11:01 pm ]
Sujet du message:  Re: Limite de caractere pour un lien

Bonsoir,
Si tu as utilisé un champ texte, il est fort possible que tu es <p>{lien}</p>.
As tu fait un print de ta $siteffhb avant utilisation histoire de vérifier ?

Auteur:  Cguillaume [ Sam Oct 29, 2011 3:18 pm ]
Sujet du message:  Re: Limite de caractere pour un lien

@Atm4u : j'ai effectivement utilisé un champ texte, mais non html, ma valeur {Liens_site_FFHB:Lien:value} n'est donc pas dans une balise <p>. J'avais déjà testé cela... :cry:

Ce que je ne comprends pas, c'est que si j'ajoute dans mon block un
Code :
<a href="{Liens_site_FFHB:Lien:value}" alt="title"">Lien direct</a>
ça fonctionne, lorsque je clique sur le lien il m'ouvre la page que je souhaite.
Par contre, dans mon petit traitement php supplémentaire qui suit, ya un disfonctionnement et malgré mes tests je ne trouve pas d'où ça peut venir...

Auteur:  atm4u [ Sam Oct 29, 2011 3:39 pm ]
Sujet du message:  Re: Limite de caractere pour un lien

D'accord, il s'agit donc d'un problème php et pas d'Automne.
Je vais jeter une œil à la doc php.

Auteur:  atm4u [ Sam Oct 29, 2011 3:45 pm ]
Sujet du message:  Re: Limite de caractere pour un lien

Ton problème est la longueur de l'url.
Une url ne doit pas dépasser 256 caractères. Le fait que tu passes par un champ texte pour éviter la problématique ne fait que la reporter.
La fonction php "file_get_contents" prend en paramètre un String, et un string est limité à 256 caractères...
Donc ton problème reste entier.
Voila des liens vers la doc php.

http://fr2.php.net/manual/en/function.f ... ntents.php
http://php.net/manual/en/language.types.string.php

Auteur:  Cguillaume [ Sam Oct 29, 2011 4:01 pm ]
Sujet du message:  Re: Limite de caractere pour un lien

Merci pour tes recherches, mais le contenu dans la fonction "file_get_contents" n'est pas limité comme tu le spécifies.

- Comme expliqué auparavant, si je saisi directement cette longue url (bcp plus de 256 caractères) directement dans ma rangée contenant le code php et ma fonction "file_get_contents" ça fonctionne très bien.
- mais du coup il faut à chaque fois que l'on veut modifier le lien aller le faire dans le modèle de rangée,
- j'avais donc créer un module pour rendre cette mise à jour des liens beaucoup plus simple

Mais pb toujours en cours, ça marche pas ?????

Auteur:  atm4u [ Sam Oct 29, 2011 4:09 pm ]
Sujet du message:  Re: Limite de caractere pour un lien

Ok,
as tu fait un print à chaque étape histoire de voir ?
as tu regarder l'error log s'il remonte quelque chose ?
as tu mis la cache à zero sur ta recherche polymod ?

De mon côté je vais essayé de faire le module, histoire de voir.

Auteur:  Cguillaume [ Sam Oct 29, 2011 4:15 pm ]
Sujet du message:  Re: Limite de caractere pour un lien

merci pour ton aide atm, je dois partir là...
mais si tu veux je peux te donner un accès en MP au site en question pour que tu y jettes un oeil directement plutôt que de refaire le module et la manip'

A bientôt, merci du coup de main en tout cas...

Auteur:  Cguillaume [ Sam Nov 12, 2011 6:08 pm ]
Sujet du message:  Re: Limite de caractere pour un lien

Après quelques recherches le problème semble venir du traitement du champ texte de mon module, qui par défaut transforme les "&" de l'url en "&amp;".
Du coup le lien n'est plus valide, quelqu'un sait-il comment traiter ce champ texte afin que les "&" ne soient pas transformés en "&amp;" ???

Auteur:  Cguillaume [ Dim Nov 13, 2011 2:10 pm ]
Sujet du message:  Re: Limite de caractere pour un lien

Résolu, grâce en partie à l'aide fournie dans Automne qui s'est encore étoffée.

Auteur:  Frank [ Lun Nov 14, 2011 2:37 pm ]
Sujet du message:  Re: [Résolu] Limite de caractere pour un lien

Cool.

P.S : Ce serait sympa si tu recopiais la solution ici pour les prochains qui rencontreraient le même problème ;)

Page 1 sur 2 Le fuseau horaire est UTC [Heure d’été]
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/