robregonm, on 11 December 2012 - 07:31 AM, said:
Creo que el asunto es más de comprensión de lo que es un behavior, que palabras más, palabras menos, es el método que utiliza yii para permitir herencia múltiple, porque internamente cuando una función o variable no existe en la clase como tal, entonces procede a buscarlas en los behaviors asociados al modelo.
Un behavior NO es un modelo en sí, ni es un controlador... es sencillamente una clase que contiene funciones y variables que pueden "adjuntarse" a otra clase para su posterior uso.
Podríamos verlo en cierto modo como los traits de PHP 5.4, pero para PHP 5.2 que no soporta este tipo de cosas.
Saludos.
Hola robregonm, gracia por la información logré hacer funcionar la extensión.
CREATE TABLE IF NOT EXISTS `clasificaciones` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`root` int(10) unsigned DEFAULT NULL,
`lft` int(10) unsigned DEFAULT NULL,
`rgt` int(10) unsigned DEFAULT NULL,
`level` smallint(5) unsigned DEFAULT NULL,
`nombre` varchar(100) NOT NULL,
`descripcion` text,
PRIMARY KEY (`id`),
KEY `root` (`root`),
KEY `lft` (`lft`),
KEY `rgt` (`rgt`),
KEY `level` (`level`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=6 ;
y para crear un nuevo nodo se realiza de esta forma
$root = new Category();
$root->nombre = 'root';
$root->saveNode( false );
ahora si logré entender la funcionalidad y la forma de hacerlo(considerando que en la tabla category existe el campo nombre), sólo un único detalle; como modifico el nombre de un nodo ya creado? y como puedo crear un front-end para mostrar esto, si hay una extensión perfecto, y si no, bueno ahora puedo hacerlo con lo que tengo. Gracias una vez mas