12 ответов

  • 0
    Михаил Ушенин Webasyst 18 сентября 2013 04:09 #
    Если на витрине видно дерево категорий, то оно отображается и на главной странице тоже. Уточните, что вы имеете в виду.
  • 0
    Сергей Халявкин 18 сентября 2013 05:35 #
    На главной нет дерева категорий.
  • 0
    Сергей Халявкин 18 сентября 2013 05:58 #
    Как вывести не дерево категорий а основные категории как было в webasyst? Я так понимаю в home.html
    • 0
      Михаил Ушенин Михаил Ушенин Webasyst 19 сентября 2013 03:58 #
      Примерно так:

      {$homepage_columns = 4}

      <style>
      table.homepage_categories {
      width: 100%;
      border: none;
      }
      table.homepage_categories td {
      width: {floor(100/$homepage_columns)}%;
      padding-bottom: 20px;
      }
      table.homepage_categories a.top_category {
      font-size: 1.5em;
      }
      </style>

      {$categories = $wa->shop->categories(0, 1, true)}

      <table class="homepage_categories">
      {foreach $categories as $tc_id => $top_category}
      {if $tc_id is div by $homepage_columns}<tr>{/if}
      <td>
      <div>
      <a class="top_category" href="{$top_category.url}">{$top_category.name|escape}</a>
      </div>
      <div>
      {foreach $top_category.childs as $child_category name=child_categories}
      <a href="{$child_category.url}">{$child_category.name|escape}</a>{if !$smarty.foreach.child_categories.last}, {/if}
      {/foreach}
      </div>
      </td>
      {if $tc_id+1 is div by $homepage_columns}<tr>{/if}
      {/foreach}
      </table>
      • 0
        Михаил Ушенин Михаил Ушенин Webasyst 19 сентября 2013 04:00 #
        Ошибка:
        {if $tc_id+1 is div by $homepage_columns}<tr>{/if}
        в конце заменить на
        {if $tc_id+1 is div by $homepage_columns}</tr>{/if}
        • +1
          Афанасий Афанасий 16 марта 2015 08:00 #

          это работает с tr, а как мне сделать чтобы с div также формировало, с такой конструкцией

          {foreach $categories as $tc_id => $top_category}
          {if $tc_id is div by $homepage_columns}<div style="display: table; width: 100%;">{/if}
          <div class="ZgaG">
          <table width="100%" border="0" cellpadding="5">
          <tbody>
          <tr>
          <td width="100" align="center">
          {if $top_category.image}
          <div class="top_category_image">
          <img src="/wa-data/public/shop/categories/{$top_category.id}/{$top_category.id}.96{$top_category.image}" border="0" style="max-height: 96px; max-width: 96px; float: left;">
          </div>
          {/if}
          </td>

          <td>
          <div>
          <a class="ZgaG1" href="{$top_category.url}">{$top_category.name|escape}</a>
          </div>

          <div class="ZgaG2">
          {foreach $top_category.childs as $child_category name=child_categories}
          <a href="{$child_category.url}">{$child_category.name|escape}</a>{if !$smarty.foreach.child_categories.last} | {/if}
          {/foreach}
          </div>
          </td>
          </tr>
          </tbody>
          </table>
          </div>
          {if $tc_id+1 is div by $homepage_columns}</div>{/if}
          {/foreach}



          У меня создает:

          <div style="display: table; width: 100%;">

          <div class="ZgaG">сформировал</div>

          <div class="ZgaG">сформировал</div>

          <div style="display: table; width: 100%;">и т.п.</div>

          </div>


          Делаю в таблице, все нормально, делаю так, он почему-та div создаёт в dive, как мне сделать чтоб не внутри их делал, а как отдельный элемент, пример:

          <div style="display: table; width: 100%;">

          <div class="ZgaG">сформировал</div>

          <div class="ZgaG">сформировал</div>

          </div>

          <div style="display: table; width: 100%;">

          <div class="ZgaG">сформировал</div>

          <div class="ZgaG">сформировал</div>

          </div>


          Мозг кипит, пробывал всяко, но нифига, что не так?

  • 5
    Сергей Халявкин 22 сентября 2013 12:57 #
    Спасибо! Всё получилось, но хотел бы ещё спросить как добавить картинку к главным категориям.
    • +1
      Михаил Ушенин Михаил Ушенин Webasyst 23 сентября 2013 03:41 #
      Добавьте имена файлов картинок в свойствах категорий и загрузите сами файлы, как описано в этой статье: http://www.webasyst.ru/help/16/dobavlenie-logotipov-na-stranitsy-kategoriy-na-vitrine-shop-script-5/ и измените код вот так:

      {$homepage_columns = 4}

      <style>
      table.homepage_categories {
      width: 100%;
      border: none;
      }
      table.homepage_categories td {
      width: {floor(100/$homepage_columns)}%;
      padding-bottom: 20px;
      }
      table.homepage_categories a.top_category {
      font-size: 1.5em;
      }
      table.homepage_categories div.top_category_image{
      float: left;
      margin: 0 10px 10px 0;
      }
      </style>

      {$categories = $wa->shop->categories(0, 1, true, true)}

      <table class="homepage_categories">
      {foreach $categories as $tc_id => $top_category}
      {if $tc_id is div by $homepage_columns}<tr>{/if}
      <td>
      <div class="top_category_image"><a href="{$top_category.url}"><img src="/wa-data/public/site/img/shop/categories/icons/{$top_category.params.icon}"></a></div>
      <div>
      <a class="top_category" href="{$top_category.url}">{$top_category.name|escape}</a>
      </div>
      <div>
      {foreach $top_category.childs as $child_category name=child_categories}
      <a href="{$child_category.url}">{$child_category.name|escape}</a>{if !$smarty.foreach.child_categories.last}, {/if}
      {/foreach}
      </div>
      </td>
      {if $tc_id+1 is div by $homepage_columns}</tr>{/if}
      {/foreach}
      </table>
      • +2
        Никита Капкович Никита Капкович 22 декабря 2014 11:36 #

        а как сделать подкатегории с новой строки и перечислением

        (пример)

        Категория

        • подкатегория
        • подкатегория
        • подкатегория
  • 0
    i.nitsak@gmail.com 19 декабря 2013 03:18 #
    Спасибо за отличное решение!
    Вот только изображения категорий не выводятся.
    Я пока что добавил только в одну категорию изображение - "Маски и аксессуары для подводной охоты"

    На странице категории иконка всплывает - http://nirok.com.ua/category/maski-dlya-podvodnoy-okhoty/

    А на главной - ее нет.

    Где я ошибся?
  • 0
    Эмиль Мингазов 20 июня 2014 07:24 #
    А каким способом можно получить доступ к дереву категорий на любой странице. Например, в левом верхнем углу будет слово Каталог, наводим мышку на слово Каталог и раскрывается дерево категорий
  • 0
    loony Партнер-эксперт 8 сентября 2014 05:00 #
    Если стоит плагин "Изображения для категорий", то код такой (стили те же): {$homepage_columns = 4} {$categories = $wa->shop->categories(0, 1, true, true)} {foreach $categories as $tc_id => $top_category} {if $tc_id is div by $homepage_columns}{/if} {if $tc_id+1 is div by $homepage_columns}{/if} {/foreach}

Добавить ответ

Чтобы добавить комментарий, зарегистрируйтесь или войдите