Форум пользователей Impera CMS
Impera CMS - отличный движок для лёгкого создания интернет магазина.
Обладает невероятным количеством функций, необходимых в онлайн торговле.

Добавить мини картинки категорий в меню каталога (дереве категорий)

Следить
Главная
14:46
07 ноя
#
?
Ruslan написал:

До этого сайт был на Simpla CMS. Дизайн на основе переделанного шаблона simpla2. Там в меню категорий слева под ссылками категорий выводились картинки, как показано на скрине.

Перешел на Impera CMS. Использую похожий шаблон simpla2. В категории загрузил по 1 картинке. Они не выводятся. Как исправить?

22:46
07 ноя
#
Разработчик написал:

Так как в портированном шаблоне simpla2 программный код, отвечающий за отрисовку дерева категорий, расположен в файле index.tpl, нужно открыть этот файл на редактирование, например с помощью страницы дизайн -> Файлы шаблона в админпанели, и сделать следующую правку (серым цветом я пометил удаляемый фрагмент как содержащий ошибку и потому неработоспособный, и ниже другим цветом - добавляемые строки, а троеточием - некие несущественные сейчас строки):

<!DOCTYPE html ...>
<html ...>
  ...
  <body>
    ...

    <!-- Верхняя строка -->
    ...

    <!-- Шапка ==========================================================/ -->
    ...

    <!-- Вся страница -->
    ...

      <!-- Основная часть ===============================================/ -->
      ...

        <!-- Поиск ======================================================/ -->
        ...

        <!-- Меню каталога ==============================================/ -->
        <div id="catalog_menu">
          {strip}

            {* <!-- если есть массив категорий --> *}
            {if isset($categories)
            && is_array($categories)
            && !empty($categories)}

              {* <!-- объявляем функцию вывода дерева категорий --> *}
              {function name="categories_tree"}
                <ul>
                  {foreach $categories as $c}

                    {* <!-- если непустая или в настройках разрешено показывать и пустые --> *}
                    {if ($c->products_count|default:0 > 0)
                    || !$settings->catalog_menu_noempty|default:1}

                      {* <!-- если разрешена и не закрыта от чужих или это авторизованный пользователь --> *}
                      {if $c->enabled|default:1
                      && (!$c->hidden|default:0
                      || !isset($user)
                      || !is_object($user))}

                        <li>
                          {if $c->image|default:"" != ""}
                            <img src="{$c->image|escape}" {**}
                                 alt="{$c->name|default:''|escape}">
                          {/if}

                          {* <!-- ссылка (категория может быть выделена в админке) --> *}
                          <a {if $c->highlighted|default:0
                             && ($category->category_id|default:0 == $c->category_id|default:'')}
                               class="selected highlighted"
                             {elseif $c->highlighted|default:0}
                               class="highlighted"
                             {elseif $category->category_id|default:0 == $c->category_id|default:''}
                               class="selected"
                             {/if} href="{$site|default:''|escape}
                                         {if !$c->url_special|default:0}
                                           catalog/
                                         {/if}
                                         {$c->url|default:''|escape}" {if $smarty.session.admin|default:"" == "admin"}
                                                                        {if $settings->catalog_menu_adminedit|default:1}
                                                                          tooltip="category" {**}
                                                                          category_id="{$c->category_id|default:''|escape}"
                                                                        {/if}
                                                                      {/if}>
                            {$c->name|default:"Без названия!"|escape}
                          </a>

                          {* картинка *}
                          {$image = $c->images_thumbs[0]|default:$c->images[0]|default:$c->image|default:''}
                          {if $image|regex_replace:'/\s/':'' != ''}
                              {if $image|regex_replace:'~^[a-z]+://~i':'' == $image}
                                  {$folder = ($smarty.const.ADMIN_CATEGORIES_CLASS_UPLOAD_FOLDER|default:'')|cat:'/'}
                                  {$folder = $folder|regex_replace:'~^[/\\\\]+~':''}
                                  {$image = $image|regex_replace:'~^[/\\\\]+~':''}
                                  {$image = ($site|default:'')|cat:$folder|cat:$image}
                              {/if}
                              <img class="category-icon" src="{$image|escape}" />
                          {/if}

                          {* <!-- если имеет вложенные категории --> *}
                          {if isset($c->subcategories)
                          && is_array($c->subcategories)
                          && !empty($c->subcategories)}
                            {categories_tree categories = $c->subcategories}
                          {/if}
                        </li>
                      {/if}
                    {/if}
                  {/foreach}
                </ul>
              {/function}

              {* <!-- вызываем функцию вывода дерева категорий --> *}
              {categories_tree categories = $categories}
            {/if}
          {/strip}
        </div>

        <!-- Бренды =====================================================/ -->
        ...

        <!-- Валюты =====================================================/ -->
        ...

        <!-- Просмотренные товары =======================================/ -->
        ...

        <!-- Новости ====================================================/ -->
        ...

        <!-- Статьи =====================================================/ -->
        ...

        <!-- Дизайны =====================================================/ -->
        ...
      </div>

      ...
    </div>

    <!-- Подвал сайта ===================================================/ -->
    ...

    <!-- Контейнер всплывающей корзины -->
    ...

    <!-- Контейнер всплывающей плашки "Товар добавлен в сравнение" -->
    ...
  </body>
</html>


То есть картинку рисуем под ссылкой категории, а не перед тегом ссылки.

Соответственно в стили дизайна сайта еще нужно добавить класс category-icon, чтобы стилизовать мини картинку категории, как нам хотелось бы, например:

#catalog_menu .category-icon {
    border: 0 solid;
    border-radius: 10px;
    clear: both;
    display: block;
    margin: 5px 0;
    padding: 0;
    max-width: 216px;
}

Написание ответа

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


Обратите внимание! Для противодействия спаму новые посты форума проявляются с задержкой от нескольких минут, пока не пройдут модерацию.


Хостинг для сайта

Хостинг для интернет магазина

Svai.net

Украина
г. Черкассы
5+ Заказать

TutHost.ua

Украина
г. Киев
Заказать

Mirohost.net

Украина
г. Киев
? Заказать

HyperHosting.com.ua

Украина
г. Винница
i подробнее Заказать

Agava.ru

Россия
г. Москва
Заказать

Ukraine.com.ua

Украина
г. Киев
5 Заказать
Импераготовасотрудничатьс провайдерами Важно Учтите Этот список перечисляет лишь некоторых хостинг-провайдеров, у которых существуют специальные тарифные планы для интернет магазинов, а сам список не означает, что другие провайдеры чем-то хуже.

Существующие в списке оценки по 5-бальной шкале не должны учитываться при выборе, так как носят субъективный характер и касаются соотношения цена-качество-скорость только для самых дорогих тарифных планов.

Демо Главная Хронология Соглашение Материалы Контакты