khurram
(Khurram 619)
1
Ciao a tutti
ho bisogno di mano per creare i link brevi.
Ho provato bitly e google short link e non mi piaccio tanto.
Ho visto URL Management a questo link http://www.yiiframework.com/doc/guide/1.1/en/topics.url e devo dirvi che non c’ho capito tanto.
Ho questo link http://localhost:8888/demo/newsletter/index.php?r=newsletter/confermaEmailiscrizione&email=bkhurram.619@gmail.com&token=475f22e109be156001b975c87408c7fe che vorrei trasformarlo in più breve possibile.
c’è solo un controller (“NewsletterController”)
action ("actionIscrizione", "actionConfermaEmailIscrizione", "actionEditIscrizione" ecc)
view ("iscrizione" , "formConfermaCodice" e "editiscrizione")
janka74
(Giancarloalbanese 74)
2
Bell’idea che hai avuto.
Se dovessi implementare una soluzione creerei una tabella short_link(id, url)
dove in url ci metti il tuo url lungo, salvi e ti ricavi l’id che userai nella newsletter
poi il controller cercherà l’id, individuerà quello lungo originale e farà un bel redirect
khurram
(Khurram 619)
3
hmm, bell’idea
se invece volessi fare con URL Management, come faccio a farlo?
sensorario
(Sensorario)
4
generi il model ed il crud della tabella che ha indicato Giancarlo =)
khurram
(Khurram 619)
5
voglio trasformare il link da
http://localhost:8888/demo/newsletter/index.php?r=newsletter/confermaEmailiscrizione&email=bkhurram.619@gmail.com&token=475f22e109be156001b975c87408c7fe
a
controller/action /email /token
http://localhost:8888/demo/newsletter/index.php/newsletter/confermaEmailiscrizione/bkhurram.619@gmail.com/475f22e109be156001b975c87408c7fe
sensorario
(Sensorario)
6
Nel file di configurazione c’è l’urlManager. Assicurati che ci sia questa parte:
'urlManager' => array(
'urlFormat' => 'path',
'rules' => array(
'<controller:\w+>/<id:\d+>' => '<controller>/view',
'<controller:\w+>/<action:\w+>/<id:\d+>' => '<controller>/<action>',
'<controller:\w+>/<action:\w+>' => '<controller>/<action>',
),
),
janka74
(Giancarloalbanese 74)
8
khurram
(Khurram 619)
9
Grazie di tutto ci sono riuscito
'urlManager' => array(
'urlFormat' => 'path',
'rules' => array(
'<controller:\w+>/<action:\w+>/<email:\w+>/< token:\w+>' => '<controller>/<action>',
'<controller:\w+>/<action:\w+>' => '<controller>/<action>',
),
),
janka74
(Giancarloalbanese 74)
10
Dato che la tua idea mi sembra molto utile anche per altri (o almeno per me)
avresti voglia di postare gli spezzoni di codice che implementano questa cosa?