Jump to content

No template found for ... Alors que le fichier est présent


Recommended Posts

Bonjour à tous, je rencontre une difficulté sur prestashop, j'ai créer mon plugin et j'obtiens une erreur qui me dit comme quoi le Template n'est pas trouvé, or, il est belle et bien présent.

 

No template found for /modules/monmodule/views/templates/fronthistory.tpl
at line 68 in file classes/Smarty/TemplateFinder.php

 

Merci par avance de votre aide

Link to comment
Share on other sites

Le code est pourtant clair^^

    /**
     * Assigns module template for page content
     *
     * @param string $template Template filename
     * @throws PrestaShopException
     */
    public function setTemplate($template)
    {
        if (!$path = $this->getTemplatePath($template)) {
            throw new PrestaShopException("Template '$template' not found");
        }

        $this->template = $path;
    }

    /**
     * Finds and returns module front template that take the highest precedence
     *
     * @param string $template Template filename
     * @return string|false
     */
    public function getTemplatePath($template)
    {
        if (Tools::file_exists_cache(_PS_THEME_DIR_.'modules/'.$this->module->name.'/'.$template)) {
            return _PS_THEME_DIR_.'modules/'.$this->module->name.'/'.$template;
        } elseif (Tools::file_exists_cache(_PS_THEME_DIR_.'modules/'.$this->module->name.'/views/templates/front/'.$template)) {
            return _PS_THEME_DIR_.'modules/'.$this->module->name.'/views/templates/front/'.$template;
        } elseif (Tools::file_exists_cache(_PS_MODULE_DIR_.$this->module->name.'/views/templates/front/'.$template)) {
            return _PS_MODULE_DIR_.$this->module->name.'/views/templates/front/'.$template;
        }

        return false;
    }

Si vous utilisez /views/template/ alors il faut ajouter front/  dans le chemin (et créer le répertoire)^^

Link to comment
Share on other sites

4 minutes ago, Eolia said:

Le code est pourtant clair^^


    /**
     * Assigns module template for page content
     *
     * @param string $template Template filename
     * @throws PrestaShopException
     */
    public function setTemplate($template)
    {
        if (!$path = $this->getTemplatePath($template)) {
            throw new PrestaShopException("Template '$template' not found");
        }

        $this->template = $path;
    }

    /**
     * Finds and returns module front template that take the highest precedence
     *
     * @param string $template Template filename
     * @return string|false
     */
    public function getTemplatePath($template)
    {
        if (Tools::file_exists_cache(_PS_THEME_DIR_.'modules/'.$this->module->name.'/'.$template)) {
            return _PS_THEME_DIR_.'modules/'.$this->module->name.'/'.$template;
        } elseif (Tools::file_exists_cache(_PS_THEME_DIR_.'modules/'.$this->module->name.'/views/templates/front/'.$template)) {
            return _PS_THEME_DIR_.'modules/'.$this->module->name.'/views/templates/front/'.$template;
        } elseif (Tools::file_exists_cache(_PS_MODULE_DIR_.$this->module->name.'/views/templates/front/'.$template)) {
            return _PS_MODULE_DIR_.$this->module->name.'/views/templates/front/'.$template;
        }

        return false;
    }

Si vous utilisez /views/template/ alors il faut ajouter front/  dans le chemin (et créer le répertoire)^^

Merci beaucoup pour ta réponse, j'ai également essayé :

$this->setTemplate(_PS_MODULE_DIR_ . 'monmodule/views/templates/front/history.tpl');

Et j'ai bien crée le dossier front/ (j’accède bien au fichier avec cette URL dans filezilla )

Link to comment
Share on other sites

si tu utilises front, la syntaxe est $this->setTemplate('fronthistory.tpl');

Prestashop cherchera tous les chemins dispo comme l'indique la fonction.

Maintenant ce code est pour les 1.6 donc ils ont peut-être modifié la fonction, je n'ai pas le temps de vérifier.

Link to comment
Share on other sites

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...