Submitted by flamme34 on
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?
Personne ne sait?
Permalien Soumis par flamme34 le 20 Mai, 2015 - 14:56
Personne ne sait?
Personnellement j'aurai
Permalien Soumis par vincent59 le 20 Mai, 2015 - 16:18
Personnellement j'aurai ajouté un champ de type Lien (https://www.drupal.org/project/link), qui permet de gérer les liens vers des pages html, et qui s'intègre donc nativement dans les templates.
Je pense que par défaut Drupal "nettoie" les champs de type texte des tags html qu'il peut y trouver, pour des raisons de sécurité.
Bonjour,
Permalien Soumis par flamme34 le 22 Mai, 2015 - 17:04
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
Permalien Soumis par vincent59 le 22 Mai, 2015 - 22:30
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
Permalien Soumis par flamme34 le 25 Mai, 2015 - 09:32
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?
En tout cas c'est ce qui
Permalien Soumis par flamme34 le 27 Mai, 2015 - 11:38
En tout cas c'est ce qui semble etre fait pour le bouton de contact qu'il y a juste a coté.
Bonjour,
Permalien Soumis par kovalsky le 5 Juin, 2015 - 10:56
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>