Каталог товаров на 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)
Новые темыОбъявленияСвободное общение
16:45 Adfinity - Ваш надежный партнер в монетизации трафика 
15:05 Gambling Craft - гемблинг по белому 
19:35 Парсят сай до ddos 
16:02 DreamCash.tl - заработок на онлайн-видео. До 95% отчислений, отличный конверт! 
11:51 Ходяга(АнтиМинусинск) - программа для проклика ссылок, генерации поискового и соц.трафика, улучшения ПФ 
14:39 AviTool - мощный инструмент для автоматизации работы с Avito 
11:36 Dao.AD: Монетизация и покупка Push/Pops/Inpage и Video трафика! 
17:59 Обменный пункт cashalot.one. Выгодный обмен. 
17:49 BIGPROXY.SHOP - Резидентные Ротационные Backconnect Proxy USA EUROPA MIX [Безлимитный трафик] 
04:10 Просто $0.04/IP 9PROXY.COM Резидентные прокси Неограниченная пропускная способность Уникальная политика замены Без чёрного списка 
21:04 Аренда портов Прокси IP4v (Россия) от 1 до ∞ 
20:18 BestX24 - быстрый и безопасный обменник криптовалют и электронных денежных средств 
15:47 Продам базу данных предприятий Украины, России, Великобритании, Германии, Испании, Италии, Нидерландов, Польши, Франции, Швейцарии и др. 
14:53 Инвайтинг(приглашения) в вашу группу/чат телеграм. 
04:15 Точные прогнозы на футбол 
20:09 Сколько сейчас стоит наполнение ИМ? 
12:43 Куплю проигрышные букмекерские аккаунты 
04:33 Половина скидок на распродажах — фейк 
07:53 НейроБабушка наказывает мошенников 
19:59 Осталось 3-5 месяцев до блокировки YouTube в России, — заявил Клименко 
19:57 Пятница 13-ое: VK принял радикальное решение и закрыл доступ к порно контенту