Автор Тема: Описание категории под товарами  (Прочитано 2779 раз)

19 Август 2015, 10:19:04
  • Новичок
  • *
  • Сообщений: 28
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Здравствуйте.
Нашел подобную тему на форуме, где описано, что надо просто:
Поставить в шаблоне вывод описания категорий.
{if $category->description}
<div class="cat_desc">{$category->description}</div>
{/if}
после вывода товаров
{if $products}
.......
{/if}
Какую именно часть кода необходимо перенести? При попытке переноса всего, что связано с описанием категории под товары , описание переносится, но страница становится кривой.
*}
{include file="$tpl_dir./errors.tpl"}
{if isset($category)}
{if $category->id AND $category->active}
    {if $scenes || $category->description || $category->id_image}
<div class="content_scene_cat">
            {if $scenes}
                  <div class="content_scene">
                        <!-- Scenes -->
                        {include file="$tpl_dir./scenes.tpl" scenes=$scenes}
                         {if $category->description}
                            <div class="cat_desc rte">
                            {if Tools::strlen($category->description) > 3000}
                                <div id="category_description_full">{$description_full}</div>
                                </div>

                                <a href="{$link->getCategoryLink($category->id_category, $category->link_rewrite)|escape:'html':'UTF-8'}" </a>
                            {else}
                               <div>{$category->description}</div>
                            {/if}
                            </div>
                        {/if}
                    </div>
{else}
                    <!-- Category image -->
                    <div class="content_scene_cat_bg"{if $category->id_image} style="background:url({$link->getCatImageLink($category->link_rewrite, $category->id_image, 'category_default')|escape:'html':'UTF-8'}) right center no-repeat; background-size:cover; min-height:{$categorySize.height}px;"{/if}>
                        {if $category->description}
                            <div class="cat_desc">
                                {strip}
             {if isset($categoryNameComplement)}
                                        {$categoryNameComplement|escape:'html':'UTF-8'}
                                    {/if}
                                {/strip}
                            </span>
                            {if Tools::strlen($category->description) > 3000}
                                <div id="category_description_full" class="rte">{$description_full}</div>
                               </div>
                                <a href="{$link->getCategoryLink($category->id_category, $category->link_rewrite)|escape:'html':'UTF-8'}" </a>
                            {else}
                                <div class="rte">{$category->description}</div>
                            {/if}
                            </div>
                        {/if}
                     </div>
                  {/if}
            </div>
{/if}
<h3 class="page-heading{if (isset($subcategories) && !$products) || (isset($subcategories) && $products) || !isset($subcategories) && $products} product-listing{/if}"><span class="cat-name">{$category->name|escape:'html':'UTF-8'}{if isset($categoryNameComplement)}&nbsp;{$categoryNameComplement|escape:'html':'UTF-8'}{/if}</span>{include file="$tpl_dir./category-count.tpl"}</h3>
{if isset($subcategories)}
        {if (isset($display_subcategories) && $display_subcategories eq 1) || !isset($display_subcategories) }
<!-- Subcategories -->
<div id="subcategories">
<p class="subcategory-heading">{l s='Subcategories'}</p>
<ul class="clearfix">
{foreach from=$subcategories item=subcategory}
<li>
                <div class="subcategory-image">
<a href="{$link->getCategoryLink($subcategory.id_category, $subcategory.link_rewrite)|escape:'html':'UTF-8'}" title="{$subcategory.name|escape:'html':'UTF-8'}" class="img">
{if $subcategory.id_image}
<img class="replace-2x" src="{$link->getCatImageLink($subcategory.link_rewrite, $subcategory.id_image, 'medium_default')|escape:'html':'UTF-8'}" alt="" width="{$mediumSize.width}" height="{$mediumSize.height}" />
{else}
<img class="replace-2x" src="{$img_cat_dir}default-medium_default.jpg" alt="" width="{$mediumSize.width}" height="{$mediumSize.height}" />
{/if}
</a>
                    </div>
<h5><a class="subcategory-name" href="{$link->getCategoryLink($subcategory.id_category, $subcategory.link_rewrite)|escape:'html':'UTF-8'}">{$subcategory.name|truncate:25:'...'|escape:'html':'UTF-8'|truncate:350}</a></h5>
{if $subcategory.description}
<div class="cat_desc">{$subcategory.description}</div>
{/if}
</li>
{/foreach}
</ul>
</div>
        {/if}
{/if}
{if $products}
<div class="content_sortPagiBar clearfix">
            <div class="sortPagiBar clearfix">
            {include file="./product-sort.tpl"}
                {include file="./nbr-product-page.tpl"}
</div>
                <div class="top-pagination-content clearfix">
                {include file="./product-compare.tpl"}
{include file="$tpl_dir./pagination.tpl"}
                </div>
</div>
{include file="./product-list.tpl" products=$products}
<div class="content_sortPagiBar">
<div class="bottom-pagination-content clearfix">
{include file="./product-compare.tpl" paginationId='bottom'}
                    {include file="./pagination.tpl" paginationId='bottom'}
</div>
</div>
{/if}

{elseif $category->id}
<p class="alert alert-warning">{l s='This category is currently unavailable.'}</p>
{/if}
{/if}
19 Август 2015, 10:40:25
Ответ #1
  • Модератор
  • Ветеран
  • *****
  • Сообщений: 22125
  • Репутация: +25303/-1
  • Prestashop - просто и эффективно
    • Просмотр профиля
Нужно добавить этот код после вывода товаров
        {if $category->description}
<div class="cat_desc">{$category->description}</div>
{/if}
{elseif $category->id}
<p class="alert alert-warning">{l s='This category is currently unavailable.'}</p>
{/if}
Эксперт Prestashop - решения всех проблем, написание модулей, создание тем для интернет-магазинов под Prestashop.
Эксперт Magento - создам сайт на Magento, программирование кастомных модулей для Magento, кастомизация тем Magento.
Лучшие цены!!!
19 Август 2015, 11:07:50
Ответ #2
  • Новичок
  • *
  • Сообщений: 28
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Нужно добавить этот код после вывода товаров
        {if $category->description}
<div class="cat_desc">{$category->description}</div>
{/if}
{elseif $category->id}
<p class="alert alert-warning">{l s='This category is currently unavailable.'}</p>
{/if}


А если Вас не затруднит, в каком именно месте? я добавляю, но по-видимому не туда.
19 Август 2015, 11:20:28
Ответ #3
  • Модератор
  • Ветеран
  • *****
  • Сообщений: 22125
  • Репутация: +25303/-1
  • Prestashop - просто и эффективно
    • Просмотр профиля
Я написал в каком. Перед
{elseif $category->id}Если у вас не стандарный шаблон, то проверяйте парность тегов и стили для класса cat_desc.
Эксперт Prestashop - решения всех проблем, написание модулей, создание тем для интернет-магазинов под Prestashop.
Эксперт Magento - создам сайт на Magento, программирование кастомных модулей для Magento, кастомизация тем Magento.
Лучшие цены!!!
19 Август 2015, 11:40:26
Ответ #4
  • Новичок
  • *
  • Сообщений: 28
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Я написал в каком. Перед
{elseif $category->id}Если у вас не стандарный шаблон, то проверяйте парность тегов и стили для класса cat_desc.

Все норм, внизу появилось, а верхнее теперь как убрать?  :-[  Точнее, я вырезал  <div class="rte">{$category->description}</div> , вверху пропало, но там еще какой то пробел в виде <div class="content_scene_cat"><div class="content_scene_cat_bg"><div class="cat_desc"> </div></div></div>
Как правильно, полностью все удалить?
19 Август 2015, 12:09:39
Ответ #5
  • Ветеран
  • *****
  • Сообщений: 86688
  • Репутация: +25428/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Если не нужны content_scene_cat, то полностью удалите этот код.
19 Август 2015, 12:19:27
Ответ #6
  • Новичок
  • *
  • Сообщений: 28
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Если не нужны content_scene_cat, то полностью удалите этот код.

 Я понимаю, что надо его просто удалить. Вы можете маркером подсветить из кода , что именно мне надо удалить?
19 Август 2015, 12:38:09
Ответ #7
  • Ветеран
  • *****
  • Сообщений: 1808
  • Репутация: +49/-1
  • Сообщество PrestaShop
    • Просмотр профиля
Все норм, внизу появилось, а верхнее теперь как убрать?  :-[  Точнее, я вырезал  <div class="rte">{$category->description}</div> , вверху пропало, но там еще какой то пробел в виде <div class="content_scene_cat"><div class="content_scene_cat_bg"><div class="cat_desc"> </div></div></div>
Как правильно, полностью все удалить?
Вы же сами написали код который вам не нужен. Вот его удаляйте.
19 Август 2015, 13:50:16
Ответ #8
  • Новичок
  • *
  • Сообщений: 28
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Все норм, внизу появилось, а верхнее теперь как убрать?  :-[  Точнее, я вырезал  <div class="rte">{$category->description}</div> , вверху пропало, но там еще какой то пробел в виде <div class="content_scene_cat"><div class="content_scene_cat_bg"><div class="cat_desc"> </div></div></div>
Как правильно, полностью все удалить?
Вы же сами написали код который вам не нужен. Вот его удаляйте.

Я уже пробовал удалять - результат белая страница. ВЫ можете, пожалуйста, написать конкретно кусок , который необходимо удалить. У меня сейчас осталось описание в верху категории, как его оттуда убрать?
Спасибо.
19 Август 2015, 14:30:37
Ответ #9
  • Ветеран
  • *****
  • Сообщений: 86688
  • Репутация: +25428/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Если белая страница, значит синтаксическая ошибка в шаблоне. Это может быть только от того, что вы удалили одну скобку { или } а вторую оставили.
Из вашего примера ошибка вот в этом
*}Включите показ ошибок и вам покажет причину ошибки.

Удаление описания категории.
1. Откройте шаблон /themes/default-bootstrap/category.tpl
2. Поиском найдите фразу
{$category->description}удалите ее или закоментируйте
{* $category->description *}3. Исправьте стили в файле /themes/default-bootstrap/css/category.css
19 Август 2015, 15:18:24
Ответ #10
  • Новичок
  • *
  • Сообщений: 28
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Если белая страница, значит синтаксическая ошибка в шаблоне. Это может быть только от того, что вы удалили одну скобку { или } а вторую оставили.
Из вашего примера ошибка вот в этом
*}Включите показ ошибок и вам покажет причину ошибки.

Удаление описания категории.
1. Откройте шаблон /themes/default-bootstrap/category.tpl
2. Поиском найдите фразу
{$category->description}удалите ее или закоментируйте
{* $category->description *}3. Исправьте стили в файле /themes/default-bootstrap/css/category.css

Спасибо, помогло!
19 Август 2015, 15:26:43
Ответ #11
  • Новичок
  • *
  • Сообщений: 28
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля


Еще момент, остался такой пробел  - как его можно безболезненно удалить или закомментировать?
19 Август 2015, 15:51:27
Ответ #12
  • Ветеран
  • *****
  • Сообщений: 86688
  • Репутация: +25428/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Удалите код начиная с
<div class="content_scene_cat">заканчивая закрывающим тегом для этого блока
</div>
19 Август 2015, 16:47:32
Ответ #13
  • Новичок
  • *
  • Сообщений: 28
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Удалите код начиная с
<div class="content_scene_cat">заканчивая закрывающим тегом для этого блока
</div>

Съезжает в самый низ. Решил проблема правкой стиля, спасибо.
14 Октябрь 2016, 13:08:21
Ответ #14
  • Фрилансер
  • *
  • Сообщений: 119
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
У меня на дефолтном шаблоне, версия 1.6.1.7 получилось.
Вот такой код:
{*
* 2007-2016 PrestaShop
*
* NOTICE OF LICENSE
*
* This source file is subject to the Academic Free License (AFL 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/afl-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-2016 PrestaShop SA
*  @license    http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
*  International Registered Trademark & Property of PrestaShop SA
*}
{include file="$tpl_dir./errors.tpl"}
{if isset($category)}
{if $category->id AND $category->active}
    {if $scenes || $category->description || $category->id_image}
<div class="content_scene_cat">
            {if $scenes}
                  <div class="content_scene">
                        <!-- Scenes -->
                        {include file="$tpl_dir./scenes.tpl" scenes=$scenes}
                     
                    </div>
{else}
                    <!-- Category image -->
                    <div class="content_scene_cat_bg"{if $category->id_image} style="background:url({$link->getCatImageLink($category->link_rewrite, $category->id_image, 'category_default')|escape:'html':'UTF-8'}) right center no-repeat; background-size:cover; min-height:{$categorySize.height}px;"{/if}>
                        {if $category->description}
                            <div class="cat_desc">
                            <span class="category-name">
                                {strip}
                                    {$category->name|escape:'html':'UTF-8'}
                                    {if isset($categoryNameComplement)}
                                        {$categoryNameComplement|escape:'html':'UTF-8'}
                                    {/if}
                                {/strip}
                            </span>
                           
                            </div>
                        {/if}
                     </div>
                  {/if}
            </div>
{/if}
<h1 class="page-heading{if (isset($subcategories) && !$products) || (isset($subcategories) && $products) || !isset($subcategories) && $products} product-listing{/if}"><span class="cat-name">{$category->name|escape:'html':'UTF-8'}{if isset($categoryNameComplement)}&nbsp;{$categoryNameComplement|escape:'html':'UTF-8'}{/if}</span>{include file="$tpl_dir./category-count.tpl"}</h1>
{if isset($subcategories)}
        {if (isset($display_subcategories) && $display_subcategories eq 1) || !isset($display_subcategories) }
<!-- Subcategories -->
<div id="subcategories">
<p class="subcategory-heading">{l s='Subcategories'}</p>
<ul class="clearfix">
{foreach from=$subcategories item=subcategory}
<li>
                <div class="subcategory-image">
<a href="{$link->getCategoryLink($subcategory.id_category, $subcategory.link_rewrite)|escape:'html':'UTF-8'}" title="{$subcategory.name|escape:'html':'UTF-8'}" class="img">
{if $subcategory.id_image}
<img class="replace-2x" src="{$link->getCatImageLink($subcategory.link_rewrite, $subcategory.id_image, 'medium_default')|escape:'html':'UTF-8'}" alt="{$subcategory.name|escape:'html':'UTF-8'}" width="{$mediumSize.width}" height="{$mediumSize.height}" />
{else}
<img class="replace-2x" src="{$img_cat_dir}{$lang_iso}-default-medium_default.jpg" alt="{$subcategory.name|escape:'html':'UTF-8'}" width="{$mediumSize.width}" height="{$mediumSize.height}" />
{/if}
</a>
                    </div>
<h5><a class="subcategory-name" href="{$link->getCategoryLink($subcategory.id_category, $subcategory.link_rewrite)|escape:'html':'UTF-8'}">{$subcategory.name|truncate:25:'...'|escape:'html':'UTF-8'}</a></h5>
{if $subcategory.description}
<div class="cat_desc">{$subcategory.description}</div>
{/if}
</li>
{/foreach}
</ul>
</div>
        {/if}
{/if}
{if $products}
<div class="content_sortPagiBar clearfix">
            <div class="sortPagiBar clearfix">
            {include file="./product-sort.tpl"}
                {include file="./nbr-product-page.tpl"}
</div>
                <div class="top-pagination-content clearfix">
                {include file="./product-compare.tpl"}
{include file="$tpl_dir./pagination.tpl"}
                </div>
</div>
{include file="./product-list.tpl" products=$products}
<div class="content_sortPagiBar">
<div class="bottom-pagination-content clearfix">
{include file="./product-compare.tpl" paginationId='bottom'}
                    {include file="./pagination.tpl" paginationId='bottom'}
</div>
</div>
{/if}
  {if $category->description}
                           
                                <div>{$category->description}</div>
                           
                        {/if}
{elseif $category->id}
<p class="alert alert-warning">{l s='This category is currently unavailable.'}</p>
{/if}
{/if}

1. Подскажите, а как сделать вывод описания категории не на каждой странице, а только на первой,
чтобы избежать дублирования контента?

2. У меня описания категорий довольно обширные, и соответственно, весь этот текст полностью выводится в админке в списке категорий, напротив их названий, что очень не удобно. Возможно ли его как-то минимизировать или скрыть?

3. И еще проблемка по описанию. Почему то не отображается на сайте маркированный список. В админке в редакторе норм.