Back to top

Autore Topic: dubbi toolbar + ajax  (Letto 3322 volte)

Offline oncelot

  • Esploratore
  • **
  • Post: 59
    • Mostra profilo
dubbi toolbar + ajax
« il: 24 Mar 2016, 11:06:58 »
Salve a tutti ragazzi...eccomi come sempre a chiedervi aiuto

ho due problemi.
1) non ben capito come funzionano i bottoni del toolbar
2) ho provato a crearli custom, prendendo come riferimento questa pagina, https://docs.joomla.org/Creating_a_toolbar_for_your_component , però quando clicco sul bottone creato mi dà il seguente errore
document.adminForm.boxchecked is undefined, sapreste aiutarmi?

3) siccome non riuscivo a risolvere il problema del bottone, allora ho optato con una chiamata ajax di questo tipo

[size=9,0pt]index.php?option=com_back&format=html&view=autorizza&task=getAutorizzaconf&tmpl=component

quindi, dovrebbe ricevere i dati, il file com_back/views/autorizza/view.html.php e in particolare la classe [/b]
class backViewAutorizza [/b]extends JViewLegacy e il metodopublic function  getAutorizzaconf(){echo 'ciao'}

però quando stavo il messaggio ricevuto che dovrebbe essere 'ciao', ma con ajax().succecc(function(msg)(alert(msg))) ricevo tutta la pagine
quindi ci sono problemi...

per favore sono giorni che mi sbatto...potete aiutarmi?cosa sbaglio secondo voi.
Vi ringrazio in anticipo
[/size][/font]

Offline MariaElenaBoschi

  • Appassionato
  • ***
  • Post: 469
    • Mostra profilo
Re:dubbi toolbar + ajax
« Risposta #1 il: 24 Mar 2016, 11:47:12 »
1) non ben capito come funzionano i bottoni del toolbar
come un qualsiasi bottone che spediscono un form e chiamano, in qs caso, una task del controller
2) ho provato a crearli custom, prendendo come riferimento questa pagina, https://docs.joomla.org/Creating_a_toolbar_for_your_component , però quando clicco sul bottone creato mi dà il seguente errore
document.adminForm.boxchecked is undefined, sapreste aiutarmi?
non hai flaggato nessun checkbox/id da passare quindi eseguire la task è inutile e js ti blocca lì.
mancano 2 giorni alla mia prematura dipartita, saluti a tutti, meb.

Offline oncelot

  • Esploratore
  • **
  • Post: 59
    • Mostra profilo
Re:dubbi toolbar + ajax
« Risposta #2 il: 24 Mar 2016, 14:05:59 »
come un qualsiasi bottone che spediscono un form e chiamano, in qs caso, una task del controller
grazie per la risposta,
ma in questo caso il bottone della toolbar dovrebbe chiamare un subcontroller.
ma cliccando dà questo errore:
Invalid controller: name='autorizza', format=''               
e punta al segeuente link
Codice: [Seleziona]
index.php?eventi=&alenco_email=&task=autorizza.apply
io al task ho dato il seguente significato, cioè dovrebbe linkare su:controllers/autorizza.php e sulla classe backcontrollerAutorizza sul metodo "apply"

 :(


Citazione
non hai flaggato nessun checkbox/id da passare quindi eseguire la task è inutile e js ti blocca lì.
ma perchè devo flaggare il checkbox, non c'è nessun checkbox nel form.

Offline MariaElenaBoschi

  • Appassionato
  • ***
  • Post: 469
    • Mostra profilo
Re:dubbi toolbar + ajax
« Risposta #3 il: 24 Mar 2016, 18:26:05 »
nell' addToolbar che controller usi?

se guardi dove viene usato in un file di joomla vedi che sopra c'è una funz js che si chiama JoomlaSubmit button o qualcosa di simile, è quella che si occupa del submit del form, che magari ha gia dentro in un form hidden il controller.
Se non ricordo male esiste anche un parametro da passare quando usi il metodo add per verificare se hai flaggato i checkbox.

[edit] non credo sia previsto l'uso del subcontroller
ma non capisco perchè tu voglia usare un bottone toolbar di quel tipo, che come ti dicevo si aspettano come parametro l'id corrispondente al checkbox, te ne puoi fare benissimo uno che fa quello che vuoi. Prendi come esempio il publish/unpublish
« Ultima modifica: 24 Mar 2016, 20:20:27 da MariaElenaBoschi »
mancano 2 giorni alla mia prematura dipartita, saluti a tutti, meb.

Offline oncelot

  • Esploratore
  • **
  • Post: 59
    • Mostra profilo
Re:dubbi toolbar + ajax
« Risposta #4 il: 29 Mar 2016, 10:17:11 »
lo script js sarebbe questo vero?

Codice: [Seleziona]

js = jQuery.noConflict();
    js(document).ready(function () {
       
    });

    Joomla.submitbutton = function (task) {
        if (task == 'helloworld.cancel') {
            Joomla.submitform(task, document.getElementById('helloworld-form'));
        }
        else {
           
            if (task != 'helloworld.cancel' && document.formvalidator.isValid(document.id('helloworld-form'))) {
                Joomla.submitform(task, document.getElementById('helloworld-form'));
            }
            else {
                alert('<?php echo $this->escape(JText::_('JGLOBAL_VALIDATION_FORM_FAILED')); ?>');
            }
        }
    }


il problema che al submit deve salvare i dati su una tabella ma non ho capito come fare.

Offline MariaElenaBoschi

  • Appassionato
  • ***
  • Post: 469
    • Mostra profilo
Re:dubbi toolbar + ajax
« Risposta #5 il: 29 Mar 2016, 12:36:05 »
sei in una vista che prevede come dati l'id dei checkbox che corrispondono al record, coi pulsanti cambia l'azione sul record ovvero salvi, modifichi cancelli etc... ma sempre riferito ad un record.

Quali dati devi salvare in quella vista?
mancano 2 giorni alla mia prematura dipartita, saluti a tutti, meb.

Offline oncelot

  • Esploratore
  • **
  • Post: 59
    • Mostra profilo
Re:dubbi toolbar + ajax
« Risposta #6 il: 29 Mar 2016, 12:52:27 »
sto concetto di checkbox non lo capisco e non  ne parla da nessuna parte sulle varie documentazioni.
però in compenso ho capiso come usarlo, il nome della form deve corrispondere alla tabella del DB e quindi non posso usarlo perchè joomla ovviamente usa il prefisso nelle tabelle..
quindi voglio optare con le chiamate ajax in questo modo


sto facendo sto tipo di chiamata
Codice: [Seleziona]
index.php?option=com_back& e poiiiiiiii
poi voglio che mi risponde  dalla cartella controllers il file autorizza.php e il metodo function test()...come potrei fare?
« Ultima modifica: 29 Mar 2016, 12:55:14 da oncelot »

Offline MariaElenaBoschi

  • Appassionato
  • ***
  • Post: 469
    • Mostra profilo
Re:dubbi toolbar + ajax
« Risposta #7 il: 29 Mar 2016, 13:52:50 »
non c'è molto da capire... sono le liste di Joomla https://api.joomla.org/cms-3/classes/JModelList.html

non è vero che il nome del form deve corrispondere alla tabella del db

se vuoi un azione tua devi costruirti il metodo nel controller che farà qualcosa con un metodo che costruirai in un model e ti restituirà una view, probabilmente quella da cui provieni. Oppure se usi ajax puoi chiudere l'applicazione sempre nel controller dopo l'uso del model
mancano 2 giorni alla mia prematura dipartita, saluti a tutti, meb.

Offline oncelot

  • Esploratore
  • **
  • Post: 59
    • Mostra profilo
Re:dubbi toolbar + ajax
« Risposta #8 il: 29 Mar 2016, 17:23:07 »
se vuoi un azione tua devi costruirti il metodo nel controller che farà qualcosa con un metodo che costruirai in un model e ti restituirà una view, probabilmente quella da cui provieni. Oppure se usi ajax puoi chiudere l'applicazione sempre nel controller dopo l'uso del model
ed è questa parte che ancora non riesco a capire....

immaginiamo che voglio che il bottone save  faccia un insert....

io mi ritrovo dentro view.html.php questo codice
JToolBarHelper::save('helloworld.save');


come faccio a gestirlo dal controller??


Offline MariaElenaBoschi

  • Appassionato
  • ***
  • Post: 469
    • Mostra profilo
Re:dubbi toolbar + ajax
« Risposta #9 il: 29 Mar 2016, 17:47:54 »
non lo devi gestire perchè lo gestisce Joomla e non dovrebbe usare il controller del tuo componente a meno che tu non voglia un tuo metodo save allora te lo devi scrivere
mancano 2 giorni alla mia prematura dipartita, saluti a tutti, meb.

Offline oncelot

  • Esploratore
  • **
  • Post: 59
    • Mostra profilo
Re:dubbi toolbar + ajax
« Risposta #10 il: 29 Mar 2016, 17:56:25 »
e allora puoi spiegarmi come funziona il save del toolbar?
e allora il submit di joomla come fà a sapere su quale tabella e sopratutto cosa salvare?

Offline MariaElenaBoschi

  • Appassionato
  • ***
  • Post: 469
    • Mostra profilo
Re:dubbi toolbar + ajax
« Risposta #11 il: 29 Mar 2016, 18:13:51 »
funziona così
https://docs.joomla.org/JTable/save

lo sa dalla table

[edit] ..correggo ... non è che lo sa, dipende da te che table usare

se guardi come funziona il CRUD che joomla usa forse qualcosa ti viene più chiaro
« Ultima modifica: 29 Mar 2016, 18:17:30 da MariaElenaBoschi »
mancano 2 giorni alla mia prematura dipartita, saluti a tutti, meb.

 



Web Design Bolzano Kreatif