Joomla.it Forum
Joomla! 3 => Joomla! 3 => : valeriofa 01 Nov 2019, 12:00:36
-
Buongiorno ho un problema con i campi aggiuntivi per utenti. Ho creato un utente per fare dei test e l'ho associato a utenti registrati.
La cosa che dovrei realizzare è la possibilità di avere diversi campi aggiuntivi ma alcuni sono modificabili da parte dall'utente altri no perché sono codici assegnati.
Il problema lo riscontro nel momento in cui effettuo l'accesso e voglio modificare il profilo da front end. "modifica profilo". (come se fossi un utente registrato)
Per far si che l'operazione vada a buon fine devo impostare tutti i campi aggiuntivi modificabili. (anche quelli che dovrei tenere bloccati) Se imposto anche un solo Campo aggiungiutivo come NON modificabile nel momento in cui salvo mi da errore e quel campo aggiuntivo lo visualizzo vuoto.
Ho creato un utente per vedere il problema.
Si può accedere qui http://www.anceferr.org/new/log (http://www.anceferr.org/new/log) e come credenziali:
user
user
Una volta effettuato l'accesso click su "modifica profilo" e come vedrete la Ragione Sociale non è modificabile. (ma visualizza correttamente "User") se si fa click su "salva" ecco l'errore e la Ragione Sociale sparisce.
Grazie a tutti (ovviamnte ho provato a impostare il campo aggiuntivo in tutti i modi)
-
Puoi provare a modificare il file plugins/system/fields/fields.php in questo modo?
Dovresti avere:
foreach ($form->getGroup('com_fields') as $field)
{
if ($field->disabled === true)
{
/**
* Disabled fields should NEVER be added to the request as
* they should NEVER be added by the browser anyway so nothing to check against
* as "disabled" means no interaction at all.
*/
// Make sure the data object has an entry before delete it
if (isset($data->com_fields[$field->fieldname]))
{
unset($data->com_fields[$field->fieldname]);
}
continue;
}
// Make sure the data object has an entry
if (isset($data->com_fields[$field->fieldname]))
{
continue;
}
// Set a default value for the field
$data->com_fields[$field->fieldname] = false;
}
in questo modo:
foreach ($form->getGroup('com_fields') as $field)
{
if ($field->disabled === true)
{
/**
* Disabled fields should NEVER be added to the request as
* they should NEVER be added by the browser anyway so nothing to check against
* as "disabled" means no interaction at all.
*/
continue;
}
// Make sure the data object has an entry
if (isset($data->com_fields[$field->fieldname]))
{
continue;
}
// Set a default value for the field
$data->com_fields[$field->fieldname] = false;
}
-
Ciao grazie per avermi risposto.. nel file indicato ho trovato questo:
-------
// Loop over all fields
foreach ($form->getGroup('com_fields') as $field)
{
// Make sure the data object has an entry
if (isset($data->com_fields[$field->fieldname]))
{
continue;
}
// Set a default value for the field
$data->com_fields[$field->fieldname] = false;
}
}
--------
è li che devo intervenire??
-
Su che versione di joomla sei?Non sulla 3.9.12...
-
la 3.9.1
Ho provato a sostituire ma non si carica il sito dandomi questo errore
syntax error, unexpected 'public' (T_PUBLIC)
-
Ci sono state molte modifiche ai campi aggiuntivi, dovresti aggiornare all'ultima versione 3.9.12.
-
Si ho un ticket aperto con un noto hosting (non scelto da me ma dal cliente) perchè non compatibile con gli aggiornamenti automatici... Dovrebbero risolvere, ma che perdita di tempo. Aspetto che lo spazio web sia ottimizzato, aggiorno e se sussiste il problema procedo come mi hai indicato... grazie infinite....
-
Ok, giusto per la cronaca, il primo spezzone del mio primo messaggio si riferisce al file originale di joomla 3.9.12: una volta aggiornato, prova così. Solo se riscontri lo stesso problema prova a rimpiazzarlo con il secondo spezzone di codice nel primo messaggio.
-
Si... Prima aggiorno e se non dovesse funzionare provo come mi hai indicato... Ti ringrazio
-
E' bastato aggiornare Joomla all'ultima versione. 3.9.12 (tempi biblici da parte dell'hosting per configurare lo spazio web).
Grazie danielecr