Foros del Web » Creando para Internet » Sistemas de gestión de contenidos » Joomla »

Ayuda con creacion de componente 1.5

Estas en el tema de Ayuda con creacion de componente 1.5 en el foro de Joomla en Foros del Web. Holam he leido varios tutoriales, he hecho algunos ejemplos muy basicos, he estado desarrollando un ejemplo de prueba: asi esta mi componente: dentro de la ...
  #1 (permalink)  
Antiguo 22/04/2010, 15:40
 
Fecha de Ingreso: diciembre-2006
Mensajes: 381
Antigüedad: 18 años
Puntos: 2
Ayuda con creacion de componente 1.5

Holam he leido varios tutoriales, he hecho algunos ejemplos muy basicos, he estado desarrollando un ejemplo de prueba:
asi esta mi componente:
dentro de la carperta com_prueba, esta mi archivo principal: prueba.php

Código PHP:
defined('_JEXEC') or die('Restricted access');
require_once(
JPATH_COMPONENT.DS.'controller.php');

if(
$controller JRequest::getWord('controller')) {
    
$path JPATH_COMPONENT.DS.'controllers'.DS.$controller.'.php';
    if (
file_exists($path)) {
        require_once 
$path;
    } else {
        
$controller '';
    }
}

$classname 'pruebaController'.$controller;
$controller = new $classname();

$controller->executeJRequest::getVar'task',null,'default' ) );

$controller->redirect() 
Hasta alli todo bien, luego mi controlador(com_prueba/controller.php)

Código PHP:
defined'_JEXEC' ) or die( 'Restricted access' );
jimport('joomla.application.component.controller');

class 
pruebaController extends JController
{
    function 
display()
    {
        
parent::display();
    }


    function 
save(){
    
// get the data to be saved ($_POST hash)
    
$caja1 JRequest::getVar('caja1');
    
// get the model
    
$model $this->getModel('prueba');

    
$view = &$this->getView('save');
    
$view->display();


        if (
$model->save($caja1))
        {
            
$message=JText::_('FoobarSaveFailed');
        }
        else
        {

            
$message='['.$model->getError().']';$message .= ' ['.$getError().']';
        }
        
//$this->setRedirect('index.php?option=com_prueba', $message);
   
}

}) 
luego mi modelo (com_prueba/models/prueba.php)

Código PHP:
defined('_JEXEC') or die("Invalid access");
jimport('joomla.application.component.model');

class 
pruebaModelprueba extends JModel
{


    function 
getMensaje(){
        return 
"Hola, soy un valor devuelto por el modelo";
    }

    function 
save($caja1var){

            
//hago el query para que guarde y demas cosas

            
return 'guardo';

    }



mi primer view(com_prueba/views/prueba/view.html.php):

Código PHP:
    defined'_JEXEC') or die( 'Restricted access');
    
jimport'joomla.application.component.view');

    class 
pruebaViewprueba extends JView
    
{
        function 
display($tpl null)
        {
        
$model =& $this->getModel();
        
$mensaje $model->getMensaje();
        
$this->assignRef('mensaje',$mensaje);

        
parent::display($tpl);
        }



    } 
archivo default del primer view(com_prueba/views/prueba/tmpl/default.php)

Código PHP:
<h1> <?php  echo $this->mensaje ?> </h1>
<form action="<?php echo JRoute::_'index.php' );?>" method="post" >
<input type="text" name="caja1" />
<input type="submit" value="enviar">
<input type="hidden" name="task" value="save" />
</form>

mi segundo view(com_prueba/views/save/view.html.php):

Código PHP:
defined'_JEXEC') or die( 'Restricted access');
    
jimport'joomla.application.component.view');

    class 
pruebaViewsave extends JView
    
{
        function 
display($tpl null)
        {
        
$model =& $this->getModel();
        
$mensaje $model->save();
        
parent::display($tpl);
        }




archivo default del segundo view(com_prueba/views/save/tmpl/default.php)

Código PHP:
<h1Guardado </h1
cuando ejecuto mi componente
http://localhost/joomla-1-5-15/index...ion=com_prueba

muestra el mensaje: Hola, soy un valor devuelto por el modelo
y me muestra la caja de texto con el boton submit, cuando le doy click al boton submit para que ejecute el metodo save, me sale error 500 y este mensaje:
View not found [name, type, prefix]: save,,pruebaView

Alguien puede darme una mano, la verdad he leido el tutorial para crear componentes pero no me queda claro mi error.
Salu2

Etiquetas: componente
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:40.