ciao a tutti, vorrei creare un cookie contenente il PRIMO referer (quello esterno).. mi servirebbe per recuperare l'id di un affiliato..
cercando su internet sembra che la soluzione migliore si quella di creare un nuovo modulo e di inserire la funzione lì.. se questa è la soluzione migliore qualcuno mi potrebbe spiegare brevemente come fare?
grazie
utilizzare cookie per referer html
Mer, 15/12/2010 - 15:11
#1
utilizzare cookie per referer html
Procedi così:
Segue....
referer.info ha la seguente sintassi:
; $Id: referer.info,v 1.0 2010-12-15 17:21:00 danzisiweb Exp $
name = Referer
description = "Modulo per recuperare id di un affiliato"
core = 6.x
; Information added by danzisiweb packaging script on 2010-12-15
version = "6.x"
project = "drupal"
datestamp = "1292430060"
Segue.....
referer.install ha la seguente sintassi:
<?php
// $Id: referer.install,v 1.1 2010-12-15 17:21:00 danzisiweb Exp $
function referer_install() {
drupal_set_message(t('New module referer istalled.'));
watchdog('referer','Installed referer module ');
}
/**
* Implementation of hook_uninstall().
*/
function referer_uninstall() {
drupal_flush_all_caches();
drupal_set_message(t('Module referer Uninstall.'));
watchdog('referer', 'Uninstall referer module');
}
Segue altro passo....
referer.module ha la seguente sintassi:
<?php
/**
* Display help and module information
*/
function referer_help($path, $arg) {
$output = '';
switch ($path) {
case "admin/help#referer":
$output = '<p>'. t("Allows you to show phpinfo inside the site and more") .'</p>';
break;
}
return $output;
}
/**
* Valid permissions for this module
* @return array An array of valid permissions for the referer module
*/
function referer_perm() {
//an administrator can define which roles have those permissions on the Administer » User management » Permissions page.
return array('access referer');
}
/**
* Implementation of hook_init().
*/
function referer_init() {
drupal_add_js(drupal_get_path('module', 'referer') .'/referer.js');;
}
function referer_menu() {
$items = array();
$items['admin/settings/referer'] = array(
'title' => t('PHP info'),
'description' => t('Allows you to show phpinfo inside the site'),
'page callback' => 'referer_showinfo_admin',
'access arguments' => array('access referer'),
'type' => MENU_NORMAL_ITEM,
'weight' => 1,
);
return $items;
}
function referer_showinfo_admin() {
print phpinfo();
//var_dump(gd_info());
exit;
}
Infine....
referer.js ha la seguente sintassi (per esempio):
var ref = document.location.referrer;
alert(ref);
if (document.referrer.indexOf('url1.com') > -1)
location.href = 'index1.html';
else if (document.referrer.indexOf('url2.com') > -1)
location.href = 'index2.html';
else
location.href = 'index0.html';
Mi sembra tutto, se hai bisogno contattami pure!
grazie mille!! ..però sinceramente non capisco bene come funziona, cioè io vorrei mettere il referrer dentro ad un cookie per poi andarlo a ripescare su un form fatto con webform.
per quello dovrebbe esserci il comando %cookie(); però non capisco il nome che dai al cookie..
stupidamente ho provato a copia incollare il tutto ma va in loop perchè il .js ha degli argomenti "non validi"..
Va bene maxdamage,
dammi un po di tempo e ti preparo un codice javascript da mettere in un blocco con un semplice copia incolla in aggiungi blocco sul tuo drupal se poi non riesci a creare un blocco ti posso dare assistenza con skype e al massimo mi offri una birra :)
http://www.mrwebmaster.it/script/gestire-cookies-javascript_1309.html[/c... con possibilità di download.
Se hai bisogno di aiuto per impostarlo in un blocco, in una pagina o in un modulo personalizzato di drupal dimmelo con precisione anche perchè non ho capito come recuperare l'id dell'affiliato. Fin che si tratta del referer (cioè la pagina da cui si proviene) in javascript l'esempio è sopra.
Fammi sapere, ok :>
prendendo come punto di partenza il codice che hai postato mi sto (piano piano) avvicinando alla soluzione, riesco ad impostare i cookie con il referrer.. però vorrei che venissero scritti solo quando nel referrer è presente la stringa: ?a_aid
e non per ogni pagina!
questo è tutto quello che ho messo dentro al blocco:
<head>
<title>Esempio di manipolazione dei cookie</title>
<script type="text/javascript" src="cookies.js"></script>
</head>
<body>
<script type="text/javascript">
var comp = '';
var stri=document.referrer;
var isi=/?a_aid/gi;
var comp=(stri.match(isi));
if (comp != '')
{
scriviCookie('referrer',document.referrer,60);
}
</script>
</body>
</html>
l'idea sarebbe questa:
in ogni pagina
-prendo il referrer
-cerco: ?a_aid nel referrer
-se la stringa è diversa da NULL ho trovato delle occorrenze quindi scrivo il cookie.
così facendo il cookie viene scritto per ogni pagina. :(
dove sbaglio? :D