Ocultar el "id" de una tabla

Quiero saber si se puede hacer que se oculte el id de una tabla pero que funcione correctamente el servicio de: eliminar y editar en el listado.

Comentarios

  • edited 9:27
    Quiero saber si se puede hacer que se oculte el id de una tabla pero que funcione correctamente el servicio de: eliminar y editar en el listado.

    Si te refieres a los formularios StandardForm, puedes utilizar la funcion
    not_browse, la cual tiene ese proposito especifico, ocultar campos en la vista (hacerlos hidden).

    Funcionamiento (sacado del libro de Kumbia):
    not_browse($campo, [$campo2, ...])
    
    Hace un campo no aparezca en la vista de Visualización. Este campo puede recibir una lista de campos.
  • txktxk
    edited 9:27
    Hay una serie de métodos de los StandarForms para realizar estas tareas:

    class AgendaController extends StandardForm{

    public $scaffold = true;
    function __construct(){
    $this->set_form_caption('Mi Formulario');//Cambia el título del form
    $this->ignore('id');//Ignora el campo id
    $this->set_type_password('nombre');//Campo nombre de tipo pasword
    $this->set_size('apellido', '10');//Establece a 10 el tamaño del campo..
    }
    }

    Hay bastantes métodos para controlar estos form, manual, página 84.
  • Bueno una sugerencias si colocas $this->ignore('id') lo estas ignorando incluso al momento de hacer una insercion mi recomendacion es colocalor como $this->set_hidden('id'); es mas seguro al momento de hacer la insercion...

    Exitos...
  • edited 9:27
    Mira te explico a la vez que tú en la base de datos pone que es autoincrement, ya el en la inserción cuando tú pones $this->ignore('id'), el lo ignora en la vista y el controlador pero en la base de datos a través del Active Record ya el aumenta el id.

    Saludos y espero resuelvan.
  • edited 9:27
    Bueno, el problema en sí no es que no haya leido el manual. Pero con todas esas funciones lo que hace con el id es desaparecerlo como un campo normal, y no funciona nada, o sea que en el browser a los iconos de borrar y editar les quita la funcionalidad porque no tienen ligado el "id".

    Así que por métodos normales no se puede, tuve que hacer una pequeña modificación, ya que lo que corresponde como "id" para los usuarios en mi DB se llama "clave", y esa es la que se muestra en realidad, no el id.

    Les agradezco mucho tomarse tiempo para responderme.
  • edited 9:27
    ...
    Les agradezco mucho tomarse tiempo para responderme.

    Probaste con
    $this->not_browse('clave');
    
    ?
  • edited 9:27
    Holas amigos este es mi promer mensaje, y busco ayuda, ya me lei el libro completo y no encuentro la solucion, quize que no me mostrar y modificara el id, ya que considero ilogico que este es pueda modificar ya que es un campo key autonumerico. lo que hice fue un $this->ignore('id');
    lo que consegui es que no me permita modificar ningun campo, no se mostraba pero no me permitia modificar ni eliminar (Cual es la verdadera funcion de este metodo?¿)
    Segundo, lo elimine, pero ahora me sigue no apareciendo el id ??¿ lei el tema de las persistencias en la clase StandardForm lo pase a false, pero aun asi no me aperece nuevamente el id?¿
    Que puedo hacer... ya me estoy desesperando.
    PD: ya use tambien not_browse. es lo que quiero pero por el momento esta sin mostrarme el id..... agrega correctamente nuevos registros pero no se llega a mostrar en visualizar ni en reporte y no me elimina los registros...
  • edited 9:27
    jojo, ya lo solucione, en parte, es el navegador, milagrosamente lo probe en IE y me mostro correctamente, el problema esta en opera aunque lo tengo configurado para que busque la nueva version de la pag cada vez que se visita la pag (valga la rebusnancia) no me lo actualiza.... lo voy a verificar.
    Se almacenan en cookies... hay alguna forma de que si actualizo..
    las cookies automaticamente se generen nuevamente sin que el visitante las tenga que borrar....? quiza este diciendo alguna tonteria, pero es que soy nuevo en esto de los Frameworks y que mejor forma que empezar algo que esta creado en latinoamerica...
    Saludos
  • edited 9:27
    Esto es debido a que los formularios StandardForm quedan cacheados por Kumbia en el explorador utilizado, si haces algun cambia en el __construct() debes cerrar el explorador utilizado y volver a abrir la pagina.


    A ti te funciono porque abriste con otro explorador.

    PD: Me imagino que asi sera con los formularios autogenerados por kumbia.
  • edited 9:27
    Ahora entiendo por que en los screencast, se abria safari cada vez que se hacia algun cambio, me parece poco practico, habra alguna forma de evitarlo?
    Por cierto que SO es el que se usa en los videos???
    Saludos
  • Lo que sucede es que cuando se crean esos formularios los mismo se montan en la cache del navegador...
Sign In or Register to comment.