Back to top

Autore Topic: [RISOLTO]Componente frontend  (Letto 2163 volte)

Offline grad

  • Esploratore
  • **
  • Post: 70
    • Mostra profilo
[RISOLTO]Componente frontend
« il: 01 Ago 2013, 10:51:05 »
Ciao a tutti. Per una commissione importante mi è stato affidato il compito di creare o un modulo o un componente SOLO frontend in joomla 2.5
Il funzionamento a grandi linee è questo.
Dei commerciali di un'azienda, si devono connettere al sito pubblico dell'azienda e tramite un login accedono ad un'area privata solo loro.
In quest'area privata (che deve mantenere il template del sito) devono essere presentare 3 tabelle (popolate da una query da un db) contenenti dei prodotti. Si possono selezionare (con un check) le righe di queste tabelle, fatto ciò, premendo un pulsante in fondo alla pagina, si visualizza una pagina con un resoconto di tutte le righe selezionate. con un tasto di conferma si inviano tutte queste righe selezionate via email ad un'email specificata.
Questo cosa protrebbe essere? Un modulo o un componente? Ciò che mi han chiesto è possibile da fare in joomla?
« Ultima modifica: 02 Ago 2013, 15:02:19 da grad »

Offline giovi

  • Instancabile
  • ******
  • Post: 9835
  • Sesso: Maschio
    • Mostra profilo
Re:Componente frontend
« Risposta #1 il: 01 Ago 2013, 11:44:15 »
puoi fare qualunque cosa in joomla: non è obbligatorio ricorrere al paradigma mvc ma chiaramente se devi riscrivere tutto da 0 utilizzare un framework è abbastanza inutile.

Sicuramente svilupperai un componente in quanto il modulo è un'estensione secondaria. Il template non viene gestito direttamente dal componente quindi anche per le tabelle manterrai la stessa grafica impostata dalle voci di menu.

L'interazione col db può avvenire tramite le api di joomla

Offline grad

  • Esploratore
  • **
  • Post: 70
    • Mostra profilo
Re:Componente frontend
« Risposta #2 il: 01 Ago 2013, 12:00:51 »
come al solito giovi sei il numero uno! non capisco l'affermazione "un framework è abbastanza inutile" cioè?
Tu quindi mi dici di seguire le linee guida per componenti joomla 2.5? o ci faccio un php secco e liscio?

Altra cosa: come faccio a dire che questo mio componente frontend deve essere visualizziato SOLO se sei registrato?
« Ultima modifica: 01 Ago 2013, 12:04:09 da grad »

Offline giovi

  • Instancabile
  • ******
  • Post: 9835
  • Sesso: Maschio
    • Mostra profilo
Re:Componente frontend
« Risposta #3 il: 02 Ago 2013, 00:10:05 »
utilizzare joomla ti evita di riscrivere grandi pezzi di codice: lo stesso controllo dell'utente registrato lo puoi fare con un semplice
Codice: [Seleziona]
if (JFactory::getUser()->guest): echo "Vatti a fare un giro, ficcanaso..." else: ...............(documentazione qui: http://docs.joomla.org/Accessing_the_current_user_object )

quindi escluderei a priori il php "secco"! :)
ma allo stesso tempo puoi sfruttare molto di più il framework: l'accesso rapido e sicuro al database, la lettura di variabili get e post e regex anti sql-injection (doc qui: http://docs.joomla.org/Accessing_the_database_using_JDatabase ), la gestione delle views, ecc...

Le guide disponibili nellla documentazione ufficiale vanno bene, ma quelle in inglese non quelle tradotte!

Offline grad

  • Esploratore
  • **
  • Post: 70
    • Mostra profilo
Re:Componente frontend
« Risposta #4 il: 02 Ago 2013, 11:11:27 »
grazie mille ancora giovi!
Un ultima cosa: come posso fare in modo che dalla pagina principale se NON si è loggati la mia view sia irragiungibile?
MI spiego meglio. Se questo è il mio sito: www.miosito.it/index.php quando faccio il login vengo indirizzato qua: www.miosito.it/index.php/area-riservata e vedo il pannello personale.
La stessa cosa la posso raggiungere facendo così (sempre se sono loggato) www.miosito.it/index.php?option=com_nomecomponente vedo sempre il pannello di controllo.

Se però io NON sono loggato facendo  www.miosito.it/index.php/area-riservata  mi viene mostrato il login e ciò mi va bene. Ma se io faccio www.miosito.it/index.php?option=com_nomecomponente vedo la vista del mio componente con tutte le scritte anche se senza i dati privati. Vorrei però che la cosa non accadesse per sicurezza. Vorrei o che si visualizzi una pagina di errore o che si visualizzi un login
Come posso fare ciò?

Offline giovi

  • Instancabile
  • ******
  • Post: 9835
  • Sesso: Maschio
    • Mostra profilo
Re:Componente frontend
« Risposta #5 il: 02 Ago 2013, 14:02:16 »
prima del codice della view (anche se andrebbe fatto nel controller) inserisci questo:
Codice: [Seleziona]
if (JFactory::getUser()->guest) {header("location: http://www.tuosito.xx/pagina-di-login"); exit;}

Offline grad

  • Esploratore
  • **
  • Post: 70
    • Mostra profilo
Re:Componente frontend
« Risposta #6 il: 02 Ago 2013, 15:01:51 »
un giorno ti faranno santo  ;)

 



Web Design Bolzano Kreatif