Поддержка или помощь c Prestashop

Статус
В этой теме нельзя размещать новые ответы.
Переустановил, результат нулевой. Выходит обычная форма регистрации.

Ранее устанавливал другие версии, результат такой же. Думал, что проблема в более ранних версиях, но после установки One Page Checkout for Prestashop v2.3.8 - от Zelarg на Prestashop 1.6, понял, что проблема не в модуле.

Шаблон дефолтный, версия PrestaShop™ 1.6.0.14. Все последние обновления модулей установлены. Хаков никаких не устанавливал.

Кто-нибудь сталкивался с такой проблемой?
В админке на вкладке производительность. Оверрайды (Переопределения) Должны быть включены.
 
Благодарю, а не подскажешь как запретить показ хлебных крошек на странице filimonia.ru/2-katalog-tovarov вот код
Код:
                        {if $page_name !='index' && $page_name !='pagenotfound'}
                            {include file="$tpl_dir./breadcrumb.tpl"}
                        {/if}               
    {/if}
это код в header.tpl, мы тут не знаем что выводится категория и её id, можно только в category.tpl что-то делать, может вот так попробовать?

Код:
{include file="$tpl_dir./errors.tpl"}

{if isset($category) AND $category->id == 2}
{literal}<style>
.breadcrumb {display:none !important;}
</style>{/literal}
{/if}

{if isset($category)}
    {if $category->id AND $category->active}
 
Последнее редактирование:
это код в header.tpl, мы тут не знаем что выводится категория и её id, можно только в category.tpl что-то делать, может вот так попробовать?

Код:
{include file="$tpl_dir./errors.tpl"}

{if isset($category) AND $category->id = 2}
{literal}<style>
.breadcrumb {display:none !important;}
</style>{/literal}
{/if}

{if isset($category)}
    {if $category->id AND $category->active}
не вышло
Код:
Fatal error: Uncaught --> Smarty Compiler: Syntax error in template "C:\mysites\filimonia.ru\www\themes\filimonia\category.tpl" on line 2 "{if isset($category) AND $category->id = 2}" - Unexpected " = ", expected one of: "}" <-- thrown in C:\mysites\filimonia2.ru\www\tools\smarty\sysplugins\smarty_internal_templatecompilerbase.php on line 2
 
не вышло
Код:
Fatal error: Uncaught --> Smarty Compiler: Syntax error in template "C:\mysites\filimonia.ru\www\themes\filimonia\category.tpl" on line 2 "{if isset($category) AND $category->id = 2}" - Unexpected " = ", expected one of: "}" <-- thrown in C:\mysites\filimonia2.ru\www\tools\smarty\sysplugins\smarty_internal_templatecompilerbase.php on line 2

ой, да, 2 знака равно должно быть
$category->id == 2
 
работает а можно это не через стили скрывать а через условие если id категории 2 то не показывать?
я же написал: breadcrumb выводится в header, а id категории мы знаем только в category, поэтому вот так проще всего
 
я же написал: breadcrumb выводится в header, а id категории мы знаем только в category, поэтому вот так проще всего
Это я понял, думал что можно скрыть без применения стилей.
Если ещё не надоел можешь подсказать как сделать вместо
Код:
<!-- Block tags module -->
<div id="tags_block_left" class="block tags_block">
  <p class="title_block">
    {l s='Tags' mod='blocktags'}
  </p>
  <div class="block_content">
    {if $tags}
      {foreach from=$tags item=tag name=myLoop}
        <a
        class="{$tag.class} {if $smarty.foreach.myLoop.last}last_item{elseif $smarty.foreach.myLoop.first}first_item{else}item{/if}"
        href="{$link->getPageLink('search', true, NULL, "tag={$tag.name|urlencode}")|escape:'html':'UTF-8'}"
        title="{l s='More about' mod='blocktags'} {$tag.name|escape:'html':'UTF-8'}"
        >
          {$tag.name|escape:'html':'UTF-8'}
        </a>
      {/foreach}
    {else}
      {l s='No tags specified yet' mod='blocktags'}
    {/if}
  </div>
</div>
<!-- /Block tags module -->
чтобы в исходном коде станицы отображалось
Код:
<div id="tags"></div>
а данные в этот див грузились аяксом?
Пробовал
Код:
$(document).ready(function() {
  $("#tags").load("http://сайт/tags.php");
});
но в ответ получал
Код:
{L S='TAGS' MOD='BLOCKTAGS'}
{if $tags} {foreach from=$tags item=tag name=myLoop} {$tag.name|escape:'html':'UTF-8'} {/foreach} {else} {l s='No tags specified yet' mod='blocktags'} {/if}
 
ну грубо говоря для того чтобы напрямую пользоваться всеми функциями престашопа, достаточно двух строк в скрипте, поэтому можно, к примеру в /modules/blockcart/tags.php вставить:

Код:
<?php

include(dirname(__FILE__).'/../../config/config.inc.php');
include(dirname(__FILE__).'/../../init.php');

$context = Context::getContext();

а потом код напрямую из blocktags вытянуть где выводятся теги:
Код:
define('BLOCKTAGS_MAX_LEVEL', 3);

        $tags = Tag::getMainTags((int)($params['cookie']->id_lang), (int)(Configuration::get('BLOCKTAGS_NBR')));
       
        $max = -1;
        $min = -1;
        foreach ($tags as $tag)
        {
            if ($tag['times'] > $max)
                $max = $tag['times'];
            if ($tag['times'] < $min || $min == -1)
                $min = $tag['times'];
        }
       
        if ($min == $max)
            $coef = $max;
        else
        {
            $coef = (BLOCKTAGS_MAX_LEVEL - 1) / ($max - $min);
        }
       
        if (!sizeof($tags))
            return false;
        foreach ($tags AS &$tag)
            $tag['class'] = 'tag_level'.(int)(($tag['times'] - $min) * $coef + 1);

print_r($tags);

или написать дополнительную функцию в blocktags.php, которая не в хук садится, а просто выводит список тегов на экран, и выводить список через неё
 
ну грубо говоря для того чтобы напрямую пользоваться всеми функциями престашопа, достаточно двух строк в скрипте, поэтому можно, к примеру в /modules/blockcart/tags.php вставить:

Код:
<?php

include(dirname(__FILE__).'/../../config/config.inc.php');
include(dirname(__FILE__).'/../../init.php');

$context = Context::getContext();

а потом код напрямую из blocktags вытянуть где выводятся теги:
Код:
define('BLOCKTAGS_MAX_LEVEL', 3);

        $tags = Tag::getMainTags((int)($params['cookie']->id_lang), (int)(Configuration::get('BLOCKTAGS_NBR')));

        $max = -1;
        $min = -1;
        foreach ($tags as $tag)
        {
            if ($tag['times'] > $max)
                $max = $tag['times'];
            if ($tag['times'] < $min || $min == -1)
                $min = $tag['times'];
        }

        if ($min == $max)
            $coef = $max;
        else
        {
            $coef = (BLOCKTAGS_MAX_LEVEL - 1) / ($max - $min);
        }

        if (!sizeof($tags))
            return false;
        foreach ($tags AS &$tag)
            $tag['class'] = 'tag_level'.(int)(($tag['times'] - $min) * $coef + 1);

print_r($tags);

или написать дополнительную функцию в blocktags.php, которая не в хук садится, а просто выводит список тегов на экран, и выводить список через неё
не получается. Может ты меня не так понял. Попробую объяснить. Нужно чтобы в исходном коде страницы был только <div id="tags"></div> а сами теги подгружались аяксом.
Я пытаюсь скрыть теги при помощи ajax, создаю файл hidetags.js в нём размещаю код
Код:
$(document).ready(function() {
  $("#tags").load("http://http://mrmix.ru/modules/blocktags/tags.php");
});
далее в файле mrmix.ru/themes/тема/modules/blocktags/blocktags.tpl вставляю
Код:
<div id="tags"></div>
а всё содержимое из mrmix.ru/themes/тема/modules/blocktags/blocktags.tpl
Код:
<!-- Block tags module -->
<div id="tags_block_left" class="block tags_block">
  <p class="title_block">
    {l s='Tags' mod='blocktags'}
  </p>
  <div class="block_content">
    {if $tags}
      {foreach from=$tags item=tag name=myLoop}
        <a
        class="{$tag.class} {if $smarty.foreach.myLoop.last}last_item{elseif $smarty.foreach.myLoop.first}first_item{else}item{/if}"
        href="{$link->getPageLink('search', true, NULL, "tag={$tag.name|urlencode}")|escape:'html':'UTF-8'}"
        title="{l s='More about' mod='blocktags'} {$tag.name|escape:'html':'UTF-8'}"
        >
          {$tag.name|escape:'html':'UTF-8'}
        </a>
      {/foreach}
    {else}
      {l s='No tags specified yet' mod='blocktags'}
    {/if}
  </div>
</div>
<!-- /Block tags module -->
вставляю в tags.php который грузится аяксом
проблема в том что на выходе получаю
Код:
{L S='TAGS' MOD='BLOCKTAGS'}
{if $tags} {foreach from=$tags item=tag name=myLoop} {$tag.name|escape:'html':'UTF-8'} {/foreach} {else} {l s='No tags specified yet' mod='blocktags'} {/if}
 

Вложения

  • Снимок.JPG
    Снимок.JPG
    23,9 KB · Просмотры: 18
Последнее редактирование:
Я понял.
tags.php должен выдавать список тегов. Ты вставляешь в него код из шаблона, только это не php код - это код smarty, чтобы он работал, как работает в престашоп - к нему сначала нужно "подключить" все функции престашопа. Как это делается я написал.
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху