News:

Want to get involved in developing SMF, then why not lend a hand on our github!

Main Menu

referral

Started by laudia, October 28, 2011, 03:12:40 PM

Previous topic - Next topic

laudia

ciao,
stavo pensando di inserire un sistema referral al mio forum e tra i mod ho trovato questo
http://custom.simplemachines.org/mods/index.php?mod=1114
vorrei collegarlo ai banner della mod Ad revenue sharing(Ars).
In poche parole se un utente clicca sul referral del menbro, vorrei che apparissero, nella pagina, i banner con l' ID Ars che lo stesso menbro ha inserito nelle impostazioni della mod Ars, se non ha inserito nulla invece non fare niente.

In ars credo ci sia una funzione che inpedisce quando si è loggati che appaiano i banner col propio ID, io vorrei fare il contrario, vorrei che appaiano col propio ID quando si clicca sul propio referral link.

non sono pratica mi serve aiuto, grazie in anticipo
smf 1

laudia

scusate ne ho trovato un altro
http://mods.simplemachines.org/index.php?mod=287

ma non sò quale sia più adatto per fare quello che voglio, devo provarlo.
Potete aiutarmi perfavore, con questa ultima modifica potrò dire di aver ultimato il forum.

emanuele

Onestamente non conosco nessuno dei due (tre), non saprei cosa consigliarti a parte che il secondo che hai linkato è piuttosto vecchio e nella descrizione c'è scritto che è in "beta" (quindi versione non definitiva). Cosa di preciso intenda con "beta" non lo so, ma sicuramente unito al fatto che non viene aggiornato da 4 anni e 12 microversioni di SMF non è che prometta niente di buono... ;)


Take a peek at what I'm doing! ;D




Hai bisogno di supporto in Italiano?

Aiutateci ad aiutarvi: spiegate bene il vostro problema: no, "non funziona" non è una spiegazione!!
1) Cosa fai,
2) cosa ti aspetti,
3) cosa ottieni.

laudia

#3
il primo l' ho già provato ad installarlo è funziona ed è molto semplice ma purtroppo sembra che reindirizzi solo alla pagina di registrazione, il secondo non sò se fa quello che voglio, non ho capito ancora come funzione c' è scritto pay per post ma non sono sicura se fà quello che desidero.
Ma la modifica che vorrei si può fare sfruttando una di queste mod, o è troppo complicato? Vorrei aggiungere solo la funzione detta all' inizio.
Ne conosci qualche altra mod che possa fare al caso mio.

emanuele

Quote from: laudia on November 01, 2011, 04:40:49 PM
Ma la modifica che vorrei si può fare sfruttando una di queste mod, o è troppo complicato? Vorrei aggiungere solo la funzione detta all' inizio.
Come ho detto non conosco nessuno di questi mod e più in generale non conosco il problema, avrei bisogno di un po' di tempo per guardarci...
Ad occhio direi che non è troppo difficile, se ti bastano delle linee generali direi che: mentre avviene la registrazione è necessario che venga salvato l'id del membro che ha "fornito" il referral insieme alle informazioni del membero che si è appena registrato, quindi in Ars quando viene scelto l'ad da mostrare bisognerà modificare leggermente la query per poter scegliere solo tra quelli creati da quel membro (supponendo (ma direi che è molto probabile che lo faccia) che Ars mantenga la connessione tra utente e ad (quindi salvando l'id dell'utente che ha introdotto l'ad nella tabella degli ad).
E' possibile che la prima parte venga già fatta, in tal caso dovrebbe essere ancora più semplice.
Mi metti un link ad ars?
* emanuele troppo pigro per cercare... :P

Quote from: laudia on November 01, 2011, 04:40:49 PM
Ne conosci qualche altra mod che possa fare al caso mio.
No, non saprei proprio.


Take a peek at what I'm doing! ;D




Hai bisogno di supporto in Italiano?

Aiutateci ad aiutarvi: spiegate bene il vostro problema: no, "non funziona" non è una spiegazione!!
1) Cosa fai,
2) cosa ti aspetti,
3) cosa ottieni.

laudia

#5
Quote from: emanuele on November 02, 2011, 01:45:04 PMMi metti un link ad ars?
http://custom.simplemachines.org/mods/index.php?mod=1798

pensavo si potesse sfruttare la prima mod
http://custom.simplemachines.org/mods/index.php?mod=1114
(dato che la seconda me l' hai sconsigliata) modifcando il redirectexit('action=register'); , pesente nel file della mod, facendo in modo che non reidirizzi solo alla pagina di registrazione ma alla pagina che l'utente vuole ad esempio
http://www.simplemachines.org/forum/index.php?action=refferals;refferedby=24  alla pagina
http://www.simplemachines.org/forum/index.php e così via, al link prima del punto interrogativo, inserendo il link del topic prima del (?) reidirizza a quello. Ed ogni volta esce il banner ars con l' ID ars del menbro del ref.
Ma credo che tu sia più esperto e saprai meglio come possiamo realizzare questo.

laudia

emanuele! ti sei dimentiocato di me

emanuele

Al momento sono più o meno a mezzo servizio causa morte prematura computer circa 3 settimane fa e resterò in questo stato per ancora parecchio tempo pare...mi sto or ora riorganizzando per scrivere codice (oltre al fatto che ho scoperto git e mi piace, quindi sto facendo un po' di conversioni, test, riorganizzazione, ecc. :P).

Ce l'ho segnato, appena posso ci guardo. ;)


Take a peek at what I'm doing! ;D




Hai bisogno di supporto in Italiano?

Aiutateci ad aiutarvi: spiegate bene il vostro problema: no, "non funziona" non è una spiegazione!!
1) Cosa fai,
2) cosa ti aspetti,
3) cosa ottieni.

laudia

#8
grazie per la tua disponibilità, nonostante tu abbia problemi col tuo computer, ma con questa ultima modifica potrò dire di aver finito col la parte creazione e potrò dedicarmi allo sviluppo e alla crescita del forum. Se fossi così gentile da aiutarmi, nonostante le tue difficoltà, te ne sarei davvero grata.

Mi diresti almeno quando possiamo ultimare questa modifica? così cercherò di portarmi avanti col lavoro aggiungendo le info.  di questa nuova funzionalità alla guida  e alle regole del mio forum.

emanuele

#9
Adesso guardo se si può fare e se son capace di farla. ;)

Fammi capire se ho capito: l'utente A suggerisce a qualuno di registrarsi sul tuo forum, questi accetta e diventa l'utente B.
Da qui in poi, quando l'utente B si collega vedrà sempre e solo i banner dell'utente A. Corretto?
Mi son perso con la storia del reindirizzamento però...


Take a peek at what I'm doing! ;D




Hai bisogno di supporto in Italiano?

Aiutateci ad aiutarvi: spiegate bene il vostro problema: no, "non funziona" non è una spiegazione!!
1) Cosa fai,
2) cosa ti aspetti,
3) cosa ottieni.

laudia

#10
No, con il mod referrals, il link referral creato rimanda solo alla pagina di registrazione.
vorrei che un utente possa inserire qualsiasi pagina come referral, ad esempio come gia detto
http://www.simplemachines.org/forum/index.php?action=refferals;refferedby=24         
reiderizzerà a
http://www.simplemachines.org/forum/index.php
se invece di questo ci mette http://www.simplemachines.org/forum/Nome-topic/
prima del (?) reiderizzerà a questo detto http://www.simplemachines.org/forum/Nome-topic/.
?action=refferals;refferedby=24  rimane sempre lo stesso e l' utente può decidere quale discussione fare referrall (anche se non è stato lui a scriverla).
Quando si clicca su questo referrall vorrei che comparissero i banner ars dell' utente propietario del referrall e solo quando clicca.

ESEMPIO SEMPLICE
Utente= emanuele
Suo referral link= http://www.simplemachines.org/forum/topic-topic/?action=refferals;refferedby=24   
Ii suo ID inserito in profilo Ad Revenue Sharing=   1234567

emanuele inserisce il suo referrall link nel suo sito o da qualsiasi altra parte.
Quando qualcuno clicca sul link referrall questo viene reindirizzato alla pagina http://www.simplemachines.org/forum/topic-topic/ o qualsiasi altra pagina abbia scelto emanuele e, i banner presenti nella pagina appariranno con ID di emanuele (1234567) ma solo per quella pagina scelta da emanuele e solo quando viene cliccato il link referrall. Emanuele pubblicizza quella pagina e ci guadagna.

spero di essere stata chiara, pensavo solo che si potesse sfruttare il codice del mod referralls aggiungendo solo le funzioni per fare quello che ho detto per non doverlo scrivere da zero, non sono un esperta era solo una mia idea, sto cercando di impare ma non è così semplice.


emanuele

ahhhhhhhhhh............
Ok, ora credo di aver capito.
Quindi più che un reindirizzamento, sarebbe più comodo che ogni utente avesse a disposizione in ogni pagina un link simile a quello che hai postato nell'esempio:
http://www.simplemachines.org/forum/topic-topic/?action=refferals;refferedby=24
o meglio, dato che mi pare che stai usando pretty url o simili, direi qualcosa tipo:
http://www.simplemachines.org/forum/topic-topic/refferedby_24
da poter copiare ed usare al di fuori del tuo forum, corretto?
In questo modo ad esempio qualcuno potrebbe avere:
http://www.simplemachines.org/forum/topic-topic/refferedby_24
http://www.simplemachines.org/forum/topic-parlo_d_altro/refferedby_24
http://www.simplemachines.org/forum/topic-uno_ancora_diverso/refferedby_24

giusto?
Altrimenti se usi un reindirizzamento avresti sempre e solo una pagina per ogni utente.


Take a peek at what I'm doing! ;D




Hai bisogno di supporto in Italiano?

Aiutateci ad aiutarvi: spiegate bene il vostro problema: no, "non funziona" non è una spiegazione!!
1) Cosa fai,
2) cosa ti aspetti,
3) cosa ottieni.

laudia

Esatto!!
vorrei propio che sia l' utente a poter scegliere.

Quote from: emanuele on November 09, 2011, 06:11:38 AM
mi pare che stai usando pretty url o simili,
uso pretty url

emanuele

Almeno ho capito! :P

Allora, quel che c'è da fare è:
1) in ogni pagina proporre il link per la condivisione (posizione e aspetto le metti poi a posto tu),
2) referral non serve (ed anche come indicazione per il codice non è molto utile perché poco correlato),
3) devo metterci mano...


Take a peek at what I'm doing! ;D




Hai bisogno di supporto in Italiano?

Aiutateci ad aiutarvi: spiegate bene il vostro problema: no, "non funziona" non è una spiegazione!!
1) Cosa fai,
2) cosa ti aspetti,
3) cosa ottieni.

emanuele

Siccome non posso testarlo (non ho un codice adsense...non ho saputo che serviva fin quando non ho provato il mod...), ti indico qui le modifiche da fare, così puoi provare.

Nel file ArsAds.php, trova:
function setArsUser() {

// DEFINE GLOBALS
global $modSettings, $context, $db_prefix, $user_info;


ed aggiungi dopo:
if (isset($context['topic_starter_id']))
$context['user_ad'] = isset($_GET['referral']) ? (int) $_GET['referral'] : $context['topic_starter_id'];


quindi cerca tutte le istanze di:
$context['topic_starter_id']
e rimpiazzale con:
$context['user_ad']
Ovviamente quella che ti ho fatto introdurre al passaggio precedente non toccarla! ;)

Questo dovrebbe fare in modo che se un utente arriva al tuo forum da un url tipo ?topic=123.0;referral=24 mostrerà gli AD dell'utente 24 in quella pagina, poi se il visitatore si muoverà su altre pagine vedrà gli AD normalmente.

Ora, ti servirà un link...per qua è un problema perché non ho mai usato pretty url e non posso provarlo perché (come al solito) non mi funziona mod_rewrite sul forum di prova che uso (sembra una maledizione, tutte le volte non riesco a farlo funzionare...  >:(), inoltre sono un disastro con htaccess, quindi non so dirti di preciso 1) cosa pretty url converte in "pretty" e come (cioè se il ";referral=24" glielo devi mettere così, oppure se devi metterlo già in versione "pretty", 2) quali regole dovrai cambiare per ottenere quello che vuoi...

Per il primo problema io ti consiglierei di fare qualche prova: siccome il link mi pare di aver capito che ce l'hai bisogno solo nei topic, puoi usare:
'http://' . $_SERVER["SERVER_NAME"] . $_SERVER["REQUEST_URI"]
questo lo dovresti poter usare nel template dove vuoi per ottenere l'esatta pagina a cui l'utente si trova.
Poi puoi ad esempio metterla in un input con un javascript per facilitare la copia, ad esempio:
echo '
<input onfocus="this.select();" type="text" value="http://' . $_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"], ';referral=' . $context['user']['id'] . '" />';


Se questo non riesci a riscriverlo nella forma "pretty", un'altra possibilità è creare l'input come prima senza value, ed aggiungere solo questo via javascript così:
echo '
<div id="share_url" style="display:none">
<input id="share_this_url" onfocus="this.select();" type="text" value="" /></div>
<script  type="text/javascript"><!-- // --><![CDATA[
document.getElementById(\'share_url\').style.display = "";
document.getElementById(\'share_this_url\').value = document.URL + \'/referral/' . $context['user']['id'] . '\'; // Notare che la parte "/referral/24" andrà corretta per come dovrai riscriverlo con htaccess. ;-)
// ]]></script>';


Penso/spero di averti dato tutte le indicazioni di cui hai bisogno (o almeno la maggior parte), se c'è qualcosa che non è chiaro o che non funzione, ovviamente chiedi pure!!


Take a peek at what I'm doing! ;D




Hai bisogno di supporto in Italiano?

Aiutateci ad aiutarvi: spiegate bene il vostro problema: no, "non funziona" non è una spiegazione!!
1) Cosa fai,
2) cosa ti aspetti,
3) cosa ottieni.

laudia

#15
allora , modiiche ArsAds.php fatte
se ho ben capito questo
'http://' . $_SERVER["SERVER_NAME"] . $_SERVER["REQUEST_URI"]
è il link referral che gli utenti dovrebbero poter usare giusto!

Come semplice prova, poi lo modifico meglio, ho preso il codice del mod referalls di cui avevamo parleto nei post precedenti(solo come esempio) e ho modificato il link. In mod referralls il link appariva nel profilo io invece lo spostato nella sezione Profilo/Ad Revenue Sharing dove sono le impostazioni Ars dell' utente.

In Profile.template.php trovato
</table><p>'.$txt['ars_profile_help'].'</p>';

inserito questo dopo
echo '
<table border="0" cellspacing="1" cellpadding="3" align="center" width="80%" class="bordercolor"><tr>
<td><b>', $txt['ref_refferal_link'], '</b></td>
<td><input onfocus="this.select();" type="text" size="65" value="http://' . $_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"], ';referral=' . $context['user']['id'] . '" /></td>
</tr></table><p></p>';


Il risultato è
Referral Link: http://nomesito.com/forum/profile/?u=1;sa=adrevenuesharing;referral=1

cambiando http://nomesito.com/forum/profile/ con ad esempio
http://nomesito.com/forum/    o
http://nomesito.com/forum/nome-topic/   rimanda alla pagine in maniera perfetta.
 
reinderizza alla pagina che vogliamo anche se nel browser elimino "referral=1"
http://nomesito.com/forum/profile/?u=1;sa=adrevenuesharing

se nel browser scrivo questo eliminando "u=1;sa=adrevenuesharing;"  funziona
http://nomesito.com/forum/profile/?referral=1

il link che dovrebbe apparire come esempio all' utente dovrebbe essere questo giusto!
http://nomesito.com/forum/?referral=1
come devo cambiarlo per ottenere questo visualizzato?

Non ho ancora visto se funziona per quanto riguarda la visualizzazione dei banner ti faccio sapere in seguito dopo aver risolto il problema link.

emanuele

Dopo aver pensato di aver capito, ora mi rendo conto che parliamo ancora due lingue leggermente diverse e che ancora una volta non ho chiaro cosa tu voglia fare...

Io ho immaginato che il tuo utente registrato voglia piazzare nel suo sito diversi link a diversi topic sul tuo forum, ad esempio:
http://www.tuosito.it/forum/topic_1/referral=24
http://www.tuosito.it/forum/topic_2/referral=24
http://www.tuosito.it/forum/topic_3/referral=24
http://www.tuosito.it/forum/topic_4/referral=24

in modo che quando qualcuno clicca su quei link viene mandato al relativo topic e viene visualizzata la pubblicità dell'utente con id 24.
In quest'ottica la mia idea era fornire nelle pagine dei topic un link tale che il tuo utente registrato potesse copiare facilmente l'url e postarla sul suo sito, da qui il codice che ti ho fornito sopra.

Invece tu mi parli sempre di questo redirect passando dal profilo...quindi presumibilmente mi son perso qualche passaggio...comunque se funziona come vuoi che funzioni per va bene! ;)


Take a peek at what I'm doing! ;D




Hai bisogno di supporto in Italiano?

Aiutateci ad aiutarvi: spiegate bene il vostro problema: no, "non funziona" non è una spiegazione!!
1) Cosa fai,
2) cosa ti aspetti,
3) cosa ottieni.

laudia

#17
Quello a cui mi riferisco è un link di esempio per l'utente, non posso inserire ogni link in ogni pagina.
Ho inserito il link nel profilo
http://www.tuosito.it/forum/referral=24
nella guida dove inserirò le varie info. e istruzioni per spiegare questa funzione ci scriverò :
se tu utente vuoi inserire un link topic nel tuo sito copia il link della pagina che desideri e sostituici questa parte al tuo referral
http://www.tuosito.it/forum/. Aggiungendo semplicemente  referral=24 [referral=(con il tuo numero, esempio"24", il numero è unico per ogni utente)] appariranno i tuoi banner quando qualcuno clicca su questo link. Il link referral esempio con il numero che si riferisce a te  ( esempioo "=24" ) lo puoi trovare nella sezione Profilo/Ad Revenue Sharing.

Nel profilo quindi devo inserire un link di esempio
http://www.tuosito.it/forum/referral=24
e l' utente potrà cambiarlo a secondo della pagina che vuole.

Spero di essere stata chiara

il link di esempio che l' utente può trovare in Profilo/Ad Revenue Sharing appare così (il codice che ho inserito in Profile.template.php detto prima) :
http://tuosito.it/forum/profile/?u=1;sa=adrevenuesharing;referral=24

io voglio che appaia così
http://tuosito.it/forum/?referral=24

Per quanto riguarda la funzione hai capito bene.
Io mi riferivo a come dare questo o questi link all' utente, mi sembra più semplice mettergli a disposizione un solo link di esempio nel profilo e poi l' utente se lo vuole lo cambia che metterne uno per ogni pagina. Mi devo scusare io per non aver capito che intendevi questo.

emanuele

Quote from: laudia on November 10, 2011, 12:41:11 PM
Quello a cui mi riferisco è un link di esempio per l'utente, non posso inserire ogni link in ogni pagina.
Perché no? ???
E' il principio di youtube o di imageshack o di qualunque altro sito che permette di copiare i link.

Col metodo che stai usando, ad ogni modo, l'utente potrà reindirizzare sempre e solo ad una pagina per volta ed inoltre dovrai fornirgli delle istruzioni per modificare l'url e per cambiare il link alla pagina a cui vogliono che il link punti, col mio copiano un qualunque link e quello resterà finché il tuo forum durerà e non dovranno modificare alcuna url.

Comunque vedi tu come sei più comoda. ;)


Take a peek at what I'm doing! ;D




Hai bisogno di supporto in Italiano?

Aiutateci ad aiutarvi: spiegate bene il vostro problema: no, "non funziona" non è una spiegazione!!
1) Cosa fai,
2) cosa ti aspetti,
3) cosa ottieni.

laudia

#19
devo scoprire quale sistema è più comodo per gli utenti, magari quando avrò abbastanza utenti farò un sondaggio interno per scoprire quale è più semplice per loro ma, per ora, il forum è nato da poco quindi ci sono ancora troppo pochi utente per poter fare tale sondaggio.
Io mi segno il codice e in futuro se è il caso lo cambio.
Se mi aiuti a mostrare il link come ti ho detto, così poteremo dire risolta questa discussione.

Ora che ho capito cosa intendevi, per non rifarti  queste domande in futuro se decidessi di inserire la tua idea, vorrei chiederti:
- Il codice che mi hai detto quindi, in quale file dovrei inserirlo? intendo questo
echo '
<input onfocus="this.select();" type="text" value="http://' . $_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"], ';referral=' . $context['user']['id'] . '" />';
o quello in javascript. E' una semplice curiosità se in futuro decidessi di fare come tu mi hai suggeito.

Advertisement: