Back to top

Visualizza post

Questa sezione ti permette di visualizzare tutti i post inviati da questo utente. N.B: puoi vedere solo i post relativi alle aree dove hai l'accesso.


Post - xzero2

Pagine: [1] 2
1
Gestione Form / Re:Chronoforms e database esterno
« il: 20 Giu 2011, 09:12:44 »
Tramite phpmyadmin, puoi settare i "privilegi" a livello di database e tabella.
Accedi a phpmyadmin, tramite il tab "privilegi" crea un nuovo utente senza assegnare privilegi.
una volta creato, edita l'utente, dando privilegi specifici per database e tabella che vuoi tu.

Quando ti colleghi da openoffice, con l'utente e pass che hai creato, potrai vedere ed interagire solo con il database e tabella che hai specificato.

ciao

2
Quando attraverso chronoconnectivity richiamo una form per la modifica dei dati e la form è la stessa usata anche per l'inserimento, i campi sono automaticamente popolati con i valori passati da chronoconnectivity.

Questo non accade per i campi dropdown che prelevano i dati da una tabella.
In questi campi appare "choose option"  oppure l'ultimo valore ricevuto dalla query.

E' una cosa normale ??

E' possibile ovviare al problema ??

questo è un esempio di codice che uso per una form
Codice: [Seleziona]
<?php
 
$nome_selected 
JRequest::getInt('fornitore''''post');
$db =& JFactory::getDBO();
 
$query "
 
SELECT `cf_id`,`fornitore`,`radio0`
 FROM `jos_miatabella_fornitori`
 WHERE `radio0`= 'si' 
 ORDER BY `fornitore`
 "
;
$db->setQuery($query);
$nomes $db->loadAssocList();
$nome_options "";
foreach ( 
$nomes as $v ) {
 if ( 
$nome_selected == $v['fornitore'] ) {
 
$selected "selected='selected'";
 } else {
 
$selected '';
 }
 
 
$nome_options .= "<option value='".$v['fornitore']."' $selected >".$v['fornitore']."</option>";
 
}


?>



<div class="form_item">
  <div class="form_element cf_dropdown">
    <label class="cf_label" style="width: 150px;">Fornitore</label>
    <select class="cf_inputbox" id="select_1" size="1" title=""  name="fornitore">
    <option value="">Choose Option</option>
      <?php echo $nome_options?>
    </select>   
  </div>
  <div class="cfclear">&nbsp;</div>
</div>



<div class="form_item">
  <div class="form_element cf_button">
    <input value="Submit" name="button_9" type="submit" />
  </div>
  <div class="cfclear">&nbsp;</div>
</div>

3
Gestione Form / Re:Chronoform e memoria dati inseriti
« il: 03 Feb 2011, 17:28:22 »
Purtroppo "Same istance" non da l'esito sperato.

xzero2

4
Effettivamente è quello che avevo capito, però sul mio server locale (lamp) ho installato in una cartella a parte ( indirizzoip/nuovacartella) joomla liscio liscio, poi chronoform , cronoconnectivity, albopretorio.
Poi ho creato una nuova form chiamata ""nome_vostro_form""  e vi ho copiato dentro il tuo codice proposto.

A questo punto, dovrebbe funzionare senza cambiare nulla, eppure a me non va, vedo il form ma i campi non contengono nessuna voce.

xzero2

5
Gestione Form / Chronoform e memoria dati inseriti
« il: 01 Feb 2011, 15:46:07 »
Il titolo forse non è corretto, ma di meglio non me ne venivano.

Quando invio un form compilato, se torno indietro con i tasti freccia del browser, i campi mi si svuotano.

Dovendo inserire diversi record, in cui una buona parte dei campi rimane costante dopo il primo inserimento, è possibile far si che tornando indietro i campi rimangano popolati con i valori precedentemente inseriti ??

xzero2

6
Vales, scusami se ti coinvolgo direttamente;

Mi puoi confermare che il codice inserito sul tuo primo post funziona correttamente, perché io proprio non riesco a farlo andare.

Mi confermi anche che è indipendente dalla patch di chronoconnectivity necessaria ad albo pretorio ?

Io uso ubuntu 10.04 e firefox.

xzero2

7
Ancora non ho trovato una soluzione.

Mi sono creato un form chiamato "nome_vostro_form"  cosi da non dover toccare il codice, ma anche cosi non va.

Mi sono fatto un'altra installazione di joomla per fare dei test, installato joomla 1.5.22, ChronoForm v3.2.0  Chronoconnectinity V2rc3 senza patch e com_albopretoriosetup_10RC2   per cercare un form che usi due dropdown collegate;
mi pare di capire che quel sistema è utilizzato in "atto_10"  ma il codice javascript è molto diverso e non ho le competenze necessarie per venirne fuori.

qualche aiutino.....

xzero2

8
Utilizzando il seguente codice preso dalla guida di Vales "form multipage........."

Codice: [Seleziona]
<?php
 
$nome_selected 
JRequest::getInt('art_nome''''post');
$db =& JFactory::getDBO();
 
$query "
 
SELECT `cf_id`,`art_nome`, `art_prezzo`
 FROM `#__chronoforms_form_articoli`
 ORDER BY `art_nome`
"
;
$db->setQuery($query);
$nomes $db->loadAssocList();
$nome_options "";
foreach ( 
$nomes as $v ) {
 if ( 
$nome_selected == $v['art_nome'] ) {
 
$selected "selected='selected'";
 } else {
 
$selected '';
 }
 
 
$nome_options .= "<option value='".$v['cf_id']."' $selected >".$v['art_nome']."</option>";
 
}
?>
Codice: [Seleziona]
<div>
 <div>
 <label style="width: 150px;">Articolo</label>
 <select id="select_1" size="1" title=""  name="cod_articolo">
 <!--<option value="">Choose Option</option>
 <option value="option 1">option 1</option>
 <option value="option 2">option 2</option>
 <option value="option 3">option 3</option> -->
 
 <?php echo $nome_options?>
 
 </select>
 
 </div>
 <div> </div>
</div>

Ho notato che se la query restituisce il campo "cf_id" ( nel mio caso ha un altro nome ed è "varchar 255") con solo valori che iniziano con un numero ( ad esempio  "564AB" ) come voce predefinita nella dropdown c'è "Choose Option"
Se restituisce almeno un valore che inizia per lettera ( ad esempio  "AB567" ) come voce predefinita nella dropdown c'è l'ultimo valore della dropdown.

E' una cosa normale ??

Come posso fare per avere il valore predefinito sempre a "Choose Option"

Xzero2

9
Uno dei problemi da risolvere in un form è spesso il riempimento di caselle dropdown con i valori memorizzati in tabelle di database. Spesso insieme a questa necessità c'è anche quella che la seconda casella dropdown sia in funzione della scelta operata nella prima casella.

Esempio di questo sono il valori delle sezioni e categorie di Joomla dove le seconde appartengono ad una sezione oppure il caso classico di provincie e comuni.

In questi casi occorre che nella prima casella compiuta la scelta della sezione o provincia e nella seconda casella siano resi disponibili i valori delle categorie appartenenti alla sezione oppure i comuni appartenenti alla provincia.

Si può fare questa cosa il vari modi con l'uso misto di PHP, javascript o Ajax. Dopo aver ricercato a giro varie soluzioni ho optato per questa, adattata a Chonoforms, che mi sembra molto flessibile e gestibile in varie varianti.

Si tratta di un codice Javascript generato con l'aiuto di PHP per le parti dinamiche che variano a seconda della scelta.
Il codici seguenti sono stati collaudati sia con Chronoforms e con Chronoconnectivity in alcune applicazioni che ho realizzato (es. Albo Pretorio On Line discusso in altro topic del forum).

Ecco il blocchi di codice funzionanti per le tabelle sezioni e categorie di Joomla, ma che potranno essere adattati ad altri casi.

Codice da inserire nella sezione Form Html

Codice: [Seleziona]
<!-- inizio codice campi form -->

<div class="form_item">
        <div class="form_element cf_dropdown">
          <div style="clear:both;"><label class="cf_label">Sezioni</label>
           
<select name="id_sezione" onChange="SelectCategoria();" class="cf_inputbox validate-selection"  ><Option value="">Seleziona</option>

</select> Categorie

       <select id="id_categoria" name="categoria" class="cf_inputbox validate-selection" ><Option value="">Seleziona</option>
       
</select>
       
 </div>   
    </div>
  <div class="cfclear">&nbsp;</div>
</div>



<div class="form_item">
  <div class="form_element cf_button">
    <input value="Invia" name="button_1" type="submit" /><input type="reset" name="reset" value="Reset"/>
  </div>
  <div class="cfclear">&nbsp;</div>
</div>


Codice da inserire nella sezione Form Javascript

Codice: [Seleziona]
<?php
//questo è il codice da inserire nella TAB Form Code sezione javascript 

echo "function fillCategory(){ ";
 
// questa funzione è usata per riempire le sezioni al caricamento 




$db =& JFactory::getDBO();
$query "
    SELECT `id`,`title`
    FROM `#__sections`
    ORDER BY `title` "
;
    
$db->setQuery($query);
    
$nomes $db->loadAssocList();
    
      foreach ( 
$nomes as $nt1 ) {
       echo 
"\n addOption(document.ChronoContact_nome_vostro_form .id_sezione, '".$nt1['id']."', '".$nt1['title']."'); ";
      
      }
      
echo 
"\n}"// fine della funzione Javascript - end of JS function
?>



function SelectCategoria(){
// Funzione chiamata dopo la selezione della Sezione

removeAllOptions(document.ChronoContact_nome_vostro_form .id_categoria);
//addOption(document.ChronoContact_nome_vostro_form .id_categoria, "", "Seleziona", "");

// Raccoglie tutti gli elementi della categoria per id

<?php
    
    $query
"
           SELECT distinct(id) FROM `#__sections`"
;
           
$db->setQuery($query);
       
$nomes $db->loadAssocList();
           
$nome_options "";
                                              
// inizio ciclo sezioni
               
foreach ( $nomes as $nt2 ) {
       
             echo 
"\n if(document.ChronoContact_nome_vostro_form .id_sezione.value == '".$nt2['id']."'){ ";
     
      
$query"
         SELECT `id`,`title` FROM `#__categories` WHERE `section` ='"
.$nt2['id']."' ORDER BY `title`" ;
         
$db->setQuery($query);
     
$nomes $db->loadAssocList();
         
$nome_options "";
                                               
//inizio ciclo categorie
               
foreach ( $nomes as $nt3 ) {

echo 
"\n addOption(document.ChronoContact_nome_vostro_form .id_categoria,'".$nt3['id']."', '".$nt3['title']."'); ";

// fine ciclo categorie
echo "\n}"// fine della if Javascript 

// fine loop sezioni
?>


}
// fine della funzione javascripts
//////////////////

function removeAllOptions(selectbox)
{
    var i;
    for(i=selectbox.options.length-1;i>=1;i--)
    {
        selectbox.options[i]=null;
        //selectbox.remove(i);
    }
}


function addOption(selectbox, value, text )
{
    var optn = document.createElement("OPTION");
    optn.text = text;
    optn.value = value;

    selectbox.options.add(optn);
}



Il codice restituirà i valori id rispettivamente delle tabelle jos_sections e jos_categories nelle variabili del form id_sezione ed id_categoria che sono i campi name delle due caselle.

Il codice è commentato in alcune parti e credo sia facilmente comprensibile.
L'unica cosa da cambiare 5 volte è nome_vostro_form con il nome del form che sarà da voi creato.

Buon uso a tutti.

P.S. Verificato con Firefox, Internet Explorer e Crome.

Ho provato il codice che non fa uso dei database e sono riuscito a farlo funzionare adattandolo alle mie esigenze.

Ma questo qui sopra non mi riesce di farlo funzionare, neanche usandolo pari pari cosi come lo hai scritto, logicamente cambiando 5 volte  il nome del form.

Praticamente sezioni e categorie non si popolano.

Le tabelle esistono e sono popolate; dove posso sbagliare ??

Mille grazie per gli esempi che metti sa disposizione .

xzero2

10
Gestione Form / Re:Chronoconnectivity e formattazione dati
« il: 25 Gen 2011, 08:10:47 »
Grazie mille.

Funziona perfettamente la formattazione usando <table> <tr> <td> cosi come mi hai suggerito.

xzero2

11
Gestione Form / Re:Chronoconnectivity e formattazione dati
« il: 24 Gen 2011, 13:15:56 »
Dato che non aveva risposto nessuno ho cambiato il titolo, per fare una nuova richiesta senza fare un altro post.

Se volessi formattare l'output di chronoconnectivity dentro una tabella, ovvero campi di lunghezza predefinita, magari con bordo, per ottenere una visualizzazione più leggibile cosa dovrei inserire altre a questo ??

<p>
{edit_record} {campo1}    {campo2}    {campo3}    {campo4} {campo5} {campo6} {campo7} {delete_record}
</p>


ho provato con 
<TABLE>
<TR>
<TD>{campo1}</TD>
<TD> {campo2} </TD>
</TR>

però oltre a restituirmi i dati come vorrei, mi scombina completamente la pagina.

xzero2

12
Gestione Form / Re:chronoform e due tabelle collegate
« il: 22 Gen 2011, 09:21:35 »
Ciao Vales.

Ho provato a leggere e rileggere il tuo articolo, ma tu hai una tabella già popolata di record ( anagrafica articoli ) e leggi l'articolo da questa tabella, poi lo passi ad un form ed inserisci la quantità, poi lo passi al form di verifica , poi memorizzi, la cosa è ciclica, le form vengono usate una alla volta per una sola volta.

Io avrei la necessità di avere un form con  ad esempio i campi  "numero_documento" "data";
finito di riempire questo form, passare ad un secondo form in cui trovo i campi  "articolo" "quantità" "note". Questo secondo form  deve poter essere eseguito diverse volte fino ad inserimento degli articoli previsti, solo allora uscire dal giro.

xzero2

13
Dopo aver inserito dai dati in una tabella tramite un form, averli visualizzati ed eventualmente modificati, vorrei poter stampare su carta un record della tabella.
In poche parole creare un report.

Per ora collego la tabella con dbase di openoffice e sfrutto il report di dbase.

Sarebbe possibile stampare direttamente da joomla ??

logicamente il foglio stampato dovrebbe avere un determinato layout.

xzero2

14
Gestione Form / chronoform e due tabelle collegate
« il: 17 Gen 2011, 08:31:52 »
Ammettiamo che volessi creare un form per inserire dei dati di una bolla di consegna; quindi un 1 form che avrà ad esempio i dati "numero bolla" " data bolla" "cliente" che salva i dati in una sua tabella, poi il secondo form che contiene ad esempio "codice articolo" "descrizione" "quantità" che salva i dati in una sua tabelle.

Il primo form salverà un solo record, mentre il secondo salverà più record tanti quanti sono gli articoli e dovrà essere collegato alla prima tabella.

Come posso affrontare la cosa con chronoform ??

xzero2

15
Gestione Form / Re:Chronoforms e database esterno
« il: 17 Gen 2011, 08:24:38 »
Al momento ho trovato una soluzione che salva capra e cavoli;
Agendo direttamente da phpmyadmin e aggiungendo i privilegi per gli utenti desiderati e per le tabelle necessarie, quando collego tramite odbc openoffice al database di joomla, ogni utente può vedere solo le tabelle a cui è autorizzato ad accedere.
Cosi non farà danni dove non deve.

xzero2

16
Gestione Form / Re:Chronoforms e database esterno
« il: 23 Dic 2010, 16:10:51 »
I dati vengono inseriti in aree produttive via browser.

Il problema è che una volta inseriti i dati nel database, diversi utenti vi accedono tramite odbc e openoffice per farne un po quello che serve ad ognuno.

Usando un database esterno, più che distruggere il database di questi dati non potrebbero fare, dando accesso al database di joomla ............. non oso pensare.........

come potrei ovviare ??   Ci vorrebbe un database che abbia al suo interno una sola tabella collegata alla tabella in joomla....  pensate sia possibile ??

xzero2

17
Gestione Form / Chronoforms e database esterno
« il: 23 Dic 2010, 10:29:30 »
Stavo cercando informazioni sul funzionamento di chronoforms con i database; ho capito che è possibile salvare dati sul database di joomla, ma è possibile salvare dati su tabelle/database diversi da quello di joomla e/o su di un altro server ??

In poche parole vorrei creare un database a se, per i dati di chonoforms, ma dai tutorial ho visto solo la possibilità di definire il nome della tabella e dei campi, ma non del database  in cui creare la tabella.

xzero2

18
Gestione utenti e community / Quale acl fa al caso mio
« il: 08 Ott 2009, 07:59:18 »
Vorrei che tutti gli utenti possano leggere tutti gli articoli.
Vorrei che tutti gli utenti appartenenti al gruppo registrati possano inviare articoli in una sola categoria.

Ora quando invio un nuovo articolo, posso scegliere tra tutte le categorie presenti.

Come posso limitare ad una sola categoria??

xzero2

19
E' una piccola rete del posto dove lavoro, il server è un pc con ubuntu 8.04 server che sta di fianco al pc con cui lavoro.
Utilizziamo joomla per la condivisione dei documenti, ora ho optato per le due cartelle in/home perchè fino ad ora ero io solo che trafficavo con il server; ora per esigenze interne ci servivano due siti basati su joomla per due differenti gestioni.

Avrei potuto creare due cartelle sotto /var/www/ ma avrei avuto problemi con ftp.

Ho pieno accesso alla configurazione del server.

Eventualmente, come posso far si che joomla salvi le modifiche con i permessi 775 ?  Cosi basterebbe creare gli utenti facendoli appartenere al gruppo www-data.

Grazie
Xzero2


20
Fino ad ora ho usato joomla nella dir principale /var/www/utente.
Ora ho per comodità e per gestire meglio più utenti, creato 2 user apparteneti al gruppo www-data con la loro home e da apache ho creato dei redirect alle loro home. http://ipdelsito/utente1  rimanda a /home/utente1.

cosi ho abilitato ftp per ogni utente bloccato nella propria home.

Ora joomla (dmdocman) quando salva dei documenti li salva come utente www-data con permessi a 0600.

Come posso fare affinchè joomla salvi come utente1?

Logicamente se sto navigando nel sito ipdelsito/utente2  dovrebbe salvarli come utente2

E' possibile ??
oppure c'è un'altra strada per far si che da joomla e da ftp si salvino i documenti con gli stessi permessi e proprietari?

Xzero2

Pagine: [1] 2


Web Design Bolzano Kreatif