Pregunta

Acaba de actualizar de la 1.3 a la 2.0.3 y estoy tratando de migrar todos los cambios.Estoy notando que la siguiente línea

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

construye la url "/crm_quotes/index/15/21".Cuando hago clic en el link me llevan a la url:

"/crm_quotes/index/15%2F212

así es la sustitución de los caracteres con el código html # pero en última instancia no es la ruptura del enlace.

Cuando me editar manualmente la dirección URL para el correcto:

"/crm_quotes/index/15/21"

la carga de la página.

Alguien que me ilumine?Debo ser el uso de la url la función de lugar de enlace?

Tengo un montón de páginas que necesitan múltiples parámetros pasados en la url.Yo estaba usando parámetros con nombre, pero después de leer algunos de los comentarios de Mark Historia decidí dejar el nombre de parámetros como él hizo alusión a su posible eliminación de las versiones futuras.

¿Fue útil?

Solución

Pase los parámetros adicionales de la manera correcta (pastel). El pastel codifica cualquier / En la URL de que no se estableció específicamente; No he descubierto cómo evitar esto todavía.

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

Otros consejos

Como respuesta para su problema: simplemente tome el concatenado '/' y pase las ID como valores separados en esa matriz. Debería colocar cortes hacia adelante entre ellos automáticamente.

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

Sobre el tema de la codificación: creo que el problema aquí es que no sabe que tiene la intención de que el / sea tratado como una parte válida de la URL en lugar de solo algún texto. El comportamiento predeterminado es codificar caracteres de reserva para evitar este problema, por lo que se codifica la URL.

Aquí está un pregunta similar, y una respuesta sobre Codificación de URL en general.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top