Lien hypertext créé à partir de la Base de donnée

Information importante

En raison d'un grand nombre d'inscriptions de spammers sur notre site, polluant sans relache notre forum, nous suspendons la création de compte via le formulaire de "sign up".

Il est néanmoins toujours possible de devenir adhérent•e en faisant la demande sur cette page, rubrique "Inscription" : https://www.drupal.fr/contact


De plus, le forum est désormais "interdit en écriture". Il n'est plus autorisé d'y écrire un sujet/billet/commentaire.

Pour contacter la communauté, merci de rejoindre le slack "drupalfrance".

Si vous voulez contacter le bureau de l'association, utilisez le formulaire disponible ici, ou envoyez-nous un DM sur twitter.

Bonjour,
je ne m'y connais pas beaucoup en développement web c'est pourquoi je requière votre aide.

Dans le cadre de mon boulot (très polyvalent) on m'a demandé de modifier légèrement notre site web. Notre site est sous drupal. Il me faut ajouter un bouton de lien hypertexte qui dirige l'utilisateur vers une autre page contenant une vidéo. le lien de redirection peut être paramétré. J'ai donc ajouté un champ TEXTE pour y mettre le lien dans ma structure de page via l'interface drupal .

et dans le code du Template j'ai fait ceci en tentant de m'inspirer de ce qui avait déjà été codé au par avent par l'organisme qui a codé notre site web.

<div class="lien lien-noir"><span><a class="lien-video" href="<?php ($content['field_lien_video']); ?>" target="_blank"><?php if($lang_name=="en"){ print t('See</br>video');}else if($lang_name=="fr"){ print t('Voir la</br>vidéo'); } ?></a></span></div>

mais lorsque je clique sur mon lien, cela ne fait que relancer la page actuelle , quand dans mon navigateur je copie l'adresse du lien , c'est bien celle de la page actuelle et non celui du lien inséré dans le champ prévu a cet effet.

j'ai tenté de faire apparaître le lien contenu dans le champs tel que voici :
<?php print render($content['field_lien_video']);?>

Le lien est bien celui du champs. Mais c'est uniquement sur le bouton qu'il est mauvais. pourriez vous m'indiquer ce que j'ai mal fait?

Forum : 

Bonjour,
Tout d'abord merci d'avoir pris un peu de temps pour me répondre.

Je suis vraiment une novice en web. Je n'ai donc pas compris tout concernant le lien que tu m'as donné:
- Créer un champs URL ça pas de soucis. Je vois comment faire
C'est dans le template que ca coince un peu. J'ai du mal a savoir ce que je doit mettre exactement.

Voici l'exemple donnée par la doc :

<em><div class="field_my_new_link" target="[target_value]"><a href="[URL]">[Title]</a></div></em>

Dis moi si je me trompe, mais si j'ai bien compris il faut que je modifie 'field_my_new_link' par le nom de mon champs ( exemple 'champURL').
Mais si je change le class ici, la classe qui gere le bouton ne sera pas utilisé. A moins que je puisse metre ce div là, dans le div qui gere ma classe de bouton?

Ensuite mon objet de base semble etre une structure ou un Tableau puisque je dois faire : $content['field_lien_video']
Du coup dans class je dois mettre $content['champURL'] ou 'champURL'?

si je met juste 'champURL' comment le code fait-il le lien avec content?

Désolé si mes questions peuvent parraitre un peu stupide, mais comme je disais je n'y connais vraiment absolument rien en web.Et je n'ai donc pas la logique associée.

Merci d'avance.

Normalement il ne faut pas toucher au template, c'est Drupal qui gère ça tout seul.

Si on ajoute un champ, Drupal va l'afficher à la suite des autres champs (title, body, etc).
Lorsqu'on crée / ajoute le champ dans le type de contenu on peut aussi gérer l'affichage, et préciser si on affiche le champ ou pas, et éventuellement utiliser un formatage spécifique

Oui l'ajout du champs ce fait directement dans drupal, mais là je parle du code qui me permet d'afficher le bouton sur le site.

Je m'explique peut être un peu mieux :
J'ai un type produit dans Drupal, pour le quel il y a différent champs qui me permettent de gérer le texte affiché dans le site pour chaque produit, Je veux ajouter un champs URL dans cette page de configuration des produits pour ensuite faire en sorte que sur la page du produit il y ai un bouton qui pointe vers cet URL( ici un video de présentation du produit venant de Youtube/DayliMotion, etc).

Donc oui je suis d'accord que l'ajout du champs URL se fait sur Drupal mais le lien entre ce champs et le bouton final se fait bien dans le template non?

Es-ce bien ça?

Bonjour,

il manque le print render dans votre code, le code corrigé :

<div class="lien lien-noir"><span><a class="lien-video" href="<?php print render($content['field_lien_video']); ?>" target="_blank"><?php if($lang_name=="en"){ print t('See</br>video');}else if($lang_name=="fr"){ print t('Voir la</br>vidéo'); } ?></a></span></div>