Estoy empezando con este framework, y he descargado la última versión la 1.1.13. Tras revisar el tutorial de primera aplicación Yii que encontré aquí en español (me sorprendió en español!!) me encontré con varios errores cuando realicé CRUD. Tras dar algunas vueltas decidí probar con la anterior versión y todo fue bien. Alguien sabe la solución del error en la versión 1.1.13, en la carpeta protected/views/{modelo} no se generan automáticamente los _form, etc … por lo que la primera la recibí en la cara .
Muchas gracias de antemano, este framework tiene muy buena pinta, espero llevarme bien con él
Podría publicar algunos de los mensajes de error que le están saliendo? O las capturas de pantallas para ver lo que está sucediendo y así determinar en en qué consiste el error.
Adicionalmente, le recomiendo usar la extensión: AweCrud, que es un generado CRUD con bastantes mejoras (muchísimas especialmente de look’n’feel), y especialmente útil cuando se usa el framework CSS Bootstrap.
El directorio …protected/views/{modelo}/ sólo contiene create.php index.php update.php view.php
En la versión anterior que he probado después(1.1.12) el mismo directorio contiene admin.php create.php _form.php index.php _search.php update.php _view.php view.php
Error:
CException
UserController cannot find the requested view "_form".
/var/www/yii/framework/web/CController.php(878)
.
.
.
876 }
877 else
878 throw new CException(Yii::t(‘yii’,’{controller} cannot find the requested view “{view}”.’,
Creo que el problema es la falta de esos archivos _* pero me resulta raro que sólo me pase a mí, alguien a probado a realizar CRUD con una tabla de prueba.
Robregonm veré la extensión que me comentas, gracias.
866 {
867 if(($viewFile=$this->getViewFile($view))!==false)
868 {
869 $output=$this->renderFile($viewFile,$data,true);
870 if($processOutput)
871 $output=$this->processOutput($output);
872 if($return)
873 return $output;
874 else
875 echo $output;
876 }
877 else
878 throw new CException(Yii::t('yii','{controller} cannot find the requested view "{view}".',
879 array('{controller}'=>get_class($this), '{view}'=>$view)));
880 }
881
882 /**
883 * Renders a named clip with the supplied parameters.
884 * This is similar to directly accessing the {@link clips} property.
885 * The main difference is that it can take an array of named parameters
886 * which will replace the corresponding placeholders in the clip.
887 * @param string $name the name of the clip
888 * @param array $params an array of named parameters (name=>value) that should replace
889 * their corresponding placeholders in the clip
890 * @param boolean $return whether to return the clip content or echo it.
Tengo el mismo problema y también estoy siguiendo el tutorial oficial.
Actualización: Después de muchos intentos con la consola, decidí intentarlo con el entorno gráfico "gii" y sorprendentemente funciona muy bien. Reconoció los "models" y "views" que ya había creado con "yiic shell" y completó los que faltaban (como el _form.php).
Diego, gracias por el dato, la verdad había obviado que estaba siendo por consola, había asumido que era Gii (por lo que el CRUD por consola está marcado como obsoleto en Yii 1.1).
Nuevamente para Gii, recomiendo la extensión AweCrud para la generación de código (por generar un código más completo).