Prestashop

Для отображения информации только на главной странице, можно воспользоваться логической конструкцией:

{if $page_name == 'index'}
       . . .
{/if}

Обычно такой способ исспользуют в файлах header.tpl и footer.tpl
Для примера скроем левую колонку. В файле header.tpl находим и удаляем или комментируем код:

<div id="columns">
       <!-- Left -->
              <div id="left_column" class="column">{$HOOK_LEFT_COLUMN}</div>
       {/if}
       <!-- Center -->
       <div id="center_column" class="center_column">

Для скрытия правой колонки открываем footer.tpl и удаляем в нём код:

<!-- Right -->
<div id="right_column" class="column">
{if $page_name !== 'index'}
       {$HOOK_RIGHT_COLUMN}
{/if}
</div>

Код можно не удалять, а поместить его в логическое условие 

{if $page_name !== 'index'}
   ...
{/if}
Допустим hook уже существует и выводится на всех страницах кроме главной. Для добавления его на главную открываем footer.tpl

Находим
<div class="content">
        {$HOOK_BOTTOMCONTENT}
</div>

и после вставляем
<div id="left_column_home" class="column grid_2 alpha">
        {$HOOK_LEFT_COLUMN}
</div>
Вставляем код в footer.tpl или в tpl файл модуля выводящего футер

<div class="extra_footer">
<ul>
{$cms->meta_title|escape:'htmlall':'UTF-8'}
{if isset($categoriescmsTree.children)}
{foreach from=$categoriescmsTree.children item=child name=sitemapCmsTree}
{if (isset($child.children)
&& $child.children|@count < 0) || $child.cms|@count < 0}
{include file="$tpl_dir./category-cms-tree-branch.tpl" node=$child}
{/if}
{/foreach}
{/if}
{foreach from=$categoriescmsTree.cms item=cms name=cmsTree}
<li>
<a href="/{$cms.link|escape:'htmlall':'UTF-8'}" title="{$cms.meta_title|
escape:'htmlall':'UTF-8'}">{$cms.meta_title|escape:'htmlall':'UTF-8'}</a>
</li>
{/foreach}
</ul>
</div>

       При этом карта сайта будет отображаться только на главной, т. к. только в SitemapController.php прописано categoriescmsTree. Для того чтобы карта сайта отображалась в footer на всех страницах, а не только на главной, нужно после строк
 
public function process()
{
parent::process();

добавить строку

self::$smarty->assign('categoriescmsTree', CMSCategory::getRecurseCategory
(_USER_ID_LANG_, 1, 1, 1));

в те файлы контроллеров куда необходимо.
Можно создать файл cronjobs.php с текстом и поместить в cron на сервере

Для 1.4

<?php
require(dirname(__FILE__).'/config/config.inc.php');
require(dirname(__FILE__).'/classes/Currency.php');
Currency::refreshCurrencies();
echo('ok');
?>

Для 1.5 

<?php
include(dirname(__FILE__).'/config/config.inc.php');
Currency::refreshCurrencies();
echo('ok');
?>

На сервере в планировщике создаём правило

/usr/bin/GET /полный путь к файлу на сервере/cronjobs.php
Открываем /classes/tools.php и находим строку

для 1.4

$currency = Currency::getCurrencyInstance((int)
(Configuration::get('PS_CURRENCY_DEFAULT')));

вместо неё вставляем

$currency = Currency::getCurrencyInstance((int)('1'));

для 1.5 

$currency = Currency::getCurrencyInstance((int)$cookie->id_currency);

вместо неё вставляем

$currency = Currency::getCurrencyInstance((int)('1'));

номер в конце - это ID той валюты, которую вы хотите сделать главной на сайте независимо от того какая главная валюта в админке.

Способ для 1.6

Создаём файл /override/classes/tools.php с содержанием

<?php
class Tools extends ToolsCore
{
public static function setCurrency($cookie)
{
if (Tools::isSubmit('SubmitCurrency') && ($id_currency = Tools::getValue('id_currency'))) {
/** @var Currency $currency */
$currency = Currency::getCurrencyInstance((int)$id_currency);
if (is_object($currency) && $currency->id && !$currency->deleted && $currency->isAssociatedToShop()) {
$cookie->id_currency = (int)$currency->id;
}
}

$currency = null;
if ((int)$cookie->id_currency) {
$currency = Currency::getCurrencyInstance((int)$cookie->id_currency);
}
if (!Validate::isLoadedObject($currency) || (bool)$currency->deleted || !(bool)$currency->active) {

$currency = Currency::getCurrencyInstance(1);
// $currency = Currency::getCurrencyInstance(Configuration::get('PS_CURRENCY_DEFAULT'));
}

$cookie->id_currency = (int)$currency->id;
if ($currency->isAssociatedToShop()) {
return $currency;
} else {
// get currency from context
$currency = Shop::getEntityIds('currency', Context::getContext()->shop->id, true, true);
if (isset($currency[0]) && $currency[0]['id_currency']) {
$cookie->id_currency = $currency[0]['id_currency'];
return Currency::getCurrencyInstance((int)$cookie->id_currency);
}
}

return $currency;
}
}

В строке $currency = Currency::getCurrencyInstance(1); вместо 1 вставить ID нужной валюты
С задержкой в 1 секунду:

<meta http-equiv="Refresh" content="1; url={$base_dir}index.php">

С автоматическим выходом через 1 секунду:

<meta http-equiv="Refresh" content="1; url={$base_dir}index.php?mylogout">

Переадресация на главную после покупки:

 

Найти строку в FrontController.php

Tools::redirect(isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : NULL);

и заменить её на

Tools::redirect('index.php');
$cookie->logout();

с очисткой cookie
self::$cookie->logout();

или
$this->context->customer->mylogout();
chmod 777 config
chmod 777 tools/smarty/compile
chmod 777 tools/smarty/cache
chmod 777 tools/smarty_v2/cache
chmod 777 tools/smarty_v2/compile
chmod 777 sitemap.xml
chmod 777 log
chmod 777 img -R
chmod 777 mails -R
chmod 777 modules -R
chmod 777 themes/prestashop/lang -R
chmod 777 themes/prestashop/cache -R
chmod 777 translations -R
chmod 777 upload -R
chmod 777 download -R
Если сайт не прокручивается на планшете или смартфоне с Android, то решаем так:

Открываем header.tpl и находим строку
<meta name="viewport" content="initial-scale=2.3, user-scalable=no">

Меняем её на
<meta name="viewport" content="initial-scale=1, user-scalable=yes">

Ещё иногда попадается несовместимый jQuery UI Touch в модулях, его нужно попросту от туда убрать. Например в модуле /modules/slidecaptcha/slidecaptcha-header.tpl