it-swarm-eu.dev

Citazioni visualizzate nel valore del database

Quindi tutti i dati del profilo inseriti all'interno di un profilo utente per joomla vengono salvati con virgolette attorno al database. Qualcuno sa come rimuovere le virgolette? Sembra farlo anche come valore predefinito. Il tipo di campo è impostato su TESTO.

sample database

1
Brandon

Per quanto ne so dal codice del plug-in dei profili, i segni vocali provengono dai dati codificati JSON prima di essere inseriti nel database.

$tuples = array();
                $order = 1;

                foreach ($data['profile'] as $k => $v)
                {
                    $tuples[] = '(' . $userId . ', ' . $db->quote('profile.' . $k) . ', ' . $db->quote(json_encode($v)) . ', ' . ($order++) . ')';
                }

                $db->setQuery('INSERT INTO #__user_profiles VALUES ' . implode(', ', $tuples));
                $db->execute();

Abbastanza sicuro che per rimuoverli dovresti modificare i file principali di Joomla, cosa che non dovresti mai fare.

3
Richard B

Il campo profile_value è un campo codificato JSON, quando è vuoto sarà una stringa tra virgolette vuota come valore predefinito.

Non vuoi fare confusione con il modo in cui i dati vengono archiviati. (a meno che tu non voglia scrivere la tua versione del plugin del profilo)

Quello che dovrai fare è analizzare i dati JSON nel tuo codice per arrivare ai valori sottostanti.

Questo è comune in molti luoghi in Joomla e in altri sistemi CMS. Ad esempio, il campo params in quasi tutti i componenti Joomla è anche un campo codificato JSON.

1
Walt Sorensen