Transmettre des paramètres vers iframe

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 à tous,

Commençons par ce que je sais : utiliser des iframe c'est mal, j'en ai conscience mais dans le cas présent je n'ai pas le choix.

Alors que j'avais réalisé le site du client ainsi que toute la section RH du site, en créant des contenus dédiés, une view qui listait toutes les offres d'emploi, et un formulaire pour postuler, et que tout fonctionnait à merveille depuis 2 ans, ce dernier a décidé de faire appel à un prestataire RH et m'a gentiment demandé de remplacer ce que j'avais sur le site pour intégrer la solution du partenaire en question.

Et la, c'est le drame, non pardon, c'est l'iframe.

Je dois réaliser des pages qui hébergent des iframe, pour réussir à faire quelque chose de ce type :

une page : www.site.com/openPositions/description?id=aaa&idDiffusion=bbb

sur laquelle il y a un iframe qui pointe vers le serveur du prestataire rh :
<iframe src="http://solutionduprestatair/portal.jsp?c=1234567&p=1234567&g=1234567&id=aaa&idDiffusion=bbb" width="1000px" height="1180px" scrolling=auto transparency=true</iframe>

Mon problème se situe au niveau des paramètres id et & idDiffusion, comment faire pour que ces informations soient transmises à l'iframe ? En effet, le client et le prestataire en question veulent pouvoir faire des liens directs vers la page www.site.com/openPositions/description?id=aaa&idDiffusion=bbb avec la bonne offre d'emploi qui s'affiche tant qu'à faire, ici l'annonce qui à l'id "aaa".

Merci de m'avoir lu, je suis ce qu'on appelle une quiche en code : je ne sais pas développer par moi même, mais j'arrive à comprendre et faire ce qu'on me dit, donc toute aide est la bienvenue. Si un pro / indépendant, veut se pencher dessus, cela sera rémunéré si un accord est trouvé entre nous.

Version de Drupal : 
Tags : 

Je pense avoir un début de réponse en javascript, mais je ne sais pas comment implémenter cela.

Etape 1 : Tout d'abord, suivre ce qui est indiqué sur ce lien : http://www.toutjavascript.com/reference/reference.php?iref=89 pour récupérer l'élément désiré avec :

<SCRIPT language=javascript>
document.write("window.location.search= " + window.location.search);
</SCRIPT>

Cependant, je ne sais pas ou insérer ce code ni comment. Je l'ai donc insérer dans le fichier page.tpl.php de mon thème, étant donné que c'est sur des pages classiques que je vais insérer mes iframe.

Conclusion partie 1 : il se passe bien quelque chose, car j'ai désormais ceci qui s'affiche en bas de mes pages, au dessus du footer : "window.location.search= ?id=a&idDiffusion=bbbbbbbbb "

Cependant, je n'avais pas particulièrement envie que cela s'affiche sur ma page. J'ai donc du l'implémenter à un mauvais endroit, mais je ne vois pas ou le mettre.

Etape 2 : Puis utiliser ce code pour passer le paramètre à l'iframe :

<script language="javascript">
    var iframe = document.getElementById('myiframe');
        iframe.src = iframe.src + window.location.search;
</script>

Cependant, une fois encore, je ne sais pas ou insérer ce code, ni ce que je dois personnaliser pour que cela fonctionne. Sur cette étape, je ne sais pas du tout insérer le code, et mon ifram étant insérer dans le contenu de la page, je ne comprends pas trop le bout de code ('myiframe');

Si certains ont des pistes, des alternatives, ou sont en mesure de m'expliquer comment implémenter la solution ci-dessus qui semblerait répondre à mon besoin, je suis preneur.

Si un pro / indépendant, veut se pencher dessus, cela sera rémunéré si un accord est trouvé entre nous.

D'avance merci.

Toujours dans l'attente d'une éventuelle aide extérieure, en approfondissant mes recherches, j'ai pu trouver qu'en Jquery, un code de ce type semble fonctionner :

$(function() {
    var search = window.location.search;
    $("#myiframe").attr("src", $("#myiframe").attr("src")+search);
});

Mais une fois de plus je ne sais pas où l'implémenter...j'ai l'impression également que la syntaxe n'est pas parfaite...

Bon il semblerait qu'avec Jquery et :

$(function() {
    var search = window.location.search;
    $("#myiframe").attr("src", $("#myiframe").attr("src")+search);
});

Cela fonctionne :) j'ai encore un comportement bizarre, mais je pense que c'est lié à l'iframe du prestataire, car les paramètres passent ! Je confirmerai ultérieurement. Pause jusqu'à demain.