La comunità italiana su CakePHP

You are not logged in. Please login or register.


Pages: 1

Atom RSS

Posts [ 7 ]

ToX

Topic: Seo-friendly URLS

una volta era già stato postato un tutorial simile... ma è andato perduto.

Ad ogni modo, avevo bisogno di fare in modo che gli indirizzi

http://localhost/cakephp/mkk_cms/index.php/items/view/5
diventassero qualcosa tipo
http://localhost/cakephp/mkk_cms/index.php/page/5:Lettore-FLV

il tutto è piuttosto semplice, anche se ho un errore e non capisco il motivo. Comunque, bisogna aggiungere una riga nel config/routes.php:

Router::connect('/page/*', array('controller' => 'items', 'action' => 'view'));

e, nel controller che si occupa di visualizzare la pagina, aggiungere una cosa tipo:

@list($id, $url_suffix) = preg_split('/[:]/', $id, 2);
$lang = $this->Session->read('Config.language');
        
$titolo = $this->Item->find($conditions="Item.node_id=$id, $fields="Item.node_id, Item.Itemvalue", $order=null, $limit=null, $page=1, $recursive="-1");

$titolo['Item']['Itemvalue'] = str_replace(" ", "-", $titolo['Item']['Itemvalue']);
if ($url_suffix!==$titolo['Item']['Itemvalue']) //seo friendly urls
{
      $this->redirect('/page/'.$titolo['Item']['node_id'].':'.$titolo['Item']['Itemvalue'], 301);
      exit;
}

et voilà!

l'unica cosa, a me i : inchiodavano il caricamento dello script, in sostanza questo:

id = 5:Lettore-FLV

me lo leggeva come se fosse semplicemente

id = Lettore-FLV

lo script non riusciva a prendere il 5 e mi si bloccava tutto. mettendo la virgola funziona correttamente... boh! suggerimenti?

ToX

Re: Seo-friendly URLS

ah... quasi dimenticavo, questa è la fonte:

http://www.thinkingphp.org/2006/09/18/d … ndly-urls/

sanchio

Re: Seo-friendly URLS

Scusa ma mi sfugge qualcosa, forse perché ancora ne capisco poco, ma perché nella redirect usi 'page' e non 'items'?

sanchio

Re: Seo-friendly URLS

O forse la risposta si trova proprio nel link che hai postato. Se guardi il commento 15 e se usi cake 1.2 il problema è spiegato lì. Ciao ciao

ToX

Re: Seo-friendly URLS

uso page per non riutilizzare il nome del controller, semplicemente smile

non sto a spiegarti nel dettaglio ma items nel mio caso era una classe generica che si doveva occupare di più tipologie di elementi, page era più corretto in fase di visualizzazione

sanchio

Re: Seo-friendly URLS

L'ho capito dopo aver postato smile
Se invece usi la 1.2 credo il problema sia quello evidenziato tra i commenti nell'articolo che hai indicato.

Namaless

Re: Seo-friendly URLS

Riporto il commento che risolve il problema di compatibilità con la 1.2:

Felix Geisendörfer wrote:

Aaron: Yeah, that's because named parameters use the colon too. If you don't want this you can put:

var $namedArgs = false;

In your AppController. I believe it also takes an array of actions where you can specify which ones use named args and which don't. Give it a try.

Posts [ 7 ]

Guest posting is disabled. You must login or register to post a reply.

Pages: 1

Topic info

1 guests and 0 users are reading this topic now


Forum quick jump menu

Currently used extensions: pun_topic_online_users, pun_karma, pun_admin_hook_navigator, pun_bbcode. Copyright © 2008 PunBB

[ Generated in 0.030 seconds, 10 queries executed ]