public function setTemplate ($file)
    {

        // Get template resource

        $tpl	= \Sonic\Sonic::getResource ('tpl');

        // If it's smarty and the template path doesn't exist

        if ($tpl instanceof \Smarty && !is_readable ($file))
        {

            // Set in the smarty template dir

            $file	= $tpl->getTemplateDir (0) . $file;

        }

        // If the template is readable then set it

        if (is_readable ($file))
        {
            $this->_tpl	= $file;
        }

    }