Back to top

Autore Topic: Gestione Componente lato Frontend  (Letto 3788 volte)

Offline eligio

  • Nuovo arrivato
  • *
  • Post: 4
  • Sesso: Maschio
    • Mostra profilo
Gestione Componente lato Frontend
« il: 26 Set 2011, 18:07:42 »
Salve, sono nuovo del Form, ma utilizzo Joomla da molto tempo, ho creato un sito per la rilevazione della qualità dell'aria, ma tuttavia non riesco ad ultimare una componente dal lato frontend .
Mi spiego meglio, tutte o quasi le componenti di esempio che ho trovato in rete mostrano una semplice visualizzazione dei dati presi dal Database ( Lato Frontend ).
Ma se invece volessi gestire la mia componente da Utente generico, sempre da Frontend ?
Esiste qualche componente di esempio ?

Offline eligio

  • Nuovo arrivato
  • *
  • Post: 4
  • Sesso: Maschio
    • Mostra profilo
Re:Gestione Componente lato Frontend
« Risposta #1 il: 26 Set 2011, 18:15:01 »
Ovviamente che rispetti il Design Pattern MVC per Joomla 1.5

mau_develop

  • Visitatore
Re:Gestione Componente lato Frontend
« Risposta #2 il: 26 Set 2011, 18:21:16 »
sempre da Frontend ?
-----------------------------------
con la 1,5 non è forse molto chiaro, con la 1.7 molto di più...

Il frontend non è fatto per compiti amministrativi, per quello esiste il backend.
Nella 1.7 hai una gestione moolto avanzata dei permessi per cui non è detto che uno che entra in admin abbia sempre "superpoteri" o vedre tutto.
Cioè, admin resta comunque una parte più "riservata" del sito per cui se si tratta di uppare un img, un file, un articolo.. può andare bene frontend, se già vuoi qualcosa di più è meglio la gestione avanzata delle autorizzazioni e dei gruppi specie se non è il cliente ad usarla ma il tecnico/dipendente... è comunque uno di "famiglia"

M.

Offline eligio

  • Nuovo arrivato
  • *
  • Post: 4
  • Sesso: Maschio
    • Mostra profilo
Re:Gestione Componente lato Frontend
« Risposta #3 il: 26 Set 2011, 18:32:15 »
Capisco benissimo ciò che dici, ma ho già adottato la soluzione di una "gestione" da frontend.
Il problema è che non riesco a trovare una componente di esempio che faccia una cancellazione,una modifica ,un inserimento dal lato frontend e che rispetti il d.pattern MVC.

 http://wiki.joomla.it/index.php?title=Creazione_di_un_componente_con_MVC_-_Interfaccia_Amministrativa_-_Parte_4

Questa ad esempio fa solo la visualizzazione nella parte frontend...ovviamente poi basta capire come collegare un pulsante di una view al model e il gioco è fatto... Sapresti aiutarmi o per lo meno darmi dei link di riferimento io non ho trovato assolutamente nulla..

mau_develop

  • Visitatore
Re:Gestione Componente lato Frontend
« Risposta #4 il: 26 Set 2011, 19:37:45 »
pulsante di una view al model
--------------------------------------------
...al controller.. e cmq non cambia nulla rispetto al backend.. non ricordo se nella 1.5 puoi disporre della toolbar cmq non fa un gran lavoro... fa semplicemente il submit del form che puoi fare benissimo col suo pulsante submit o se non hai un form fai un link href e passi dalla get.

M.

Offline eligio

  • Nuovo arrivato
  • *
  • Post: 4
  • Sesso: Maschio
    • Mostra profilo
Re:Gestione Componente lato Frontend
« Risposta #5 il: 27 Set 2011, 10:47:06 »
Niente non riesco a venirne fuori, descriverò il problema nel dettaglio il file view.html.php oltre a contenere una visualizzazione dei dati richiamati tramite la funzione getsensori() , ha per ogni tupla visualizzata , un submit . Questo dovrebbe permettermi di eliminare attraverso un indice la tupla di riferimento.

<code>

jimport('joomla.application.component.view');
class RilevazioneViewRilevazione extends JView
{
 function display($tpl=null)
 {
  print ("<center><h3>Gestione dei Sensori</h3></center>
");
  $model=& $this->getModel();
  $rilevazioni=$model->getrilevazioni();
  ?>
  <table width="700" border="0">
   <?php
  for($i=0, $conta=count($rilevazioni); $i < $conta; $i++)
  {
      ?><tr>
  <td width="200" align=left><?php echo $rilevazioni[$i]['Descrizione']?></td>
  .....
  <td width="100" align=center><input type="submit" name="elimina"  style="width:100px;" value="Elimina"  onclick="$model->Delete($ril);"></td>   
  <?php
  parent::display($tpl);
  }
  ?>
  </table>
   <?php
  }
  }
  ?>
</code>


dove onclick="$model->Delete($ril);" dovrebbe richiamare la funzione Delete che sta in Model passandogli l'identificativo della tupla (la chiave primaria). Quindi dovrebbe riaggiornare la pagina senza quella tupla visualizzato dato che essa è stata( dovrebbe essere ) eliminata.

<code>

<?php
class RilevazioneModelRilevazione extends JModel
{
    function getrilevazioni()
    { ...}
    function Delete($ril)
    {
    $db =& JFactory::getDBO();
    $query = 'DELETE FROM  #__Rilevazione r WHERE ' . $ril . ' = r.IdRilevazione ';
    $db->setQuery( $query );
    }
   
    }
?>
</code>

Ringrazio anticipatamente chiunque mi possa aiutare. :(

mau_develop

  • Visitatore
Re:Gestione Componente lato Frontend
« Risposta #6 il: 27 Set 2011, 11:52:00 »
nella view non dovrebbe esserci codice html.

la view non chiama il model, è il controller che associa idati del model con la view

M.

Offline dazo

  • Esploratore
  • **
  • Post: 169
    • Mostra profilo
Re:Gestione Componente lato Frontend
« Risposta #7 il: 27 Set 2011, 14:45:05 »
Ogni tanto non capisco, quindi se sono fuori tema perdonami, ma


onclick="$model->Delete($ril);"


stai per caso chiamando una funzione php da javascript???? nel qual caso non si può fare javascript è client php e server....



Web Agency Roma
Web designer Seo

mau_develop

  • Visitatore
Re:Gestione Componente lato Frontend
« Risposta #8 il: 27 Set 2011, 15:53:23 »
stai per caso chiamando una funzione php da javascript?
---------------------------------------------------------------
si, nel tentativo di emulare il bottone della toolbar e poi il model come dicevo nn si chiama dalla view

onclick="$model->Delete($ril);

deve diventare una funzione tipo onclick submit e fa il submit di un form dove tra gli hidden fields hai una task delete

oppure semplicemente un href=index.php?option=componente&task&id_da_deletare

M.

 



Web Design Bolzano Kreatif