Back to top

Autore Topic: image upload in componente  (Letto 10750 volte)

Offline jonxduo

  • Appassionato
  • ***
  • Post: 430
    • Mostra profilo
Re:image upload in componente
« Risposta #20 il: 11 Ago 2011, 12:08:36 »
allora devo individuare la funzione che salva i dati nel db...

io non lo farei...
la funzione che salva nel db prende un array e salva nella tabella indicata in "table" il valore nella colonna corrispondente alla chiave... ciò appartiene al core... non la toccherei... puoi cercare un modo per fargli scrivere su + tabelle... o puoi scriverti tu una funzione alternativa...

no no allora, io ho 3 tabelle

eventi
tags
tags_x_eventi

ogni volta che inserisco un evento, inserisco anche i suoi tag che però vanno in un'altra tabella (tags) che contiene solo l'id del tag e il nome.  in una terza tabella inserisco l'id dell'evento e l'id del tag associato. se inserisco un tag che già esiste mi basta solo inserire un nuovo incrocio nella tabella tags_x_eventi cos' non ho doppioni.


punto primo... se vuoi un gestore di eventi ti consiglio xcal, l'ho scritto io :) è open e puoi implementarlo come ti pare... ti supporto io (quindi disponibilità e lingua italiano) ora sto già lavorando al 2.0 ed ho circa 100 download al giorno della versione 1.0.2Fix... dagli un occhiata almeno...

punto secondo... non esiste il metodo che pensi... non è corretto...

-"l'incrocio" è inutile... basta fare una ricerca %like% con sql al momento della stampa dell'evento, una 3° tabella occupa inutilmente il db e non velocizza affatto le operazioni

-dovresti creare 2 form, uno per inserire nuovi tag nella tabella dei tag ed uno per sscrivere un nuovo evento, aggiungendo un campo tag che si relazioni con la tabella ma che non scriva nello stesso momento.

quando passerai ad inserire la googlemap con la location dell'evento o a creare il calendario dimmelo ;P

ciao, Jonx
« Ultima modifica: 11 Ago 2011, 12:10:52 da jonxduo »

mau_develop

  • Visitatore
Re:image upload in componente
« Risposta #21 il: 11 Ago 2011, 12:10:45 »
puoi cercare un modo per fargli scrivere su + tabelle... o puoi scriverti tu una funzione alternativa...
--------------------------------------------------------
more tables ...more components :) ... come dice Amy

M.

Offline jonxduo

  • Appassionato
  • ***
  • Post: 430
    • Mostra profilo
Re:image upload in componente
« Risposta #22 il: 11 Ago 2011, 12:12:25 »
puoi cercare un modo per fargli scrivere su + tabelle... o puoi scriverti tu una funzione alternativa...
--------------------------------------------------------
more tables ...more components :) ... come dice Amy

M.

io sono d'accordo con te...

Offline urbanspaceman

  • Nuovo arrivato
  • *
  • Post: 48
  • Sesso: Maschio
    • Mostra profilo
Re:image upload in componente
« Risposta #23 il: 11 Ago 2011, 12:16:36 »
ma no non devo fare un clone di xcal, il mio è un componente per la gestione di eventi storici
esiste già per joomla 1.5 ma lo devo portare su joomla 1.7 perchè tra le altre cose me lo chiedono gli utenti.

lo sviluppo principalmente per me perchè mi serve per uno dei miei siti e mi piace l'idea di avere un componente che fa esattamente e solo quello che mi serve. In più è un'ottima palestra per imparare a sviluppare.

Offline urbanspaceman

  • Nuovo arrivato
  • *
  • Post: 48
  • Sesso: Maschio
    • Mostra profilo
Re:image upload in componente
« Risposta #24 il: 11 Ago 2011, 12:19:04 »
grazie mau, non so perchè ma mi sa che l'idea d iavere un pulsante che triggeri una serie di funzioni mie e poi salvi mi sembra la soluzione più complicata ma migliore... però devo capire chi cavolo è che salva i dati nel db... cioè qual'è la funzione che dopo il bind prende i dati e li inserisce... anche perchè è quella che dovrò richiamare dopo aver fatto tutti i passaggi di cui abbiamo parlato fin'ora.

Offline jonxduo

  • Appassionato
  • ***
  • Post: 430
    • Mostra profilo
Re:image upload in componente
« Risposta #25 il: 11 Ago 2011, 12:23:02 »
ok...

allora fa come ti ho detto... e come dice Mau ed Amy... e il mondo intero  ;D

crea una nuova view (tag) con il suo form per aggiungerle...

poi crea la colonna "tags" nella tab degli eventi...

crea l'input "tags" dove li scriverai tutti e il sistema scriverà nella colonna tags (puoi confrontarli con quelli già inseriti in tags e cancellare gli inesistenti)

poi al momento della stampa con sql fai una ricerca %like% e cacci tutti gli eventi con determinati tag

ps. Mau non ti ha detto quello...

mau_develop

  • Visitatore
Re:image upload in componente
« Risposta #26 il: 11 Ago 2011, 12:23:43 »
io sono d'accordo con te...
------------------------------------
con lei, non con me..... è abbastanza assurdo secondo me, soprattutto perchè è una marea di codice inutile, conviene fare con un proprio metodo... ma anche in qs caso ti infili in un sacco di cose che riflettono questo problema e devi risolvere con "tricks" ... alla fine scegli scontento il modo da lei suggerito ma per un'estensione un po complessa, diciamo equivalente a contents ... fai il conto dei files che devi implementare...

M.

... però devo capire chi cavolo è che salva i dati nel db...
------------------------------
il CRUD

Offline urbanspaceman

  • Nuovo arrivato
  • *
  • Post: 48
  • Sesso: Maschio
    • Mostra profilo
Re:image upload in componente
« Risposta #27 il: 11 Ago 2011, 12:27:37 »
grazie, faccio alcune prove
vediamo che ne esce...

Offline jonxduo

  • Appassionato
  • ***
  • Post: 430
    • Mostra profilo
Re:image upload in componente
« Risposta #28 il: 11 Ago 2011, 12:36:32 »
ps. anche per eventi storici la geolocalizzazione sarebbe molto interessante... magari con una google map personalizzata nei colori per essere in stile un pò più "vecchio"... se ti interessa ti aiuto io a farlo :) quando ci arriverai ;P

Offline urbanspaceman

  • Nuovo arrivato
  • *
  • Post: 48
  • Sesso: Maschio
    • Mostra profilo
Re:image upload in componente
« Risposta #29 il: 11 Ago 2011, 13:24:49 »
grazie jon, ci penserò senz'altro (sono mesi che smacchino con le api di google al lavoro magari le faccio fruttare) nel caso ti avviso. ma prima è essenziale risolvere questi piccoli 'casini'.

una cosa di cui sono molto orgoglioso del mio componente è che puoi effettuare la ricerca su youtube ed inserire il video senza mai lasciare il backend, idem per le immagini che puoi cercare (nella versione per j1.5) tramite google image selezionarla e salvarla senza neanche doverla scaricare.

purtroppo google ha dismesso le api per image search, funzioneranno fino a dicembre. quindi per questo nuovo componente mi appoggio a bing.. che in tutta onestà... non è proprio il massimo come motore di ricerca. ma serve allo scopo.
 


Offline jonxduo

  • Appassionato
  • ***
  • Post: 430
    • Mostra profilo
Re:image upload in componente
« Risposta #30 il: 11 Ago 2011, 14:01:06 »
google non fa nulla per caso... vedrai che uscirà qualcosa per le immagini... altrimenti puoi effettuare una normale ricerca...

Offline urbanspaceman

  • Nuovo arrivato
  • *
  • Post: 48
  • Sesso: Maschio
    • Mostra profilo
Re:image upload in componente
« Risposta #31 il: 11 Ago 2011, 15:12:45 »
dunque.. non vi inalberate se sto sbagliando strada ma ho deciso di metterci un pò più di tempo e capire meglio alcune cose.

quando premo il pulsante Save viene richiamata una funzione che sta all'interno del core di joomla
posso però farne un override creando la mia funzione save e mettendola all'interno del mio controller infatti una volta creata questa funzione
Codice: [Seleziona]
function save(){

    $array = JRequest::get('post');

    if (!isset($array['image'])) {
        $file = JRequest::getVar('jform', null, 'files', 'array');
        $fileUrl = upload($file);
        $array['image'] = $fileUrl;
    }

  }

l'immagine viene caricata ma al momento il codice non salva il nome del file nel db.
caricata l'immagine, vengo rimandato su una pagina del backend dove non vedo assolutamente nulla e noto che nell'indirizzo della stessa, manca il pezzo &view=event

se lo aggiungo a mano ritorno al mio form dove ovviamente i dati non sono cambiati.ho trovato un thread però per la 1.5 dove mi pare di capire che vada fatto un override anche della funzione display.. però non so se è corretto anche per la 1.6 in ogni caso ho provato ma non ha funzionato.

suggerimenti?

Offline urbanspaceman

  • Nuovo arrivato
  • *
  • Post: 48
  • Sesso: Maschio
    • Mostra profilo
Re:image upload in componente
« Risposta #32 il: 11 Ago 2011, 15:27:23 »
continuo a scrivere che magari torna utile

ora la funzione è
Codice: [Seleziona]
function save($array='', $ignore='', $order_filter=''){

    $array = JRequest::get('post');

    if (!isset($array['image'])) {
        $file = JRequest::getVar('jform', null, 'files', 'array');
        $fileUrl = upload($file);
        $array['image'] = $fileUrl;
    }

   return parent::save();
 

   }   

e funziona perfettamente.. escluso per il nome dell'immagine che non viene passato

 



Web Design Bolzano Kreatif