Каталог товаров на CMS.S3
Страницы: 1
Каталог товаров на CMS.S3
Всем доброго времени суток.
Взялся немного доработать сайт на CMS.S3. Вроде ничего сложного, но мягко говоря был ошарашен и отсутствием FTP и MySQL, да и вообще админкой этой системы управления.
Нужно из интернет магазина сделать просто каталог товаров:
1. На главной странице магазина отображаются главные категории товаров.
2. Внутри категории отображаются только ее подкатегории (например бренды товаров)
3. Внутри подкатегории уже отображаются сами товары.
Загвоздка получилась в том, что не зная структуры магазина это сделать довольно сложно.
В настройках так же не нашел такого отображения.
Есть шаблон вывода всех категорий в список, но этого не достаточно.
Сейчас выводятся все категории, дочерние со сдвигом.

Код
{foreach from=$shop.folders item=e}
{if $e._level}
<div style="margin-left:{$e._level*15-15}px;padding-left:15px;margin-bottom:5px;"><a class="shop-folder" href="{url_param_replace_shop folder_id=$e.folder_id mode="folder" ret_mode="" p="" product_id=""}"><strong>{$e.folder_name}</strong></a></div>
{/if}
{/foreach} 
Алгоритм вижу себе примерно таким образом:

1. если находимся на главной странице магазина то выводим все категории 1 уровня
2. иначе получаем id текущей категории
3. выбираем из списка категорий подкатегории, где id родительской категории равен id текущей категории
4. выводим выбранные категории
проблема в 1 пункте т.к. не знаю как проверить что находимся на главной;
в 3 пункте т.к. не знаю по какому полю выбирать и в каком лежит id родительской категории
Тут кода явно строк 10 всего, а все застопорилось и дальше не делаю ничего из-за этого.
У техподдержки разработчиков cms спрашивал, но они толи игнорируют, толи тянут время.
Если кто работал с данной CMS может подскажет как изменить шаблон списка категорий, чтобы отображал как нужно?
Вообщем поковырявшись в их шаблонах и изрядно поломав голову, разобрался сам.
Почему нельзя просто хранить в определенном поле БД id предка не понятно...
Код:
Цитата
{assign var="fid" value=$folder.folder_id}
{assign var="fl" value=$folder._level}

{if $fl==0}

{foreach from=$shop.folders item=e}
{if $e._level==1}
<div><a class="shop-folder" href="{url_param_replace_shop folder_id=$e.folder_id mode="folder" ret_mode="" p="" product_id=""}"><strong>{$e.folder_name}</strong></a></div>
{/if}
{/foreach}


{elseif $fl>=1}

{assign var="ff" value=$shop.folders}
{if $ff}
{assign var=prev_level value=0}
{foreach from=$ff item=e key=k}
{if $e._level>1 && $prev_level < $e._level}
{assign var=k1 value=`$k-1`}
{assign var="_parent_id" value=`$ff.$k1.folder_id`}
{if $_parent_id==$fid}
<div><a class="shop-folder" href="{url_param_replace_shop folder_id=$e.folder_id mode="folder" ret_mode="" p="" product_id=""}"><strong>{$e.folder_name}</strong></a></div>
{/if}
{/if}
{assign var=prev_level value=$e._level}
{/foreach}
{/if}
{/if}
Ошибочка... почему то код после {elseif $fl>=1} выводит только одну вложенную категорию((
кто ткнет пальцем? smile:)
разобрался)
Доброе время суток!
А что ты именно подправил там ? Я что то уже сижу и не врубаюсь что и как.
Вот весь код, вместе с картинками. Картинки там тоже кстати хранятся не понятно. Не нашел как хранить например прозарачную gif или png
Код
{if count($shop.folders)>1}

{assign var="fid" value=$folder.folder_id}
{assign var="fl" value=$folder._level}

{if $fl==0}

           {foreach from=$shop.folders item=e}
         {if $e._level==1}
         <div class="cat1" onclick="location.href='{url_param_replace_shop folder_id=$e.folder_id mode="folder" ret_mode="" p="" product_id=""}';">
            <img src="{$IMAGES_DIR}{$e.image_id}_5.jpg" alt="" border="0" />
            {$e.folder_name}
         </div>
         {/if}
      {/foreach}


{elseif $fl>=1}


{assign var="ff" value=$shop.folders}
      {assign var=prev_level value=1}
      {foreach from=$ff item=e key=k}

         {if $e._level>1 && $prev_level < $e._level} 
           {assign var=k1 value=`$k-1`}
           {assign var="_parent_id" value=`$ff.$k1.folder_id`}
         {/if}
         
         {if $_parent_id==$fid && $prev_level <= $e._level && $e._level > 1}
               <div class="cat2" onclick="location.href='{url_param_replace_shop folder_id=$e.folder_id mode="folder" ret_mode="" p="" product_id=""}';">
                 {if $e.image_id}
                  <img src="{$IMAGES_DIR}{$e.image_id}_5.jpg" alt="" border="0" />
                 {else}
                  <img src="{$IMAGES_DIR}no-image.jpg" alt="" border="0" />
                 {/if}  
               <br />
               {$e.folder_name}
               </div>
         {/if} 
                  
         {assign var=prev_level value=$e._level}
      {/foreach}
{/if}

{else}

&nbsp;

{/if} 
Может где то тупо, но по-другому не получалось)
Техподдержка так и не поделилась в каком поле они хранят id родителя, и хранят ли...
Вообщем заканчиваю и более в эту цмс ни ногой... ужос О_о
Спасибо большое! =)
Я на другой CMS'ке сижу и тоже офигиваю от этого. Фтп нет, БД нет
Но как раз столкнулся с выводом подкаталогов
Работает!!! Спасибо тебе огромное, а то меня тут заказчик уже чуть ли не матом гонет че так долго))
Пожалуйста smile:)
а как ты сделал чтобы картинка у категории была ?
И не знаешь есть ли возможность сделать вывод еще описания у каждой категории в списке ?
Картинку для категории ставишь обычными средствами.
<img src="{$IMAGES_DIR}{$e.image_id}_5.jpg" alt="" border="0" /> выводит саму картинку. там для каждой картинки генерируется несколько картинок.
можешь посмотреть если нажать "изменить" на любой картинке
{*Folder description*}
{if $e.folder_desc}<p>{$e.folder_desc}</p>{/if}
И будет тебе описание категории.
Страницы: 1
Похожие темы:
Читают тему (гостей: 1, пользователей: 0, из них скрытых: 0)
Новые темыОбъявленияСвободное общение
02:35 Кто как борется с ботами ПФ? 
12:35 TacoLoco - рекламная сеть от LosPollos. Большие объёмы качественного трафика! 
15:08 Adtrafico - Правильная партнёрская сеть под бурж трафик 
21:18 Webvork - международная товарная СРА сеть с сертифицированными офферами на Европу. 
16:51 Buymedia.biz - рекламная сеть 
13:36 Партнерская программа OWNR WALLET 
14:10 3snet - гемблинг, беттинг, форекс, бинарные опционы, майнинг 
14:14 JustProxy.Biz - Резидентные прокси без ограничения по трафику 
11:03 Coin Click.cc - Быстрый и надежный обмен электронных валют в два клика 
23:50 Прием платежей для HIGH RISK | Прием платежей без сайта 
23:50 Услуги рассылки Viber|Whatsapp|IMO. 
23:48 Рассылка сообщений в ЛС DISCORD 
23:47 Рассылка в TELEGRAM |Большой опыт работы | Любые тематики | Лучшая конверсия 
10:48 DualCoin - быстрый криптовалютный обменник 
02:44 Точные прогнозы на футбол 
15:43 Заказать телефонный флуд. 
12:05 Ням-ням! - 8 деликатесов, которые когда-то ели только бедные люди 
11:40 Кто сделает прогон для адалт сайта? 
09:25 Добро пожаловать в цифровой мир... 
10:31 Видимо, похороны СУПРа уже прошли как-то по-тихому 
08:08 С юмором по жизни!