Joomla.it Forum
Non solo Joomla... => Sviluppo => : mau_develop 11 Sep 2011, 11:31:24
-
Se io ho un field type sql come faccio ad avere nella select un valore 0 e un text vuoto alla prima riga?
Devo per forza creare un type?
Devo iniettare la riga vuota quando lo popolo intercettando il field e quindi l'array che contiene ?
M.
-
Attenzione: non sono stati aggiunti messaggi in questo topic negli ultimi 120 giorni.
A meno che tu non voglia realmente rispondere, prendi in considerazione l'idea di iniziare un nuovo topic.
------------------------------------------------------------------------------------------------------------------------------------------------
:):) se sono tonto e mi perdo in un bicchier d'acqua nn è colpa mia ... o si?
La soluzione è banale: si crea un field personalizzato ... ed è alla portata di tutti poichè si può fare con copia e incolla e due righe di modifica:
il field type sql è un file php nella libreria joomla cartella fields
lo copiate nel vostro model all'interno di fields
cancellate le righe sopra la classe (non il tag php) e inserite qs:
defined('JPATH_BASE') or die;
jimport('joomla.html.html');
jimport('joomla.form.formfield');
jimport('joomla.form.helper');
JFormHelper::loadFieldClass('list');
io ho chiamato il file sqlzf (sql zero first)
la mia classe è diventata:
class JFormFieldSqlzf extends JFormFieldList{
e il type:
public $type = 'Sqlzf';
poco sotto inietto il campo con valore 0 e testo o vuoto o come volete:
// Build the field options.
if (!empty($items)){
// first field with no value
$options[] = JHtml::_('select.option', 0, JText::_('seleziona valore'));
foreach ($items as $item){
...finito, ora è usabile nell'xml del form!
M.
-
La soluzione è ancora più semplice.
Basta mettere l'opzione vuolta nel file XML come nella list classica. Joomla poi unirà questa opzione con quelle della query. 8)
-
quindi se questo è il field dell'xml dove carico tutte le tipologie di dug...
dove dovrei mettere il campo vuoto?
<field
name="id_dug"
type="sqlzf"
label="SM_AZIENDE_AZIENDA_DUG_LABEL"
description="SM_AZIENDE_AZIENDA_DUG_DESC"
query="SELECT id AS value, verbose AS id_dug FROM #__Tipo_dug order by verbose asc"
class="smselectfield"
default="0"
required="true"
validate="iddug"
/>
M.
-
Ecco dovresti scrivere questo :D :
<field
name="id_dug"
type="sqlzf"
label="SM_AZIENDE_AZIENDA_DUG_LABEL"
description="SM_AZIENDE_AZIENDA_DUG_DESC"
query="SELECT id AS value, verbose AS id_dug FROM #__Tipo_dug order by verbose asc"
class="smselectfield"
default="0"
required="true"
validate="iddug"
>
<option value="0"></option>
</field>
-
ah! ..ok ...ad immaginarlo è più semplice sì e molto meno codice...:)
M.