Yii Framework Forum: Problemas con clase HTML - Yii Framework Forum

Jump to content

Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

Problemas con clase HTML me da error de link Rate Topic: -----

#1 User is online   rafaelrosales 

  • Standard Member
  • PipPip
  • Yii
  • Group: Members
  • Posts: 229
  • Joined: 02-October 13
  • Location:Cuba

Posted 11 April 2018 - 08:59 AM

Hola comunidad recientemente he empezado a utilizar yii2, por lo que me dan dando algunos problemas de principiante, por ejemplo en yii1.1 utilizaba la classe CHTML, pero he leido en forum que ahora en Yii2 se utiliza la clase HTML, por lo que pongo este post para aprender a usar esta clase, ahora en mi controlador tengo:
 public function actionObtenerProducto() {
        $codigo = $_POST['incodigo'];
        //  $destino = $_POST['idde'];
        $producto = Productos::model()->findByPk((string) $codigo);
        $producmayor = Submayor::model()->find('Codpro=:Codpro', array(':Codpro' => $producto->CodSubp));
        $almacen = Almacenes::model()->find('CodPVen=:CodPVen', array(':CodPVen' => $producmayor->CodPVen));
        echo CJSON::encode(array(
            'descripcion' => $producto->NProductos,
            'codigo' => $producto->Codprod,
            'preciomn' => $producto->PreMay,
            'existencia' => $producmayor->SaldoAct,
            'Idum' => $producto->UM,
            'CodPVen' => $almacen->Descripcion,
        ));
    }

en mi forma tengo esto:
                         echo Html::textField('incodigo', '', array(
                            'id' => 'incodigo',
                            'ajax' => array(
                                'type' => 'POST',
                                'url' => CController::createUrl('datossal/obtenerProducto'),
                                'dataType' => 'json',
                                'data' => array(
                                    'incodigo' => 'js:this.value',
                                    'idde' => 'js:$("#Datossal_Codde").val()',
                                ),
                                'success' => 'function(data) { 
                                                $("#producto").val(data.descripcion);
                                                $("#inproductos").val(data.codigo);                                            
                                                $("#preciomn").val(data.preciomn);
                                                $("#existencia").val(data.existencia);
                                                $("#Idum").val(data.Idum);  
                                                $("#codpro").val(data.CodSubp); 
                                                $("#CodPVen").val(data.CodPVen);  
                                                }')
                        ));
                        ?>

y
                         echo Html::textField('producto', '', array('size' => 70, 'readonly' => true));
                        ?>

pero me da error, no se que tengo mal en este codigo, ya que en Yii1.1 lo utlizaba mas o menos asi pero con CHTML, miren a ver si me echan una mano
0

#2 User is offline   rahif 

  • Standard Member
  • PipPip
  • Yii
  • Group: Members
  • Posts: 283
  • Joined: 11-July 13

Posted 11 April 2018 - 02:12 PM

hola,
supongo que tienes la linea
use yii\helpers\Html;
al principio del archivo. Con eso el código:
echo Html::textInput('producto', '', array('size' => 70, 'readonly' => true));

Mostrará una caja de texto. Luego ve añadiendo las opciones a ver que errores aparecen.
0

#3 User is online   rafaelrosales 

  • Standard Member
  • PipPip
  • Yii
  • Group: Members
  • Posts: 229
  • Joined: 02-October 13
  • Location:Cuba

Posted 12 April 2018 - 08:25 AM

View Postrahif, on 11 April 2018 - 02:12 PM, said:

hola,
supongo que tienes la linea
use yii\helpers\Html;
al principio del archivo. Con eso el código:
echo Html::textInput('producto', '', array('size' => 70, 'readonly' => true));

Mostrará una caja de texto. Luego ve añadiendo las opciones a ver que errores aparecen.

Hola rahif gracias por responder, mira ahora no encuentra la clase CControler en esta linea
 'url' => CController::createUrl('datossal/obtenerProducto'),

Como esto es importado de yii1.1, no se como trabaja esto aquí, ahi me muestra el error:
 PHP Fatal Error – yii\base\ErrorException
Class 'CController' not found

0

#4 User is offline   rahif 

  • Standard Member
  • PipPip
  • Yii
  • Group: Members
  • Posts: 283
  • Joined: 11-July 13

Posted 12 April 2018 - 08:40 AM

use yii\helpers\Url;
$url = Url::to(['datossal/obtenerProducto']);

En yii2 esta más definido modulo-vista-controlador, la creación de url se pasa al helper Url para poder utilizarlo
desde las vistas sin necesidad del controlador.
0

#5 User is online   rafaelrosales 

  • Standard Member
  • PipPip
  • Yii
  • Group: Members
  • Posts: 229
  • Joined: 02-October 13
  • Location:Cuba

Posted 14 April 2018 - 09:07 AM

View Postrahif, on 12 April 2018 - 08:40 AM, said:

use yii\helpers\Url;
$url = Url::to(['datossal/obtenerProducto']);

En yii2 esta más definido modulo-vista-controlador, la creación de url se pasa al helper Url para poder utilizarlo
desde las vistas sin necesidad del controlador.

Gracias rahif por responder, esto me da varios errores, parece que la traslacion de yii1.1 a yii2 es compleja, por ejemplo me da problemas con los lisdata, me dice:
 PHP Fatal Error – yii\base\ErrorException
Call to undefined method yii\helpers\Html::listData()
en este pedazo de codigo
 echo Html::dropDownList('incmay', '', Html::listData(Cmayorista::model()->findAll(array('order' => 'Descripcion DESC')), 'IdMay', 'Descripcion'));

parece que realmente necesito CHTML, que en el forum de yii2 veo que lo utilizan mucho
0

#6 User is offline   rahif 

  • Standard Member
  • PipPip
  • Yii
  • Group: Members
  • Posts: 283
  • Joined: 11-July 13

Posted 21 April 2018 - 11:53 AM

En Yii2 se ha reescrito el codigo completamente. Se mantiene la forma en la que se utiliza pero los conceptos se han modificado.
Pasar una aplicación de Yii1 a Yii2 es complicado, quiza es más fácil rehacer la aplicación entera.

Quote

parece que realmente necesito CHTML, que en el forum de yii2 veo que lo utilizan mucho

En Yii2 ho hay clase CHTML, esta el helper Html.
Empieza con una aplicación más simple, o ve haciendo una compleja poco a poco (por modulos) pero lleva tiempo.
Si puedes Utiliza php 7.2 que es la última versión de php y tomatelo con calma.
saludos
0

Share this topic:


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users