acceder a un model desde hmvc extencion

232 views
Skip to first unread message

eycopia

unread,
Sep 15, 2011, 2:51:46 AM9/15/11
to CodeIgniter-spanish
Hola amigos, acabo de implementar el modulo de hmvc en codeigniter y
ya tengo el primer problema XD.

Pasa que tengo una libreria que cree en /application/libraries/
lib1.php esta libreria hace uso de un modelo que esta en /application/
modules/usuario/tabla.php

bien en lib1.php lo que hice es $this->load->model('tabla'); y esto me
da error. Entonces intente creando la carpeta libraries en /
application/modules/usuario/ y colocar alli la libreria, pero entonces
me tope con el error en el autoload porque lo cargaba automaticamente.

En fin lo ultimo que hice es solo para probar, mas que guiandome en
algo.

Que puedo hacer?

Fásiko

unread,
Sep 15, 2011, 5:18:36 AM9/15/11
to codeignit...@googlegroups.com
Dependiendo de la librería que hayas utilizado para implementar los módulos, ser hará de una u otra manera.

Para cargar un modelo de otro módulo, bastaría con poner el nombre del módulo en la ruta. ej: $this->load->model('otro_modulo/modelo');





eycopia

unread,
Sep 15, 2011, 1:32:15 PM9/15/11
to CodeIgniter-spanish
Justo estoy siguiendo ese tutorial. pero esta para codeigniter 1.7 y
no logro hacer que funcione.

Carlos Mora

unread,
Sep 15, 2011, 1:39:57 PM9/15/11
to codeignit...@googlegroups.com
El día 15 de septiembre de 2011 08:51, eycopia <eyc...@gmail.com> escribió:
> Hola amigos, acabo de implementar el modulo de hmvc en codeigniter y
> ya tengo el primer problema XD.
>
> Pasa que tengo una libreria que cree en /application/libraries/
> lib1.php esta libreria hace uso de un modelo que esta en /application/
> modules/usuario/tabla.php
Si no me equivovo aqui elmodelo se debería llamar
/application/modules/usuario/MODEL/tabla_model.php.

Cada module es en si una tríada MVC.

Fásiko

unread,
Sep 15, 2011, 2:00:03 PM9/15/11
to codeignit...@googlegroups.com
como dice Carlos, me parece que no lo haces bien. No había revisado bien la ruta en tu primer mail.

Dentro de modules, te haces la carpeta usuario. Dentro de la misma, la carpeta model. Y ya tiras de ahí.
Para que te hagas una idea, dentro de cada módulo es como si tuviesemos una instancia completa e independiente de CI. Por lo tanto necesitas las carpetas controllers, models, etc...

Por cierto, la guía esa sí que sirve para CI 2. Te lo digo por 2 razones; la primera porque yo lo uso igual en CI 2; la segunda porque ese artículo está escrito por mí y cuando detecto cambios que no funcionan, lo actualizo.

Saludos...

Jimmy Collazos || acido || cuatroxl.com

unread,
Sep 15, 2011, 2:03:14 PM9/15/11
to codeignit...@googlegroups.com
http://www.google.es/search?q=codeigniter+hmvc+MODELS&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:es-ES:official&client=firefox-a

Las tres primeras te dan la respuesta....

Pero a modo de respuesta te diré que: siempre que te encuentres con un problema de estos, ve a la raiz del problema (no tengas miedo :D ). En este caso es el plugin que estás usando HMVC.

Mirando el código de este plugin; podrás ver cómo hace la carga de "models" ( $this->load-model() )
https://bitbucket.org/wiredesignz/codeigniter-modular-extensions-hmvc/src/d28d24e26397/third_party/MX/Loader.php#cl-174

Esa es la función que "no te está funcionando" Si la miras bien podrás ver como construye la ruta para cargar el archivo:
list($path, $_model) = Modules::find(strtolower($model), $this->_module, 'models/');

Por deducción puedes entender que $this->_modules es el nombre del Modulo que estás usando

El resto seguro que eres capaz de poder analizarlo perfectamente

:D

Espero haberte ayudado



--
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::: J i m m y  C o l l a z o s :::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

eycopia

unread,
Sep 16, 2011, 10:30:09 AM9/16/11
to CodeIgniter-spanish
creo que ando medio torpe...

cree la carpeta modules dentro de application
en la carpeta modules cree otra carpeta llamada usuario, y dentro de
esta controllers, models, views.

y ahora tengo una clase de la siguiente manera:

class Acceso extends MX_Controller{

function __construct() {
parent::__construct();
$this->load->library('Autenticar');
$this->Autenticar->CI =& $this;
}

function index(){
$this->load->view('usuarios/login');//login esta en la carpeta
views de este modulo: usuarios

}
}

Y bueno como si me funciona el index de mi pagina, el problema es al
cargar el index de este controlador, porque me sale el error 404, y yo
estoy llamando al metodo index desde un link con esto:

<a href="<?php echo base_url();?>modules/usuarios/acceso"
class="right" id="alogin" rel="#overlay">Acceder</a>


On 15 sep, 13:03, "Jimmy Collazos || acido || cuatroxl.com"
<acid...@gmail.com> wrote:
> http://www.google.es/search?q=codeigniter+hmvc+MODELS&ie=utf-8&oe=utf...
>
> Las tres primeras te dan la respuesta....
>
> Pero a modo de respuesta te diré que: siempre que te encuentres con un
> problema de estos, ve a la raiz del problema (no tengas miedo :D ). En este
> caso es el plugin que estás usando HMVC.
>
> Mirando el código de este plugin; podrás ver cómo hace la carga de "models"
> ( *$this->load-model()* )https://bitbucket.org/wiredesignz/codeigniter-modular-extensions-hmvc...

Fásiko

unread,
Sep 16, 2011, 12:57:52 PM9/16/11
to codeignit...@googlegroups.com
Usa este:

 <a href="<?php echo base_url();?>/usuarios/acceso"
class="right" id="alogin" rel="#overlay">Acceder</a>

(explicado también en ese artículo)

eycopia

unread,
Sep 17, 2011, 12:05:29 AM9/17/11
to CodeIgniter-spanish
Ya lo intente y nada, esto me esta liando mucho.

On 16 sep, 11:57, Fásiko <fas...@gmail.com> wrote:
> Usa este:
>
>  <a href="<?php echo base_url();?>/usuarios/acceso"
> class="right" id="alogin" rel="#overlay">Acceder</a>
>
> (explicado también en ese artículo)
>
Reply all
Reply to author
Forward
0 new messages