Back to top

Autore Topic: Form che non reindirizza a dovere  (Letto 3062 volte)

Offline lory1990

  • Esploratore
  • **
  • Post: 156
  • Sesso: Maschio
    • Mostra profilo
Form che non reindirizza a dovere
« il: 04 Ott 2010, 23:06:21 »
Ciao a tutti ho scritto questo codice:

Codice: [Seleziona]
<form action="index.php?option=com_uni&controller=new&task=salva" method="post" name="adminForm">
....
<input type="submit" value="<?php echo JText::_('ADD_EXAMS'?>"/>
</form>

solo che non reindirizza sulla funzione del controller che deve gestire il form.
postoi l controller:

Codice: [Seleziona]
class UniControllerNew extends JController
{
    function display(){
        JRequest::setVar('model', 'new' );
        JRequest::setVar('view', 'new' );   
        parent::display();
    }
    function salva(){
        echo "salvaaa";
    }
   
    function elimina(){
        $model = $this->getModel('new');
        if(!$model->elimina()){
            $msg = JError::raiseWarning(100,JText::_('ELIMINAZIONE_FALLITA'));
        } else{ $msg = JText::_("ELIMINATO");}
        $this->setRedirect("index.php?option=com_uni",$msg);
    }
}

come faccio?

mau_develop

  • Visitatore
Re:Form che non reindirizza a dovere
« Risposta #1 il: 04 Ott 2010, 23:29:37 »
come si chiama il controller?

M.

Offline lory1990

  • Esploratore
  • **
  • Post: 156
  • Sesso: Maschio
    • Mostra profilo
Re:Form che non reindirizza a dovere
« Risposta #2 il: 04 Ott 2010, 23:39:41 »
si chiama New

mau_develop

  • Visitatore
Re:Form che non reindirizza a dovere
« Risposta #3 il: 05 Ott 2010, 10:23:02 »
quindi hai più controller... come fai a switchare tra i controller?

M.

Offline lory1990

  • Esploratore
  • **
  • Post: 156
  • Sesso: Maschio
    • Mostra profilo
Re:Form che non reindirizza a dovere
« Risposta #4 il: 05 Ott 2010, 16:21:16 »
beh... in che senso..... cioè ho semplicemente richiamato una funzione e basta no??

posto il codice completo:
Controller:

Codice: [Seleziona]
defined( '_JEXEC' ) or die( JText::_('Accesso Negato') );

jimport('joomla.application.component.controller');

class UniControllerNew extends JController
{
    function display(){
        JRequest::setVar('model', 'new' );
        JRequest::setVar('view', 'new' );   
        parent::display();
    }
    function salva(){
        echo "salvaaa";
    }
   
    function elimina(){
        $model = $this->getModel('new');
        if(!$model->elimina()){
            $msg = JError::raiseWarning(100,JText::_('ELIMINAZIONE_FALLITA'));
        } else{ $msg = JText::_("ELIMINATO");}
        $this->setRedirect("index.php?option=com_uni",$msg);
    }
}
Template:
Codice: [Seleziona]
<?php defined'_JEXEC' ) or die( JText::_('Accesso Negato') ); ?>
<?php if($this->id==0){?>
    <h1><?php echo JText::_("PLS_LOGIN")?></h1>
<?php } else{?>
<form action="index.php?option=com_uni&controller=New&task=salva" method="post" name="adminForm">
<h1><?php echo JText::_("NEW_EXAM")?></h1>   
<p><?php echo JText::_("DESC_EXAM")?></p>
<h2><?php echo JText::_("EXAMS")?></h2>
<?php 
$a 
count($this->materie); // 3 colonne
if ($a!=0){?>
   
    <table width="100%">
    <?php for($i=0;$i<$a;$i+=3){?>
     <tr>
         <td width="20px"><input type="checkbox" name="mat[]" value="<?php echo $this->materie[$i]->ID?>" /></td>
         <td><?php echo $this->materie[$i]->nome?></td>
         <td width="20px"><?php if($i+1<$a){?><input type="checkbox" name="mat[]" value="<?php echo $this->materie[$i+1]->ID?>" /><?php ?></td><td><?php if($i+1<$a){ echo $this->materie[$i+1]->nome;}?></td>
            <td width="20px"><?php if($i+2<$a){?><input type="checkbox" name="mat[]" value="<?php echo $this->materie[$i+2]->ID?>" /><?php ?></td><td><?php if($i+1<$a){ echo $this->materie[$i+2]->nome;}?></td>
     </tr>
    <?php ?>
    </table>
<?php 
$b count($this->pack);
if(
$b!=0){
?>

<h2><?php echo JText::_("PACKAGES")?></h2>
<table>
    <?php for ($i=0;$i<$b;$i++){
        
$row $this->pack[$i];
        
?>

         <tr>
            <td width="20px"><input type="checkbox" name="mat[]" value="<?php echo $row->Materie?>"/></td>
            <td><?php echo $row->Nome;?></td>
              <td><?php echo $this->valori[$i];?></td>
          </tr>
<?php    }?>
</table>
<?php }?>
<input type="hidden" name="option" value="com_uni" />
<input type="hidden" name="task" value="" />
<input type="hidden" name="boxchecked" value="0" />
<input type="hidden" name="controller" value="new" />
 <p align="center">   <input type="submit" value="<?php echo JText::_('ADD_EXAMS'?>"/></p>
 </form>
 <?php }?>

mau_develop

  • Visitatore
Re:Form che non reindirizza a dovere
« Risposta #5 il: 05 Ott 2010, 18:12:25 »
..o noncapisco qualcosa io... ma come fai ad infilarti in quel controller? dov'è che recuperi la var controller e  fai l'execute della task?

M.

Offline lory1990

  • Esploratore
  • **
  • Post: 156
  • Sesso: Maschio
    • Mostra profilo
Re:Form che non reindirizza a dovere
« Risposta #6 il: 05 Ott 2010, 20:23:29 »
ok ok ok... mi sa che  qualcosa non è chiaro a me invece.... anche se l'argomento di action è questo:
Codice: [Seleziona]
index.php?option=com_uni&controller=New&task=salva
ok allora non so coem fare da frontend a recuperare un controller e la relativa task... per favore puoi are un esempio?

Offline lory1990

  • Esploratore
  • **
  • Post: 156
  • Sesso: Maschio
    • Mostra profilo
[RISOLTO]Form che non reindirizza a dovere
« Risposta #7 il: 05 Ott 2010, 20:37:56 »
Ok ok risolto: bastava mettere

Codice: [Seleziona]
action="<?php echo JRoute::_('index.php'?>"
e poi
Codice: [Seleziona]
<button type="submit" class="submit" onclick="return submitbutton('salva')">

mau_develop

  • Visitatore
Re:Form che non reindirizza a dovere
« Risposta #8 il: 05 Ott 2010, 20:59:56 »
beh solitamente fa da switch il file con lo stesso nome del componente che trovi in root, se componente amministrativo va aggiunto admin.nome.php

anche del submit puoi farne a meno se nella view istanzi la JToolbar helper i cui bottoni fanno proprio qs onclick="return qualcosa

M.

Offline lory1990

  • Esploratore
  • **
  • Post: 156
  • Sesso: Maschio
    • Mostra profilo
Re:Form che non reindirizza a dovere
« Risposta #9 il: 05 Ott 2010, 21:21:26 »
ma era un frontend.... :)

mau_develop

  • Visitatore
Re:Form che non reindirizza a dovere
« Risposta #10 il: 05 Ott 2010, 21:37:06 »
meno la toolbar il discorso del controller è comunque valido

M.

ps

tutto può funzionare comunque ma così sembra tu abbia fatto un mvc un po 'short".

non riesci a gestire gli errori ne del form ne dell'sql, non riesci ad avere messaggi di ritorno

M.
« Ultima modifica: 05 Ott 2010, 21:41:59 da mau_develop »

 



Web Design Bolzano Kreatif