Back to top

Autore Topic: [Risolto] Definire tipo form nel backend  (Letto 2114 volte)

Offline Alhazred

  • Appassionato
  • ***
  • Post: 289
    • Mostra profilo
[Risolto] Definire tipo form nel backend
« il: 29 Set 2011, 21:19:16 »
Nel backend ho bisogno di permettere l'upload di un file da una delle form che servono a popolare le tabelle del componente, nel file xml che definisce la form però non so come dichiararla multipart/form-data.

Ho provato a mettere enctype='multipart/form-data' nel tag <form> ma non ha funzionato

Codice: [Seleziona]
<?xml version="1.0" encoding="utf-8"?>
<form>
    <fieldset>
        <field name="id" type="text" default="0" label="JGLOBAL_FIELD_ID_LABEL"
                readonly="true" class="readonly"
                description="JGLOBAL_FIELD_ID_DESC" />

        <field name="creatore" type="text" size="40" class="inputbox"
                label="COM_PREVENTIVILIBRI_FORM_LBL_LIBRO_CREA TORE"
                description="COM_PREVENTIVILIBRI_FORM_DESC_LIBRO_CRE ATORE"
                filter="safehtml" />

        <field name="testo" type="upfile" size="50" class="inputbox"
                label="COM_PREVENTIVILIBRI_FORM_LBL_LIBRO_TEST O"
                description="COM_PREVENTIVILIBRI_FORM_DESC_LIBRO_TES TO" />

    </fieldset>
</form>
Il campo upfile è un campo custom che ho creato io.
« Ultima modifica: 01 Ott 2011, 01:02:29 da Alhazred »

Offline dazo

  • Esploratore
  • **
  • Post: 169
    • Mostra profilo
Re:Definire tipo form nel backend
« Risposta #1 il: 30 Set 2011, 10:23:16 »
non è chiarissimo se hai creato tu il componente o stai modificando un altro componente, comunque enctype='multipart/form-data'  nel caso lo devi inserire nel tag che stampa il form non nell'xml, ovvero c'è un file .php che si occupa di stampare il form ed è lì che trovi il normale tag html <form> in cui aggiungere l'enctype. Poi se è un componente standard di joomla penso dovrai modificare anche table,  model e il controller.

Web Agency Roma
Web designer Seo

Offline Alhazred

  • Appassionato
  • ***
  • Post: 289
    • Mostra profilo
Re:Definire tipo form nel backend
« Risposta #2 il: 30 Set 2011, 10:31:49 »
Si, il componente lo sto scrivendo io, grazie per la risposta, ho risolto, mi ero impuntato col file xml invece di pensare al file php della view.

Offline Alhazred

  • Appassionato
  • ***
  • Post: 289
    • Mostra profilo
Re:Definire tipo form nel backend
« Risposta #3 il: 30 Set 2011, 22:09:52 »
Adesso come recupero il nome del file caricato?
Con $_FILES['nomecampo']['name'] nel file php corrispondente nella cartella table non viene recuperato niente.

Quali file devo modificare e come?

Offline Alhazred

  • Appassionato
  • ***
  • Post: 289
    • Mostra profilo
Re:Definire tipo form nel backend
« Risposta #4 il: 01 Ott 2011, 01:01:56 »
Sono riuscito a prenderlo con
$_FILES['jform'['name']['miocampo']

Offline jonxduo

  • Appassionato
  • ***
  • Post: 430
    • Mostra profilo
Re:Definire tipo form nel backend
« Risposta #5 il: 06 Ott 2011, 17:55:07 »

a parte che:
$_FILES['jform'['name']['miocampo']
è scritto male... ma va bene... vorrei sapere dove hai recuperato il file??? sai che c'è una funzione apposita al cui interno effettuare l'up dei file?

Offline Alhazred

  • Appassionato
  • ***
  • Post: 289
    • Mostra profilo
Re:[Risolto] Definire tipo form nel backend
« Risposta #6 il: 06 Ott 2011, 19:07:55 »
Per l'upload c'è
JFile::upload($sorgente,$destinazione);

$sorgente è il nome temporaneo del file
$destinazione la path fino alla cartella dove vuoi mettere il file, comprensivo del nome con cui vuoi salvare il file

 



Web Design Bolzano Kreatif