Salut tout le monde,
J'ai un petit problème avec les liens. Dans ma basse de donnée j'ai prévu un champ "website". Sur le profil il pourrons mettre un lien vers leur site web.

Cake Php sort le lien de la mauvaise manière quand je utilise cette ligne :

<?= $this->Html->url($u'website'],$u'website'],true)

ou

<?= $this->Html->link($u'website'],$u'website'],true)

il me sort le lien suivant :

http://localhost:8888/profil/www.musicalitymaker.com

ou

<a href="<?= $u'website'];?>"><?= $u'website']; ?></a>

et je veux comme ce-ci :

www.musicalitymaker.com

Comment je fait pour qui redirige vers le site web que l'utilisateur à rentré?

Merci de votre aide en avance.

5 réponses


Maenhyr
Réponse acceptée

Tu as donc deux solutions :
1 - Tu obliges tes utilisateurs à entrer http:// ou bien tu l'ajoutes dans un beforeSave(). Dans le deuxième cas, il te faut tester si l'utilisateur ne l'a pas déjà entré.

2- Tu utilises Router::url();

<?php echo $this->Html->link(Router::url($u'website'])); ?>

Bonjour,

Techniquement

<?php echo $this->Html->link($u'website']); ?>

devrait suffire.

lakamark
Auteur

Désolé, le résultat me donne encore le même.

Comment sont géré tes liens ? Est ce que l'utilsateur doit taper www.grafikart.fr ou bien http://www.grafikart.fr ? Car je crois qu'il y a un problème de ce genre si le lien ne possède pas le protocole. Tu peux y remédier en l'ajoutant dans ton beforeSave() par exemple.

lakamark
Auteur

L'utilisateur doit tapper dans le champ : www.grafikart.fr