Каталог товаров на 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)
Новые темыОбъявленияСвободное общение
13:53 AviTool - мощный инструмент для автоматизации работы с Avito 
17:01 Absence в Армении 
23:19 Ребята подскажите какими сервисами и прогами вы пользуетесь для SEO продвижения? 
19:30 Индексация страниц 
20:28 Dao.AD: Монетизация и покупка Push/Pops/Inpage и Video трафика! 
14:50 Какую выбрать тему/нишу для сайта? 
18:32 Gambling Craft - гемблинг по белому 
15:37 Продам обменник криптовалюты, а также новый обменник под ключ с обучением. Скидки на скрипты обменника 
15:03 PonyBit.ru - обменный пункт PonyBit.ru (Понибит.ру) 
13:25 Sova.gg - надежный обменник криптовалюты. 
13:14 GoodsMoney.io 
20:37 BestX24 - быстрый и безопасный обменник криптовалют и электронных денежных средств 
09:45 Резидентные Прокси Ротационные BACKCONNECT США Европа Микс 
19:49 Комплексный прогон по трастовым сайтам, статейное размещение. Рост НЧ-СЧ, Тиц-пр. 
10:59 Ням-ням! - 8 деликатесов, которые когда-то ели только бедные люди 
20:17 Точные прогнозы на футбол 
12:23 150+ хакерских поисковых систем и инструментов 
08:38 Накрутка поисковых подсказок 
17:41 Стряхнуть обыденность - об Агасфере 
10:54 Добро пожаловать в цифровой мир... 
22:39 Топ-5 способов использовать мобильные прокси для бизнеса: подробный обзор