Категории

[FAQ] Часто задаваемые вопросы и ответы

Проблемы и решения

Ошибки и исправления

Общие вопросы

Расширения

Установка и обновление

Модули

Шаблоны

Локализация интерфейса

Коммерческие предложения

Учимся бизнесу

Бизнес книги

Поисковая оптимизация (SEO)

Магазины на ShopOS

Хостинг для ShopOS

Предложения и пожелания

Курилка

Как создать условие на проверку номера категории каталога?

Задача проверки номера каталога, как её решить?

Что-то типа: {IF CAT_ID=1}{/IF}?


Зависит от того, ГДЕ Вы эту задачу решаете.
Если в скрипте PHP, можно использовать, например, переменную $_GET (часто $_GET['cPath'] содержит нужные данные). 
Если в шаблоне, то в зависимости  от шаблона и от того, что передано в шаблон скриптом.


Хотелось бы в шаблоне shopos_paradise.
Как достучаться до переменной "номер категорий  каталога"?


Если в шаблоне, то в зависимости  от шаблона и от того, что передано в шаблон скриптом.

Вы бы написали, в каком именно файле шаблона.
Возможно, что она просто не определена для шаблона и никак нельзя достучаться. Тогда в модуле соответствующем надо эту переменную самостоятельно создавать для шаблона.
Есть еще путь не очень красивый - в файле шаблона использовать {php}{/php}.


Основной смысл идей:
1. Главное меню.
2. Меню каталога
И в зависимости и выбранного пункта меню в шапке сайта подгружается image с соответствующей тематикой.

Всё это нужно организовать в файле шаблона index.html.

Я уже рассматриваю такие варианты:

<div id="header">
  <!-- LOGOTYPE -->
  <a href="{$mainpage}" title="Главная">{$box_HEADER}</a>
</div>

А для этого нужно создать свой бокс  {$box_HEADER}.

Помогите кто чем может.


В index.php ближе к концу перед строкой

$osTemplate->display($template);

добавьте

$osTemplate->assign('CAT_ID', $_GET['cat']);

Тогда в шаблоне index.html  можете писать

{if $CAT_ID==1}
.....
{/if}


Как пулить доступ из index.html доступ у $cid или url?


Использовать  произвольный PHP код внутри  {php} {/php}


Ничего не происходить по коду
{php}
if ($cid==1) {echo 'sdsad';}
{/php}
Какие правила написание php в shopos?


Условие ($cid==1)  не выполняется, потому и не происходит. 


просто попробовать

{php}

echo $cid;
{/php}

и посмотреть - выводится ли хоть что то


Ничего не выводит.


Товарищ grig дал подсказку. Осталось только найти куда приткнуть код ;D

Открываем файл \includes\header.php
ищем там

$osTemplate->assign('price_list', os_href_link(FILENAME_CONTENT, 'coID=12', 'SSL'));

и ниже добавляем
$osTemplate->assign('CAT_ID', $_GET['cat']);


далее в шаблоне, в файле index.html используем такую конструкцию
{if $CAT_ID==1}
что будет в категории 1
{elseif $CAT_ID==10}
что будет в категории 10
{elseif $CAT_ID==5}
что будет в категории 5
{/if}

Соответственно добавляя, удаляя условия

У меня работает. Работать будет только на страницах категорий.
grig, спасибо Вам за подсказку!


В том же файле есть определение страниц, ниже комментария
// Метки для закладок

Вот там можно аналогичным способом подрубить любую страницу и уже в шаблоне оперировать условиями
Сам список всех файлов можно взять тут \includes\filenames.php
Я правда не проверял, но думаю что будет работать.

В идеале конечно для всех файлов страниц дать определенный префикс и уже в PHP искать файлы с нужным префиксом и выдавать в шаблон... ну я не оч шарю, простите за тупизм)) Просто правильно объяснить не могу.
по типу такого как html файлы вывода товара определяются в админке. т.е. если файл для вывода товара не выбран, то берется тот который есть в папке...


Спасибо NeBox, как долго я ждал этого решения. Всё работает.

Вот что получилось:

{if $CAT_ID==1}
  <img src="http://kurort/themes/shopos-paradise/img/logo/perfumery.jpg" width="900" height="254" />
{elseif $CAT_ID==2}
  <img src="http://kurort/themes/shopos-paradise/img/logo/souvenir.jpg" width="900" height="254" />
{else}
  <img src="http://kurort/themes/shopos-paradise/img/logo/default.jpg" width="900" height="254" />
{/if}

И чтобы убрать правую колонку шаблону при выводе товара

{if $CAT_ID>0}
{else}
    <td width="180" valign="top" bgcolor="#17a1ae">
    <div id="rightbox">
    {$box_LATESTNEWS}
    {$box_FEATURED}
    {$box_ADMIN}
    </div>
    </td>
{/if}


Если не ошибаюсь, то можно так

{if !$CAT_ID>0}
    <td width="180" valign="top" bgcolor="#17a1ae">
    <div id="rightbox">
    {$box_LATESTNEWS}
    {$box_FEATURED}
    {$box_ADMIN}
    </div>
    </td>
{/if}


Источник



Copyright ShopOS