Передать id айфрейма в форму которая внутри iframe?
Господа, прошу помощи.
Как передать id айфрейма в форму, которая расположена внутри этого айфрейма? Копаю в сторону iframeresizer, там есть функции вызова messageCallback и readyCallback, но не соображу как из js данные передать в php и вставить инпут существующей формы. (это нужно для идентификации айфрейма с которого отправлены форма).
ЗЫ. Сайт "донор" на MODX revo. Если это важно )
Заранее спасибо всем!
смысл в том чтобы была возможность раздавать код партнерам для размещения моего "магазина" у них на сайте. для каждого кода (оноже айфрем) будет свой айди. и его надо както идентифицировать чтобы было понятно от кого из партнеров прилетело письмо
Stalker_RED, ключ прописывается в src для айфрема. Т.е. разницы нет с id, т.к. его оттуда надо выдрать как-то направить в форму. Буду курить window.parent
Там же ещё возможны name,которые можно отловить. правда как это сделать я пока не понял. Задачка с виду пустяковая, но чтот не случается решение. Посмотрю, может какой-то парсер можно собрать в cms-ке
Алексей Ляпин, она и есть пустяковая.
1. Сгенерировать для каждого клиента ключ
2. раздать клиентам код типа <iframe src="...?key=XXXX"></iframe>
3. если в запросе есть ключ - сохранять его в сессию
Stalker_RED, спасибо! Вощмта немного об этом я вроде знаю. И даже умудрялся написать пару велосипедов на php, либо что-то в js. Но обычно это получалось из-за отталкивания от примеров в сети )
Тут у меня основная сложность в том, что фреймовые дела в js и я не понимаю как их "преобразовать" php.
Т.е. чтобы скрипт отправил как-то запрос, его отловил бы php сниппет modx и подсунул в нужно место.
Пол проблемы решил. На стороне донора сделал такой php скрипт который отлавливает ключ айфрейм. Но при переходе по ссылкам каталога - ключ сбрасывается. Буду думать как его "закрепить".
session_start();
if (!empty($_REQUEST['key'])) { // если есть в запросе
$key = $_REQUEST['key'];
$_SESSION['key'] = $key; // сохраняем в сессию
} elseif (!empty($_SESSION['key'])) { // если есть в сессии
$key = $_SESSION['key'];
} else {
$key = null;
}
Спасибо! На первый взгляд всё заработало.
Немного под синтаксис modx рихтанул
<?php
if (!empty($_REQUEST['key'])) { // если есть в запросе
$key = $_REQUEST['key'];
$_SESSION['key'] = $key; // сохраняем в сессию
} elseif (!empty($_SESSION['key'])) { // если есть в сессии
$key = $_SESSION['key'];
} else {
$key = null;
}
return $key;
на главную страницу подсунул этот сниппет в невидимом элементе, чтобы ключ подхватывался от первого перехода.
Вставил с ниппет в нужный инпут формы.
Потестил с двух сайтов "родителей" на трех браузерах. Вроде пока всё работает.