Edición de «Beta2 CRUD en KumbiaPHP Framework»
De KumbiaPHP Framework Wiki
Advertencia: no has iniciado sesión. Tu dirección IP se hará pública si haces cualquier edición. Si inicias sesión o creas una cuenta, tus ediciones se atribuirán a tu nombre de usuario, además de otros beneficios.
Puedes deshacer la edición. Antes de deshacer la edición, comprueba la siguiente comparación para verificar que realmente es lo que quieres hacer, y entonces guarda los cambios para así efectuar la reversión.
Revisión actual | Tu texto | ||
Línea 41: | Línea 41: | ||
public function getMenus($page, $ppage=20) | public function getMenus($page, $ppage=20) | ||
{ | { | ||
− | return $this->paginate("page: $page", "per_page: $ppage" | + | return $this->paginate("page: $page", "per_page: $ppage"); |
} | } | ||
} | } | ||
Línea 58: | Línea 58: | ||
* Carga del modelo Menus... | * Carga del modelo Menus... | ||
*/ | */ | ||
− | Load::models('menus'); | + | Load::models('menus'); |
− | class MenusController extends | + | class MenusController extends ApplicationController { |
/** | /** | ||
* Obtiene una lista para paginar los menus | * Obtiene una lista para paginar los menus | ||
Línea 89: | Línea 89: | ||
$menu = new Menus(Input::post('menus')); | $menu = new Menus(Input::post('menus')); | ||
//En caso que falle la operación de guardar | //En caso que falle la operación de guardar | ||
− | if($menu-> | + | if(!$menu->save()){ |
+ | Flash::error('Falló Operación'); | ||
+ | }else{ | ||
Flash::valid('Operación exitosa'); | Flash::valid('Operación exitosa'); | ||
//Eliminamos el POST, si no queremos que se vean en el form | //Eliminamos el POST, si no queremos que se vean en el form | ||
Input::delete(); | Input::delete(); | ||
− | |||
− | |||
− | |||
} | } | ||
} | } | ||
Línea 102: | Línea 101: | ||
/** | /** | ||
* Edita un Registro | * Edita un Registro | ||
− | |||
− | |||
*/ | */ | ||
− | public function edit($id) | + | public function edit($id = NULL) |
{ | { | ||
$menu = new Menus(); | $menu = new Menus(); | ||
− | + | if($id != NULL){ | |
+ | //Aplicando la autocarga de objeto, para comenzar la edición | ||
+ | $this->menus = $menu->find($id); | ||
+ | } | ||
//se verifica si se ha enviado el formulario (submit) | //se verifica si se ha enviado el formulario (submit) | ||
if(Input::hasPost('menus')){ | if(Input::hasPost('menus')){ | ||
− | if($ | + | if(!$menus->update(Input::post('menus'))){ |
− | + | Flash::error('Falló Operación'); | |
+ | } else { | ||
+ | Flash::valid('Operación exitosa'); | ||
//enrutando por defecto al index del controller | //enrutando por defecto al index del controller | ||
− | return | + | return Router::redirect(); |
− | |||
− | |||
} | } | ||
− | |||
− | |||
− | |||
} | } | ||
} | } | ||
Línea 128: | Línea 125: | ||
* Eliminar un menu | * Eliminar un menu | ||
* | * | ||
− | * @param int $id | + | * @param int $id |
*/ | */ | ||
− | public function del($id) | + | public function del($id = NULL) |
{ | { | ||
− | $menu = new Menus(); | + | if ($id) { |
− | + | $menu = new Menus(); | |
+ | if (!$menu->delete($id)) { | ||
+ | Flash::error('Falló Operación'); | ||
+ | }else{ | ||
Flash::valid('Operación exitosa'); | Flash::valid('Operación exitosa'); | ||
− | + | } | |
− | |||
} | } | ||
− | |||
//enrutando por defecto al index del controller | //enrutando por defecto al index del controller | ||
− | return | + | return Router::redirect(); |
} | } | ||
} | } | ||
+ | ?> | ||
</source> | </source> | ||
Línea 151: | Línea 150: | ||
<source lang=php> | <source lang=php> | ||
<div class="content"> | <div class="content"> | ||
− | <?php View::content(); ?> | + | <?php echo View::content(); ?> |
<h3>Menus</h3> | <h3>Menus</h3> | ||
<ul> | <ul> | ||
Línea 163: | Línea 162: | ||
</ul> | </ul> | ||
− | + | // ejemplo manual de paginador, hay partial listos en formato digg, clasic,.... | |
<?php if($listMenus->prev) echo Html::linkAction("index/$listMenus->prev/", '<< Anterior |'); ?> | <?php if($listMenus->prev) echo Html::linkAction("index/$listMenus->prev/", '<< Anterior |'); ?> | ||
<?php if($listMenus->next) echo Html::linkAction("index/$listMenus->next/", 'Próximo >>'); ?> | <?php if($listMenus->next) echo Html::linkAction("index/$listMenus->next/", 'Próximo >>'); ?> | ||
Línea 172: | Línea 171: | ||
'''''[apps]/views/menus/create.phtml''''' | '''''[apps]/views/menus/create.phtml''''' | ||
<source lang=php> | <source lang=php> | ||
− | |||
<?php View::content(); ?> | <?php View::content(); ?> | ||
<h3>Crear menu<h3> | <h3>Crear menu<h3> | ||
Línea 178: | Línea 176: | ||
<?php echo Form::open(); // por defecto llama a la misma url ?> | <?php echo Form::open(); // por defecto llama a la misma url ?> | ||
− | <label>Nombre | + | <label for="menus.nombre">Nombre</label> |
− | <?php echo Form::text('menus.nombre') ? | + | <?php echo Form::text('menus.nombre') ?> |
− | <label>Título | + | <label for="menus.titulo">Título</label> |
− | <?php echo Form::text('menus.titulo') ? | + | <?php echo Form::text('menus.titulo') ?> |
<?php echo Form::submit('Agregar') ?> | <?php echo Form::submit('Agregar') ?> | ||
<?php echo Form::close() ?> | <?php echo Form::close() ?> | ||
− | |||
</source> | </source> | ||
Línea 193: | Línea 190: | ||
'''''[apps]/views/menus/edit.phtml''''' | '''''[apps]/views/menus/edit.phtml''''' | ||
<source lang=php> | <source lang=php> | ||
− | |||
<?php View::content(); ?> | <?php View::content(); ?> | ||
<h3>Editar menu<h3> | <h3>Editar menu<h3> | ||
Línea 199: | Línea 195: | ||
<?php echo Form::open(); // por defecto llama a la misma url ?> | <?php echo Form::open(); // por defecto llama a la misma url ?> | ||
− | <label>Nombre | + | <label for="menus.nombre">Nombre</label> |
− | <?php echo Form::text('menus.nombre') ? | + | <?php echo Form::text('menus.nombre') ?> |
− | <label>Título | + | <label for="menus.titulo">Título</label> |
− | <?php echo Form::text('menus.titulo') ? | + | <?php echo Form::text('menus.titulo') ?> |
<?php echo Form::hidden('menus.id') ?> | <?php echo Form::hidden('menus.id') ?> | ||
Línea 209: | Línea 205: | ||
<?php echo Form::close() ?> | <?php echo Form::close() ?> | ||
− | |||
</source> | </source> | ||
Línea 216: | Línea 211: | ||
* '''index''' es la acción para listar http://localhost/menus/index/ | * '''index''' es la acción para listar http://localhost/menus/index/ | ||
− | NOTA: index/ se puede pasar de forma implícita o no | + | NOTA: index/ se puede pasar de forma implícita o no KumbiaPHP en caso que no se le pase una acción |
− | KumbiaPHP en caso que no se le pase una acción | + | buscara por defecto un index, es decir si colocamos |
http://localhost/menus/ | http://localhost/menus/ | ||
* '''create''' crea un menu en la Base de Datos http://localhost/menus/create/ | * '''create''' crea un menu en la Base de Datos http://localhost/menus/create/ |