Joomla.it Forum
Componenti per Joomla! => Gestione Form => : monak83 28 Mar 2010, 16:40:21
-
Ciao a tutti,
continuando il nostro progetto di realizzazzione forms personalizzate per preventivi online, mi è venuta in mente un'altra idea di form relativa a prodotti che hanno il prezzo non dato da una particolare formula, e quindi dinamicamente, ma in modo statico (magari da un listino).
In allegato ho inserito una tabella con varianti prodotto e altre caratteristiche che spiego meglio:
- ogni prodotto ha una sua tabella
- ogni tabella ha 2 caratteristiche: quantità di copie fissa (tiratura) e tipo di carta dove, in base alle scelte, si ha un prezzo.
Per realizzare un form del genere non credo sia possibile ragionare con operatori condizionali ma credo che l'unica soluzione sia la creazione di un DB che, interrogandolo, restituisce determinate risposte (il prezzo).
Io pensavo a:
- una drop per scegliere il prodotto
- una drop per scegliere la tiratura (quantità)
- una drop per scegliere il tipo di carta
In base a queste selezioni viene visualizzato il prezzo.
Le mie domande sono:
- il DB deve avere varie tabelle una per ogni prodotto?
- come popolare il DB (a mano? software appositi?)
- quale è la struttura della form che interroga il db, sceglie le tabelle e la giusta configurazione del prodotto?
Sarebbe utilissimo per generare preventivi di articoli il cui prezzo non è generato dinamicamente ma in modo statico (listino).
ciao a tutti
monak83
[allegato vecchio più di un anno eliminato automaticamente]
-
Nessuno?
o è la Pasqua che ci allontaa dalle cummunity?
Scherzi a parte colgo l'occasione per augurare Buona Pasqua a tutti.
Ciao
monak83
-
AGGIORNAMENTO.
Ciao a tutti,
dopo aver letto l'utile guida del Prof. vales
http://www.joomla.it/articoli-della-community/3796-chronofrms-e-chronoconnectivity-lunione-fa-la-forza.html (http://www.joomla.it/articoli-della-community/3796-chronofrms-e-chronoconnectivity-lunione-fa-la-forza.html)
sono riuscito a immagazzinare dati in una tabella e a pubblicarli tutti insieme in una pagina utilizzando ChronoConnectivity.
Ora il problema è il seguente:
come fare per pubblicare il prezzo di un prodotto in base alla combinazione delle 3 drop
- prodotto
- tiratura
- tipo di carta
Esempio:
- dalla drop prodotto scelgo: biglietto 5x3
- dalla drop tiratura sceglo: 200
- dalla drop tipo di carta scelgo: 300gr
Dovrei avere un box dove il sistema pubblica il prezzo inserito nel db preventivamente.
Sono in attesa!!!
ciao
monak83
-
Dopo essermi informato sulle interrogazioni SQL aggiorno il post ma ancora non ho trovato la soluzione...aspettiamo il Prof. vales...sicuramente ci sarà di aiuto!
Credo che per prima cosa dobbiamo connetterci al DB poi generare la query, a livello di algoritmo dovrebbe essere una cosa del genere:
<?php
mysql_connect("server", "username", "password");
mysql_select_db("database");
$query = "SELECT prezzo FROM tabella" WHERE...;
Dopo il WHERE dovremmo riuscire a far prendere il valore delle drop della form e confrontarli con quelli del DB...grossolanamente cosi:
WHERE tipo=tipo_drop_della_form, carta=carta_drop_della_form, tiratura=tiratura_drop_della_form
Infine il prezzo sarà:
form.elements['prezzo'].value = query
Questa è solo l'idea...a livello di implementazione in ChronoForms non saprei...
Attendiamo vales
Ciao
monak83
-
Ciao.
Se leggi bene le guide del prof. VALES, vedrai che non ha mai riportato codice contenente i dati di connessione al server mysql. Io non sono un esperto, ma non penso sia una buona cosa.
La sintassi proposta da VALES utilizza le API di joomla:
$db =& JFactory::getDBO();
$query = "
SELECT campo1, campo2
FROM `#__chronoforms_nome_tabella` WHERE .....";
Per rispondere alla tua domanda su come fare a restituire un prezzo dalle opzioni selezionate dalle 3 dropdown, potrebbe tornarti utile la guida (sempre di VALES... Ovvio...) per la costruzione fi form in multipagina.
Tramite questa funzionalità di ChronoForms, potresti far passare i valori delle dropdown tramite la variabile $posted['nome variabile']
inserita all'interno della clausola WHERE.
-
The Jackall ha ragione, in joomla si usano le api per chiamare il database.
L'osservazione che voglio proporre è la seguente, nella tabella descrittiva dei prodotti inserirei descrizione, prezzo base, prezzo base tiratura, prezzo base tipo carta.
Quindi con la prima dropdel prodotto si estraggono tutti i valori, che vengono modificati con dei parametri in funzione delle successive drop quantità e tipo carta. Con il solito uso del javascript.
Penso che questa potrebbe essere una via da tentare.
Tutto il gioco si realizza nella definizione di opportuni filtri che all'interno del javascript, o con php nel caso del multipage, che modificano il prezzo il funzione delle tipologie di scelta.