2011-06-29 10 views
5

Tengo una vista con un formulario (que no se crea con el asistente de formularios). Por ejemplo, tengo instalado CakePHP en una carpeta llamada 'myfolder1'.¿Cómo obtener el directorio raíz de CakePHP?

Así que mi formular empieza por esa línea:

<form id="ctrlAddForm" method="post" action="/myfolder1/ctrl/add" accept-charset="utf-8"> 

Pero si cambio el nombre de la carpeta raíz, tengo que editar todos formulars (2 todavía). ¿Hay alguna constante o función que represente el directorio raíz/nombre?

He leído sobre la constante ROOT. ¿Debo usar esa variable?

Solución

  1. Se puede definir una constante en ROOT_NAME app \ Webroot \ index.php con basename(ROOT).
  2. Puede usar la función HTML Helper url(). Por ejemplo, en el atributo de acción de la etiqueta del formulario:

    $ this-> Html-> url (array ('controller' => 'ctrl', 'action' => 'add'));

Respuesta

4

Bueno, se podría tratar este viejo función de PHP: basename

basename(APP); 

Desde Eso no normales t trabajo Realmente abrí mi propia instalación de Cake. Prueba esto:

basename(dirname(APP)); 
+0

Eso solo devuelve "aplicación". Pero quiero usar "myfolder", que es el directorio raíz de mi instalación de CakePHP. – ComFreek

+0

Gracias el código de segundos funciona bien! Lo he editado en 'basename (ROOT)' , así que puedo usarlo en 'app \ webroot \ index.php' para definir una constante. – ComFreek

1

Esta página tiene una lista de las constantes que se pueden utilizar, http://book.cakephp.org/view/1141/Core-Definition-Constants

+0

Gracias, pero la aplicación proporciona la ruta completa en XAMPP: C: \ xampp \ htdocs \ myfolder1 \ ... Pero eso arroja un error en mi navegador, por supuesto. ¡Luego probé APP_PATH que está vacío y CAKE que solo devuelve 'CAKE'! – ComFreek

1

puede comprobar las rutas /var/www/yourprojectname/cake/conf/paths.php

se puede obtener toda la variable constante se están utilizando a través de la CakePHP.

Espero que ayude.

Saludos, Archit.

+0

No pude encontrar una variable que almacena solo el nombre del directorio raíz. Pero vea la respuesta de Charles. – ComFreek

3

que tenía que conseguir la URL de la raíz del documento CakePHP para usar en Javascript, y yo era capaz de configurarlo usando la solución anterior:

<script language="Javascript"> 
$(document).ready(function() { 
     docRoot = '<?php echo $this->Html->url('/'); ?>'; 
} 
</script> 

y ese pedazo de código - $this->Html->url('/') - funciona perfectamente en obtener el directorio raíz/URL para CakePHP.

Cuestiones relacionadas