Back to top

Autore Topic: [Risolto][1.7] Definire checkbox nel file xml, non funziona.  (Letto 4338 volte)

Offline Alhazred

  • Appassionato
  • ***
  • Post: 289
    • Mostra profilo
Nel file XML relativo ad una view del backend devo inserire un checkbox e recuperarne il valore nel file tables/tabella.php

Il campo l'ho definito in questo modo
<field name="delimg1" type="checkbox" value="immagine1" label="Elimina immagine 1" />

nella view ho messo
<?php echo $this->form->getLabel('delimg1'); echo $this->form->getInput('delimg1'); ?>

Il checkbox compare nella view e se visualizzo il sorgente della pagina sembra tutto ok
<label id="jform_delimg1-lbl" for="jform_delimg1" class="">Elimina immagine 1</label>
<input type="checkbox" name="jform[delimg1]" id="jform_delimg1" value="immagine1"/>

Nel file tables/tabella.php ho messo
exit(print_r($this));
per vedere cosa arriva e il campo delimg1 non compare tra tutti gli altri.

Da cosa può dipendere?
« Ultima modifica: 27 Ott 2011, 20:43:07 da Alhazred »

Offline Alhazred

  • Appassionato
  • ***
  • Post: 289
    • Mostra profilo
Re:[1.7] Definire checkbox nel file xml, non funziona.
« Risposta #1 il: 18 Ott 2011, 16:30:04 »
Non riesco a capire, c'è qualche altro file da modificare per fare in modo che il nuovo campo venga compreso tra quelli inviati dalla form?

Offline Alhazred

  • Appassionato
  • ***
  • Post: 289
    • Mostra profilo
Re:[1.7] Definire checkbox nel file xml, non funziona.
« Risposta #2 il: 18 Ott 2011, 17:26:23 »
Ok, ho scoperto che aggiungendo il campo delimg1 alla tabella sul db, il campo della form viene inviato.

C'è un modo di avere lo stesso risultato senza dover avere la relativa colonna nella tabella del db?

mau_develop

  • Visitatore
Re:[1.7] Definire checkbox nel file xml, non funziona.
« Risposta #3 il: 18 Ott 2011, 18:07:02 »
fare un field personalizzato e passarlo nello status, come fa qualsiasi campo di ricerca. Si può usare il metodo per popolare i form.
L'esempio più chiaro è il componente banner.

M.

Offline Alhazred

  • Appassionato
  • ***
  • Post: 289
    • Mostra profilo
Re:[1.7] Definire checkbox nel file xml, non funziona.
« Risposta #4 il: 26 Ott 2011, 22:55:52 »
Ho provato a vedermi il componente Banner, ma mi sa che non sono riuscito a far capire ciò di cui ho bisogno.

La form di cui parlo è quella che appare nel backend, quando si clicca sul pulsante "Nuovo" oppure "Modifica" nella toolbar quando è visualizzato l'elenco di tutte le entry che sono in una tabella del componente.

Comunque provi a mettere un campo in questa from, questo, se metto un exit($this); nel metodo check() del file tables/tabella.php, non compare nell'elenco dei campi ricevuti, a meno che, come già detto, non metto la relativa colonna (con lo stesso nome del campo) nella tabella nel db.

Non riesco davvero a capire come posso fare senza mettere un campo nel db e vorrei evitare di mettercelo, anche perché ora per spiegarmi sto parlando di un campo, ma in realtà me ne servirebbero diversi che mi servono solo per prendere decisioni su come deve precedere la store() nel salvataggio.

mau_develop

  • Visitatore
Re:[1.7] Definire checkbox nel file xml, non funziona.
« Risposta #5 il: 27 Ott 2011, 09:56:28 »
puoi usare lo status, prova a guardare il mio sito in hp.

Non recuperi quel valore se non metti il campo perchè il bind fa proprio qs lavoro... ma credo ci sia il modo di recuperarlo ugualmente

M.
« Ultima modifica: 27 Ott 2011, 10:02:00 da mau_develop »

Offline Alhazred

  • Appassionato
  • ***
  • Post: 289
    • Mostra profilo
Re:[1.7] Definire checkbox nel file xml, non funziona.
« Risposta #6 il: 27 Ott 2011, 13:23:14 »
Sto provando di tutto, ma i campi che non hanno un equivalente nel db vengono ignorati.

Ho anche provato a mettere
exit(print_r($this));
all'inizio della bind, quindi prima che abbia effetto, ma già lì i campi non ci sono.
Pare che proprio non vengano presi in considerazione quando c'è il submit della form (click sul pulsante "Salva").

Mi sa che dovrò riempire la tabella di campi inutili, non vedo alternativa per ottenere quei valori.

mau_develop

  • Visitatore
Re:[1.7] Definire checkbox nel file xml, non funziona.
« Risposta #7 il: 27 Ott 2011, 14:27:29 »
...scusa ma hai provato a recuperare quel valore altrove? perchè nella table? non è il suo mestiere...

poi ... se controlli il $POST di quel form e la var esiste e poi controlli $this e non c'è... non l'hai iniettato nel form... manca qualche passaggio.

nell estensione di JTable $this non è tutto ciò che c'è in giro, altrimenti che incapsulazioni, protezioni verso l'esterno avrebbe una classe?
probabilmente devi dare un'occhiata alla classe "mamma" JTable cosa "fornisce" e come...

secondo me ti conviene usare quel campo creandolo anche come field e non solo come elemento della form e con type="mycheckbox"

M.

Offline Alhazred

  • Appassionato
  • ***
  • Post: 289
    • Mostra profilo
Re:[1.7] Definire checkbox nel file xml, non funziona.
« Risposta #8 il: 27 Ott 2011, 20:42:49 »
Ho risolto con
$data = JRequest::getVar('jform', array(), 'post', 'array');

questo mi prende tutti i dati inviati dalla form.

mau_develop

  • Visitatore
Re:[Risolto][1.7] Definire checkbox nel file xml, non funziona.
« Risposta #9 il: 27 Ott 2011, 22:50:04 »
beh si, in effetti è il modo più semplice...

M.

 



Web Design Bolzano Kreatif