it-swarm.it

Modulo di una volta per gli utenti Joomla?

Voglio inserire un modulo html/php personalizzato per il mio tenti registrati di Joomla ma voglio che sia inviato dall'utente una sola volta, intendo se un utente ha inviato il modulo, la prossima volta che aprirà quel pagina del modulo, dovrebbe non vedere di nuovo il modulo? Invece, dovrebbe vedere un messaggio personalizzato (come se hai già inviato il modulo o bla bla bla ....) Come raggiungere questo obiettivo?

6
saibbyweb

Quando dici "personalizzato", spero che tu intenda aderire ai metodi Joomla e renderlo un modulo o un componente;)

Il modo migliore per farlo è utilizzare alcuni dei metodi che hai già utilizzato. E con questo intendo ottenere l'oggetto utente.

Pertanto, quando un utente invia il modulo, non solo invia i dati che ha inserito, ma invia anche il proprio nome utente, usando $user->username. Andando avanti, ora presumibilmente abbiamo il loro nome utente memorizzato nel database insieme ai dati che hanno inviato.

Ora è necessario scrivere una query del database per ottenere il nome utente dalla tabella e confrontarlo con l'utente attualmente connesso. Ecco un piccolo esempio:

$db = JFactory::getDbo();
$user = JFactory::getUser();

$query = $db->getQuery(true);
$query->select($db->quoteName('username'));
      ->from($db->quoteName('#__myform'));
      ->where($db->quoteName('username') . ' = '. $db->quote($user->username));
$db->setQuery($query);

$result = $db->loadResult();

if($result) {
    // display custom message
}
else {
    // display form
}

Penso che sarebbe un'idea per far funzionare prima il modulo e poi iniziare a integrare il controllo utente.

Spero che sia di aiuto

3
Lodder

Non sono sicuro quale estensione stai utilizzando per generare il modulo. Ma se hai la possibilità di cambiarlo in "Chronoforms" puoi farlo per questa estensione come suggerito qui: http://www.chronoengine.com/forums/posts/t9535/p9535/user-submit- solo-once.html

NOTA: Anche se non usi i cronoformi, puoi comunque usare il metodo sottostante in quanto utilizza le funzioni standard e il framework di Joomla.

Questo è esattamente quello che stai cercando, ma il trucco è che devi usare i cronoformi, che comunque sono la migliore estensione in formato libero per Joomla, secondo me. Il supporto è eccellente, ben mantenuto. Lo uso anche per il mio sito.

2

Utilizzare il contatto B2J per generare campi personalizzati in un modulo. È un componente creatore gratuito di moduli Joomla fornito dal team Bang2Joom. Backend piacevole e facile! Supporto amichevole!

Provalo!

Scarica qui: http://www.bang2joom.com/joomla-components/b2j-contact

0
Gev Balyan