Actualmente estoy creando un sitio web de subastas usando cakephp. Tiene una barra de menú como sobre nosotros, contáctenos. He creado solo la página predeterminada. Entonces quiero crear esas páginas. avísame cómo crearCómo crear una página estática en cakephp?
Respuesta
Puede usar el pages controller para este fin.
la creación de vistas en APP/views/pages/
con nombres tales como about_us.ctp
y contact_us.ctp
le permitirá acceder a ellos en la url:
www.site.com/pages/about_us
a continuación, puede cambiar la manera en estos URIs se ven con el enrutamiento.
Crea un about.ctp
en la carpeta /app/views/pages/
.
A continuación, agregue Router::connect('/about', array('controller' => 'pages', 'action' => 'display', 'about'));
en el archivo /app/config/routes.php
. Debería poder acceder al www.yoursite.com/about
He creado el archivo blog.ctp en/app/views/pages/folder. También tengo los comentarios, Router :: connect ('/ blog /', array ('controller' => 'pages', 'action' => 'display', 'blog')); en /app/config/routes.php. Pero todavía no estoy obteniendo la página. –
¿Está recibiendo una página en blanco? – Jack
Seguí tus instrucciones pero no funcionó. Se mostró un error sobre el controlador. En lugar de usar '/ about /' en el primer argumento, use '/ about'. Solo suelta la segunda barra. –
Hilo viejo, pero lo encontré al intentar hacer lo mismo en 2.x.
La respuesta de Jack es correcta, con un pequeño error tipográfico. Debe ser
Router::connect('/about', array('controller' => 'pages', 'action' => 'display', 'about'));
Esperamos que esto ayude a alguien más, como a mí.
Método 1: si desea crear páginas de contenido como sobre nosotros, la política de privacidad que los contenidos pueden ser modificados por una interfaz de administración siga estos pasos
Paso 1: Cambio PagesController
class PagesController extends AppController {
function beforeFilter() {
$this->Auth->allow('content');//to allow to be visible for non-logged in users, if you are using login system
parent::beforeFilter();
}
public function content($id = null, $layout = null, $theme=null) {
if ($layout) $this->layout = $layout;//if you are using mulitple layouts and themes and want to change it dynamicaly
if ($theme) $this->theme = $theme;
$this->set('content', $this->Page->find('first', array('conditions' => array('Page.id' => $id))));
$this->Page->id= $id;
$this->set('title_for_layout', $this->Page->field('title'));
}
}
Paso 2: agregue un contenido de tabla con los campos que necesita como id, título, contenido, imagen, tema, layo ut etc. Paso 3: En Ver/Páginas añadir content.ctp
<div class="row innerPage">
<div class="col-lg-12 col-md-12 col-sm-12">
<div class="row userInfo">
<div class="col-xs-12 col-sm-12">
<h1 class=" text-left border-title"> <?php echo $content['Page']['title'];?> </h1>
<div class="w100 clearfix">
<?php echo $content['Page']['content'];?>
</div>
</div>
</div>
Sin embargo, puede cambiar html de acuerdo a su necesidad, prefiero marco de arranque.
A continuación, puede utilizarlo como
<?php echo $this->html->link("Terms of Services", array("controller" => "pages", "action" => "content", 5), array("class" => 'themeprimary','target'=>'_blank')) ?>
Esto generará un enlace yoursite/páginas/content/5. 5 es la identificación de la fila de la que desea mostrar los detalles.
Si quiere su enlace como su sitio/términos, entonces necesita un paso más para completar. En routes.php agrega esta línea.
Router::connect('/terms', array('controller' => 'pages', 'action' => 'content',5));
Método 2: sólo hay que mostrar el contenido de la base de datos sin ningún Paso 1: Basta con crear un about.ctp en Ver/Páginas y poner el contenido que desea mostrar Paso 2: Cambiar el PagesController.agregue un método sobre
public function about($layout = null) {
$this->set('title_for_layout', 'About');
}
Eso es todo.
Dado que la nueva versión de cakephp está recién salida, voy a agregar esta respuesta para tratar con la versión más reciente (3.x).
Para vincular a una página estática, aún utiliza el PageController pero el código cambió ligeramente.
Aquí el código que se necesitaría en la versión 3.x
$routes->connect('/about', ['controller' => 'Pages', 'action' => 'display', 'about']);
Puede leer más sobre el nuevo routing system here.
No tengo ninguna afiliación con cakephp. Agregué esta respuesta desde que encontré esta publicación mientras buscaba cómo hacer esto en 3.0
también funcionó en 2.6 –
- 1. Rails3 - Crear una página web estática?
- 2. Cómo crear una etiqueta estática de ZedGraph
- 3. Crear API usando CakePHP
- 4. ¿Cómo crear una página personalizada en Wordpress?
- 5. Página estática con Websharper?
- 6. ¿Cómo crear un Sitemap para CakePHP?
- 7. CakePHP crear botones de radio
- 8. ¿Cuál es la mejor manera de crear una página estática en Rails?
- 9. Enrutamiento de página estática en Sinatra (Ruby)
- 10. Crear una biblioteca estática para iPhone
- 11. Crear barra de herramientas estática en la página web que sigue scroll en HTML
- 12. ¿Cómo crear una biblioteca estática de un proyecto de Xcode?
- 13. Para mostrar una página html estática en android
- 14. Necesito crear una variable estática Thread-safe en C# .Net
- 15. adelante a una página HTML estática de Controlador
- 16. ¿Cómo crear una página de preguntas frecuentes ampliable en HTML?
- 17. ¿Cómo crear dos columnas en una página web?
- 18. ¿Cómo crear una página de administración personalizada en OpenCart?
- 19. Crear biblioteca estática en Xcode 4
- 20. ¿Cómo puedo insertar un UISwitch en una UITableView estática?
- 21. ¿Cómo puedo restringir cierto contenido en CakePHP?
- 22. Crear una plantilla para la página
- 23. CakePHP 2.0 - ¿Cómo crear páginas de error personalizadas?
- 24. Cómo dejar de carga de la página en la página HTML estática
- 25. Drupal crear una página que emita JSON
- 26. ¿Cómo puedo crear una nueva instancia de clase de una clase dentro de una clase (estática)?
- 27. Quieres abrir una ventana con una acción en CakePHP
- 28. ¿Puedo crear una matriz C estática con Cython?
- 29. Enrutamiento a la página html estática en/public
- 30. Crear una biblioteca estática y vincularla con premake
que he creado y comprobado, .. pero no funciona ... –
¿ha modificado el control de páginas? – raultm
@raultm: no debería tener que modificar el controlador de páginas en absoluto. –