Back to top

Autore Topic: [RISOLTO] checkbox per accettare l'informativa sulla Privacy in form contatti  (Letto 3615 volte)

Offline synt.net

  • Nuovo arrivato
  • *
  • Post: 16
    • Mostra profilo
Buongiorno,
dopo aver seguito passo passo l'articolo "Modulo di contatto con il Check per accettare l'informativa sulla Privacy" mi trovo ad avere il seguente problema:
nel frontend anzichè comparire il testo della checkbox mi compare il valore, ovvero anzichè comparire "Dichiaro di aver letto e di accettare il testo della Informativa sulla Privacy" mi compare "Si".
Qualcuno ha avuto la stessa problematica e sa aiutarmi?

Grazie per le risposte
« Ultima modifica: 18 Apr 2018, 11:23:38 da synt.net »

Offline giusebos

  • Fuori controllo
  • *
  • Post: 21748
  • Sesso: Maschio
  • Giuseppe Serbelloni Mazzanti Viendalmare
    • Mostra profilo
potrebbe dipendere dal template.
Ti conviene mettere un link al sito al fine di analizzare il codice per capire cosa succede.
su www.icagenda.it guide e tutorial con esempi di chronoforms e chronoconnectivity

Offline synt.net

  • Nuovo arrivato
  • *
  • Post: 16
    • Mostra profilo
Grazie per la risposta Giusebos però preferirei scriverti in privato l'url del sito...posso?

Offline giusebos

  • Fuori controllo
  • *
  • Post: 21748
  • Sesso: Maschio
  • Giuseppe Serbelloni Mazzanti Viendalmare
    • Mostra profilo
No, in privato è la negazione del forum, per questo abbiamo una sezione di annunci.
su www.icagenda.it guide e tutorial con esempi di chronoforms e chronoconnectivity

Offline synt.net

  • Nuovo arrivato
  • *
  • Post: 16
    • Mostra profilo
La richiesta di inviarti l'url del sito era solo per riservatezza nei confronti del mio cliente...
Comunque il bug è visibile nell'immagine allegata.
Il problema inoltre si presenta anche con altre installazioni di Joomla 3.8.6 che utilizzano template diversi rispetto a quello utilizzato nel sito dell'immagine in allegato.

Offline synt.net

  • Nuovo arrivato
  • *
  • Post: 16
    • Mostra profilo
Se può essere d'aiuto il codice del file dell'override del form dei contatti per i campi aggiuntivi è il seguente:

Codice: [Seleziona]
                        <?php //Dynamically load any additional fields from plugins. ?>
                        <?php foreach ($this->form->getFieldsets() as $fieldset) : ?>
                                <?php if ($fieldset->name != 'contact'):?>
                                        <?php $fields $this->form->getFieldset($fieldset->name);?>
                                        <?php foreach ($fields as $field) : ?>
                                                <div class="control-group">
                                                        <?php if ($field->hidden) : ?>
                                                                <div class="controls">
                                                                        <?php echo $field->input;?>
                                                                </div>
                                                        <?php else:?>
                                                                <div class="control-label">
                                                                        <?php echo $field->label?>
                                                                        <?php if (!$field->required && $field->type != "Spacer") : ?>
                                                                                <span class="optional"><?php echo JText::_('COM_CONTACT_OPTIONAL');?></span>
                                                                        <?php endif; ?>
                                                                </div>
                                                                <div class="controls"><?php echo $field->input;?></div>
                                                        <?php endif;?>
                                                </div>
                                        <?php endforeach;?>
                                <?php endif ?>
                        <?php endforeach;?>


Offline synt.net

  • Nuovo arrivato
  • *
  • Post: 16
    • Mostra profilo
Qualcuno ha riscontrato questo comportamento anomalo?

Offline synt.net

  • Nuovo arrivato
  • *
  • Post: 16
    • Mostra profilo
Dopo parecchie ricerche ho scoperto che modificando questo file del core di joomla "administrator/components/com_fields/libraries/fieldslistplugin.php" nel seguente modo:

Codice: [Seleziona]
public function onCustomFieldsPrepareDom($field, DOMElement $parent, JForm $form)
        {
                $fieldNode = parent::onCustomFieldsPrepareDom($field, $parent, $form);

                if (!$fieldNode)
                {
                        return $fieldNode;
                }

                $fieldNode->setAttribute('validate', 'options');

                foreach ($this->getOptionsFromField($field) as $value => $name)
                {


                        $option = new DOMElement('option', htmlspecialchars($value, ENT_COMPAT, 'UTF-8'));
-                        $option->textContent = htmlspecialchars(JText::_($name), ENT_COMPAT, 'UTF-8');
+                        $option->nodeValue = htmlspecialchars(JText::_($name), ENT_COMPAT, 'UTF-8');


                        $element = $fieldNode->appendChild($option);
                        $element->setAttribute('value', $value);
                }

                return $fieldNode;
        }

ho risolto il mio problema.
Vi chiedo se questa modifica può dare qualche problema al cms.

Grazie per le risposte...

Offline tomtomeight

  • Global Moderator
  • Fuori controllo
  • ********
  • Post: 32046
  • Sesso: Maschio
  • Gli automatismi aiutano ma non insegnano nulla.
    • Mostra profilo
E' sempre sconsigliabile modificare il core, al primo aggiornamento perdi tutte le modifiche.
Ci sono molti moduli contatti che hanno di base il check, perché non provarli?

Offline synt.net

  • Nuovo arrivato
  • *
  • Post: 16
    • Mostra profilo
Grazie per la risposta tomtomeight,
lo so che è sconsigliato modificare il core, e solitamente non lo faccio mai.
Visto che esistono i campi aggiuntivi volevo utilizzare la funziona integrata di Joomla.
Credo che se esiste una funzione del core di Joomla che non funziona correttamente sia preferibile cercare di sistemarla, anzichè ricorrere all'installazione di moduli esterni...

Offline synt.net

  • Nuovo arrivato
  • *
  • Post: 16
    • Mostra profilo
Ho scoperto che il problema risiedeva nella versione di php utilizzata nell'hosting.
Infatti $option->textContent funziona con php >= 5.6.1
Invece per una retrocompatibilità bisogna utilizzare $option->nodeValue.

Ho risolto aggiornando la versione di php dell'hosting.

Offline marine

  • Moderator
  • Instancabile
  • *****
  • Post: 6314
  • Sesso: Maschio
    • Mostra profilo
Cortesemente ti chiedo di inserire [RISOLTO] all'inizio del titolo del tuo primo post in modo da facilitare la navigazione del forum da parte degli utenti, grazie della comprensione.

 



Web Design Bolzano Kreatif