Skip to content

Commit

Permalink
[*] Installer: pre-compile the smarty templates to improve the loadin…
Browse files Browse the repository at this point in the history
…g time of first connection
  • Loading branch information
rGaillard committed Jan 11, 2013
1 parent 52a6a67 commit 2c85555
Show file tree
Hide file tree
Showing 3 changed files with 64 additions and 0 deletions.
5 changes: 5 additions & 0 deletions install-dev/classes/controllerHttp.php
Expand Up @@ -95,6 +95,11 @@ abstract public function display();

final public static function execute()
{
if (Tools::getValue('compile_templates'))
{
require_once (_PS_INSTALL_CONTROLLERS_PATH_.'http/smarty_compile.php');
exit;
}
// Include all controllers
foreach (self::$steps as $step)
{
Expand Down
43 changes: 43 additions & 0 deletions install-dev/controllers/http/smarty_compile.php
@@ -0,0 +1,43 @@
<?php
/*
* 2007-2013 PrestaShop
*
* NOTICE OF LICENSE
*
* This source file is subject to the Open Software License (OSL 3.0)
* that is bundled with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://opensource.org/licenses/osl-3.0.php
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to http://www.prestashop.com for more information.
*
* @author PrestaShop SA <contact@prestashop.com>
* @copyright 2007-2013 PrestaShop SA
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
* International Registered Trademark & Property of PrestaShop SA
*/

require_once(_PS_ROOT_DIR_.'/config/settings.inc.php');
if (Tools::getValue('bo'))
{
if (!is_dir(_PS_ROOT_DIR_.'/admin/'))
exit;
define('_PS_ADMIN_DIR_', _PS_ROOT_DIR_.'/admin/');
$directory = _PS_ADMIN_DIR_.'themes/default/';
}
else
$directory = _PS_THEME_DIR_;

require_once(_PS_ROOT_DIR_.'/config/smarty.config.inc.php');

$smarty->setTemplateDir($directory);
ob_start();
$smarty->compileAllTemplates('.tpl', false);
ob_end_clean();
16 changes: 16 additions & 0 deletions install-dev/theme/js/install.js
Expand Up @@ -19,4 +19,20 @@ $(document).ready(function()
});

$('select.chosen').chosen();

// try to pre-compile the smarty templates
function compile_smarty_templates(bo)
{
$.ajax(
{
url: 'index.php',
data: {
'compile_templates': 1,
'bo':bo
},
global: false
});
}
compile_smarty_templates(1);
compile_smarty_templates(0);
});

0 comments on commit 2c85555

Please sign in to comment.