Domanda

Just aggiornato da 1,3 a 2.0.3 e sto cercando di migrare tutte le modifiche. Sto notando che la seguente riga

echo $this->Html->link('Quote', array('controller'=>'crm_quotes', 'action'=>'index', $lead['id'].'/'.$crmContact['CrmContact']['id']), null);

costruisce la "/crm_quotes/index/15/21" URL. Quando clicco sul link sto portato in url:

"/crm_quotes/index/15%2F212

in modo che sia sostituendo i caratteri con il # html ma è in ultima analisi, interrompere il collegamento.

Quando ho modificare manualmente l'URL a quella corretta:

"/crm_quotes/index/15/21"

la pagina viene caricata.

Qualcuno può illuminarmi? Dovrei usare la funzione url piuttosto che legame?

Ho un sacco di pagine che hanno bisogno di più parametri passati nell'url. Stavo usando parametri denominati ma dopo aver letto alcuni commenti di Mark Story ho deciso di smettere i parametri denominati come ha accennato alla loro eventuale rimozione da versioni future.

È stato utile?

Soluzione

Passare i parametri extra del (torta) modo corretto. Torta codifica qualsiasi / nell'URL che non ha specificamente previsto; Non ho trovato il modo di prevenire questo ancora.

echo $this->Html->link('Quote', array('controller'=>'crm_quotes', 
                              'action'=>'index', 
                               $lead['id'],
                               $crmContact['CrmContact']['id']), null);

Altri suggerimenti

Come risposta per il vostro problema: basta prendere la concatenati '/' fuori e passare gli ID come valori separati in tale matrice. Si dovrebbe mettere le barre tra di loro automaticamente.

echo $this->Html->link('Quote', array(
    'controller'=>'crm_quotes', 
    'action'=>'index', 
    $lead['id'],
    $crmContact['CrmContact']['id']
));

In tema di codifica: Penso che il problema qui è che non sa che si intende per l'/ da trattare come una parte valida del URL invece di un testo. Il comportamento predefinito è quello di caratteri di riserva di codifica per evitare questo problema, quindi diventa URL codificato.

Ecco un simile domanda e una risposta su URL encoding in generale .

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top