Aiuto Con Url Tags Del Blog

Sono partito a costruire il mio blog usando alcune cose presenti nel blog di esempio.

Ora però ho un problema e non capisco il perchè succeda…

Nei tag dei vari post possono esserci tag formati da una singola parola… o anche da 2 parole…

Queste vengono salvate cosi nella tabella del post: "pippo, pluto papero, minnnie"

Quindi ci sono 2 tag singole e 1 tag da 2 parole.

Fino a qui tutto ok.

I vari tag sono visualizzati correttamente nei vari post, ma il problema succede ora:

BLOG ESEMPIO DI YII-> l’url del tag con 2 parole è questo: “pluto+papero” e quando apre la pagina lo interpreta correttamente

NEL MIO BLOG -> tutto è uguale solo che mi da errore 404…

Come mai? Le funzioni usate dal blog mio sono le stesse del blog di esempio…

Praticamente se nel GET c’è il paramentro tag (che contiene in questo caso pluto+papero), aggiunge alla query un un addSearchCondition con $_GET[‘tag’], e basta.

Quindi non riesco a capire il perchè a me non funzioni…

Come e quando toglie il + dal valore per fare la query???

scusate errore mio.

era un problema dell’urlmanager…

avevo messo la regola con solo caratteri e quindi il simbolo + gli risultava sbagliato. Pardon :)

Ho un problema a far accettare il + all’urlmanager…

inizialmente era:(funziona con tutto tranne con il +)


'<language:(it|en)>/Blog/Tag/<tag:\w+>'=>'blog/index',

poi ho provato: (dovrebbe funzionare con il + ma niente da fare…)


'<language:(it|en)>/Blog/Tag/<tag:[\w+]+>'=>'blog/index',

poi ho provato: (dovrebbe funzionare con il + ma niente da fare…)


'<language:(it|en)>/Blog/Tag/<tag:[a-z+]+>'=>'blog/index',

poi ho provato: (questo è l’unico che funziona… ma non mi sembra una soluzione sicura…)


'<language:(it|en)>/Blog/Tag/<tag:>'=>'blog/index',

qualche aiuto?

ma con


<tag:[\w\+]+>

perchè non me lo prende?? in php con

/[\w\+]+/

mi riconosce la stringa pippo+pluto

perchè l’urlmanager no?

alla fine ho messo:


<tag:.*?>

come nel blog di esempio… ma questo significa prendi tutto…

non capisco proprio perchè non funzioni


<tag:[\w+]+>

e nemmeno


<tag:\d+>

qualcuno può illuminarmi?

Tu vorresti delle rotte del tipo:

http://www.miosito.com/some/stuff/some+stuff

?

si esatto. Gli url dei Tag come nel blog di esempio vengono composti (quelli con due parole separate dallo spazio) con il +.

Ma l’url manager non accetta tutte le espressioni regolari?

Perchè non mi accetta <tag:[\w+]+> che dovrebbe funzionare?

“+” significa semplicemente che quel carattere è uno spazio un contenuto del tipo application/x-www-form-encoded content. E’ un modo di scrivere una URL.


http://www.tanta-robba.com/path/some+stuff

In questo URL, il parametro ha uno spazio ed è "some stuff".

In sostanza, non ti server fare quello che stai cercando di fare.

aaaaaaaahhhhhhhhhh!!!

Cavolo hai ragione! Sono stato proprio stupido!

Grazie mille!!! ;D

ciao a tutti,

sono abbastanza nuovo di yii,e per quanto cerchi di capirci qualcosa,spesso e volentieri trovo dei problemi.

Come ad esempio il seguente: ho cercato di costruire un blog seguendo la guida su yii.

Ho installato yii,configurato,creato un db con mysql e collegato il tutto nel file config->main.php.

Creato i model e i controllers post e comment e le relative views con il crud sempre attraverso gii.

Dopo di quello provo a far partire l’index del post,e mi da il seguente errore:

Error 500

Tag and its behaviors do not have a method or closure named "findTagWeights".

Sinceramente non riesco a capire come porre rimedio, ho capito che si trova nel file tagCloud.php della cartella component,ma non saprei come risolvere il problema.

Sarebbe molto gradito un aiutino,grazie :rolleyes: