Como empezar
- Instalar Buffalo
- Generando Nuevo Proyecto
- Estructura de Directorio
- Configuración
- Integracion de Herramientas
Gestión de Peticiones
- Enrutamiento
- Controlador de Acciones
- Recursos
- Contexto
- Vinculación de Peticiones
- Middleware
- Manejo de Errores
- Sesiones
- Cookies
Frontend
- Renderizado
- Plantillas
- Diseños
- Parciales
- Helpers
- Helpers Personalizados
- Mensajes Flash
- Formularios
- Recursos
Base de datos
- Iniciando con Pop
- Soda CLI
- Configuración de base de datos
- Integración con Buffalo
- Modelos
- Generadores
- Migraciones
- Fizz
- Mutaciones
- Consultas
- Consultas SQL nativo
- Callbacks
- Scoping
- Asociaciones y Relaciones
- Asociaciones Uno a Uno
- Asociaciones Uno a Muchos
Guías
- Aplicaciones API
- Carga de archivos
- Ejecuciones en segundo plano
- Mailers
- Tareas
- Plugins
- Local Authentication
- Third Party Authentication
- Eventos
- Go Modules
- Localización
- Registros
- Motores de Plantillas
- Pruebas
- Videos
Deploy
Parciales
Frontend
Parciales
Este documento solo aplica cuando se usa github.com/gobuffalo/buffalo/render.
Consulta github.com/gobuffalo/plush para más detalles sobre el paquete de plantillas.
Uso
Puedes llamar tus parciales usando el helper de plush partial
:
<h1>Create New User</h1>
<%= partial("users/form.html") %>
<form action="/users/" method="POST">
<!-- form content here -->
<form>
<h1>Create New User</h1>
<form action="/users/" method="POST">
<!-- form content here -->
<form>
Contexto
Todo el contexto de renderizado de la plantilla padre se pasará automáticamente a través del parcial, y a cualquier parcial que puedas llamar. (Ve también Context)
func UsersEdit(c buffalo.Context) error {
user := User{
Name: "John Smith",
}
// ...
c.Set("user", user)
return c.Render(http.StatusOK, render.HTML("users/edit.plush.html"))
}
<h1>User to edit: <strong><%= user.Name %></strong></h1>
<%= partial("users/form.plush.html") %>
<form action="/users/<%= user.ID %>/">
<!-- form content here -->
</form>
<h1>User to edit: <strong>John Smith</strong></h1>
<form action="/users/077acb8d-6cf7-4e7c-ba6c-c60e58ea5fcb/">
<!-- form content here -->
</form>
Contexto local
Además de tener el context global, puedes establecer variables adicionales sólo para los parciales como variables “locales”.
func ColorsHandler(c buffalo.Context) error {
colors := map[string]interface{}{
"White": "#FFFFFF",
"Maroon": "#800000",
"Red": "#FF0000",
"Purple": "#800080",
}
c.Set("colors", colors)
return c.Render(http.StatusOK, r.HTML("colors/index.plush.html"))
}
<div class="list">
<%= for (name, code) in colors { %>
<%= partial("colors/details.plush.html", {colorName: name, hexCode: code}) %>
<% } %>
</div>
<div>
<span>Color: <%= colorName %></span>
<span>Hex Code: <strong><%= hexCode %></strong></span>
</div>
<div class="list">
<div>
<span>Color: White</span>
<span>Hex Code: <strong>#FFFFFF</strong></span>
</div>
<div>
<span>Color: Maroon</span>
<span>Hex Code: <strong>#800000</strong></span>
</div>
<div>
<span>Color: Red</span>
<span>Hex Code: <strong>#FF0000</strong></span>
</div>
<div>
<span>Color: Purple</span>
<span>Hex Code: <strong>#800080</strong></span>
</div>
</div>
Helpers
Las parciales no son muy diferentes de las [plantillas](/documentación/capa frontal/plantillas) estándar en Buffalo. También incluyen todos los mismos helpers también.