ReferenceError: $ is not defined

Seguramente estés cargando el script antes que las librerías jQuery… por esto se produce el conflicto y tu script no funciona 🙁




En el ejemplo vemos que miscript.js carga antes que las librerias de jQuery. lo que debemos hacer es invertir el orden en la carga de tal modo que primero carguen las librerias de jQuery.





Nota:

Si estás trabajando desde el back-end de Prestashop y quieres que la librería jQuery cargue antes posiblemente, tengas un hook parecido a este:

    public function hookBackOfficeHeader()
    {
        if (Tools::getValue('configure') == $this->name) {
            $this->context->controller->addJS($this->_path.'views/js/miscript.js');
            $this->context->controller->addCSS($this->_path.'views/css/back.css');
        }
    }

Deberías añadirle esta linea:

$this->context->controller->addJquery();

De tal modo quedaría así:

    public function hookBackOfficeHeader()
    {
        if (Tools::getValue('configure') == $this->name) {
            $this->context->controller->addJquery();
            $this->context->controller->addJS($this->_path.'views/js/miscript.js');
            $this->context->controller->addCSS($this->_path.'views/css/back.css');
        }
    }

Tu opinión es importante para mi, ¿Te ha resultado útil este artículo?

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

*