Jump to content

Champs textarea dans caracteristiques


Recommended Posts

Bonjour,

Je travail sur la version 1.6.1.15  de Prestashop.

j'ai besoin d'ajouter des lien url dans les caracteristiques des produits. Il faudrait que  du coté admin nous puissions ajouter ces liens simplement j'ai donc pensé a modifier le champ de saisi classique des caractéristiques par un champ de type Textarea avec l'éditeur TinyMCE.

Quelqu'un pourrait il m'aider a trouver comment faire car j'avoue que je ne sais pas trop par quel bout prendre cela.

 

Merci à vous de votre aide.

Link to comment
Share on other sites

Bonjour,

 

Pas besoin de modifier le champ TEXTAREA, cela ne fonctionnera pas. En revanche, vous pouvez autoriser l'utilisation de balise HTML dans ce champ en modifiant la classes Db.php dans classes/db/ (par override c'est toujours mieux)

Dans la fonction  escape(); modifier là comme suit :

Avant :

public function escape($string, $html_ok = false)
    {
        if (_PS_MAGIC_QUOTES_GPC_)
            $string = stripslashes($string);
        if (!is_numeric($string))
        {
            $string = $this->_escape($string);
            if (!$html_ok)
                $string = strip_tags(Tools::nl2br($string));
        }

        return $string;
    }

Après :

public function escape($string, $html_ok = false)
    {
        if (_PS_MAGIC_QUOTES_GPC_)
            $string = stripslashes($string);
        if (!is_numeric($string))
        {
            $string = $this->_escape($string);
            if (!$html_ok)
                $string = strip_tags(Tools::nl2br($string), '<a><p><strong><br><i>');
        }

        return $string;
    }

 

Vous remarquerez que dans cet  exemple j'autorise les balises <a> <p> <strong> <br> et <i>. Libre à vous de modifier cette partie pour autoriser les balises dont vous avez  besoin .

 

Bonne journée

Link to comment
Share on other sites

Bonjour merci de votre réponse !

J'ai essayé mais cela ne fonctionne pas.

Ce que j'ai dans Db.php :

  public function escape($string, $html_ok = false, $bq_sql = false)
    {
        if (_PS_MAGIC_QUOTES_GPC_) {
            $string = stripslashes($string);
        }

        if (!is_numeric($string)) {
            $string = $this->_escape($string);

            if (!$html_ok) {
                $string = strip_tags(Tools::nl2br($string));
            }

            if ($bq_sql === true) {
                $string = str_replace('`', '\`', $string);
            }
        }

        return $string;
    }

Ce que j'ai modifié :

public function escape($string, $html_ok = false, $bq_sql = false)
    {
        if (_PS_MAGIC_QUOTES_GPC_) {
            $string = stripslashes($string);
        }

        if (!is_numeric($string)) {
            $string = $this->_escape($string);

            if (!$html_ok) {
                $string = strip_tags(Tools::nl2br($string), '<a><p><strong><br><i>');
            }

            if ($bq_sql === true) {
                $string = str_replace('`', '\`', $string);
            }
        }

        return $string;
    }

Pouvez vous m’éclairer ?

Link to comment
Share on other sites

  • 2 weeks later...

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...