Joomla.it Forum
Non solo Joomla... => Sviluppo => : memo2014 09 May 2014, 20:15:18
-
Buonasera a tutti.
Ho abilitato il media manager per l'upload di mp3 lato admin.
Funziona bene in quanto se faccio l'upload di un mp3, lo carica e lo vedo.
Nel componente che utilizzo invece ho questo problema:
(path model/fields del componente/selector.xml)
//blabla
<field name="mp3" type="media" size="60"
label="COM_SELECTOR_FORM_LBL_SELECTOR_MP3"
description="COM_SELECTOR_FORM_DESC_SELECTOR_MP3"
link="index.php?option=com_media&view=media&tmpl=component&asset=com_selector&"
required="true"
directory="songs” />
Ora, mi succede che quando dal componente clicco sul pulsante di selezione, riesco a vedere gli mp3 ma non riesco a selezionarli.
Dove sto sbagliando ?
Grazie.
-
Stai sbagliando credendo che sappiamo quale componente stai utilizzando.
-
... ma chi ha scritto quel file xml?
http://docs.joomla.org/Standard_form_field_types
-
Ciao e grazie ad entrambi per l'interesse :)
Allora, non ho menzionato il componente perché non è un componente di default o un'estensione nota ma credo sia stato scritto appositamente per fare alcune cose lato admin.
Per il file "xml" il colpevole sono io :D
Ho tratto spunto da questo 3d:
http://forum.joomla.org/viewtopic.php?f=620&t=700953
per tentare una via che risolvesse il mio problema.
-
no, non puoi "tentare" o sai ciò che fai o devi studiartelo capendo cosa serve quel file e che significato hanno i parametri che inserisci... tra l'altro il parametro "link" non lo vedo dove hai preso spunto
-
Ok..
nel file xml "fields" come dice il termine stesso, sono definiti i tipi di campi che saranno utilizzati sul "form" .
Sono definiti in libraries/joomla/form/fields. Volendo si può estendere uno di questi field per creare il proprio custom fields da mettere all'interno del componente.
Originariamente il campo in questione era definito così come standard comanda:
<field name="cover" type="media"
label="COM_SELECTOR_FORM_LBL_SELECTOR_COVER"
description="COM_SELECTOR_FORM_DESC_SELECTOR_COVER"
required="true"
directory="songs" />
Nel quale c'è scritto semplicemente: il "nome" del campo, il tipo "media" corrispondente a media.php in library/joomla/form/fields, la label (quello che l'utente legge sul form come label appunto), la sua descrizione, e che è un campo obbligatorio.
Per quanto riguarda il parametro "link", il post dal quale ho preso spunto è questo:http://forum.joomla.org/viewtopic.php?f=620&t=700953#p3030566 (http://forum.joomla.org/viewtopic.php?f=620&t=700953#p3030566)
-
Volendo si può estendere uno di questi field per creare il proprio custom fields da mettere all'interno del componente.
----------------------------------------------------------------
certamente ma il tuo non è un custom field .... è "media" e già esiste
Poi per costruire un custom field necessita anche estendere la classe che lo costruisce e successivamente implementarne l'uso nei vari script del componente dove il dato deve venire trattato.
Il post che hai linkato dice solamente che all'interno del tipo di field "media" si può usare anche l'attributo link che nella documentazione non c'è... io non l'ho mai usato... ho guardato ed effettivamente un element "link esiste ma non ho guardato come viene poi usato e se realmente viene usato
-
In sostanza ho il problema che con il field media non riesco a selezionare i files presenti nella directory ma solo a vederli. Sempre dalla documentazione leggo che basta (o meglio dovrebbe) settare nelle opzioni del media manager :
Estesioni consentite(tipi di file) : ->aggiungere ,mp3,MP3
MIME Types consentiti: ->aggiungere audio/x-mpeg-3
Il problema potrei aggirarlo utilizzando un filelist al posto del media, ma poi chi utilizza il componente dovrebbe
caricare i files via ftp.
-
quick & dirty
filelist seguito da file... selezioni o carichi