Форум пользователей Impera CMS
Impera CMS - отличный движок для лёгкого создания интернет магазина.
Обладает невероятным количеством функций, необходимых в онлайн торговле.

Следить
Главная
13:23
22 мар
#
?
написал:

Как запретить покупку снятого с производства товара.

Часть товаров сняты с производства, но удалять их нельзя, т.к. по ним много входжений на сайт.

Требуется:

1) Убрать или сделать неактивной кнопку покупки таких товаров

2) В результатах сортировки по цене, по названию и т.д. эти товары отображать в конце списка т.к. например при сортировке по цене, неактуально вывести старый товар первым, даже если он и был раньше самым дешёвым.

Это также идея для доработки движка при последующих обновлениях, удобно бы иметь возможность отметить этот товар чекбоксом и всё.

20:20
22 мар
#
?
написал:

Это легко реализуется установкой нулевого остатка!
А чтобы товары, которых нет, были в конце списка, в админке Товары -> Настройки -> Сортировать для клиента: по наличию, и обязательно убрать галочку "лаконично" иначе отсутствующие не будут отображаться!

18:28
23 мар
#
?
написал:

Руслан, спасибо за совет, но такой вариант мне не подходит, потому-что на сайте есть товары которых нет в наличии, т.е. остаток нулевой, но их можно купить под заказ. Поэтому нужно именно установить запрет именно товарам снятым с производства.

А сортировка по наличию для клиента тоже не удобно,т.к. клиент может поставить себе сортировку по цене, что чаще всего делают, и товары перемешаются.

23:25
23 мар
#
написал:

Для подобных целей в следующих обновлениях, думаю, правильно товарам добавить флажок Не для продажи (скажем поле назвать non_usable). Движок пусть сам сносит "непродажные" товары в конец демонстрируемого покупателю списка независимо от текущего способа сортировки. Правда, придется возложить на шаблон задачу убирать кнопку Купить и визуально пояснять (выделять?), почему товар оказался в конце списка. Иначе покупатель посчитает это багом магазина: например выбираю сортировку по названию, а некоторые товары с буквы А почему-то внизу.

Также движок пусть сам отсекает попытки положить такой товар в корзину. Дело в том, что одно лишь убирание кнопки в шаблоне не закроет злопыхателю путь воспроизвести эту кнопку искусственным образом. Должен быть игнор и со стороны движка.

В шаблоне мини карточки товара (выводимой в списках) и странице товара будут правки, похожие как для флажка Выделен.

    <div {if $product->highlighted|default:false} class="look-at-me" {/if}>
        ...
        ...
    </div>


Как видно, если отрисовываемый товар имеет признак выделен, тогда контейнер мини карточки снабжается стилевым классом look-at-me. Аналогично и для признака не для продажи - снабжаем контейнер стилевым классом и не рисуем кнопку.

    <div {if $product->non_usable|default:false} class="restrict-production" {/if}>
        ...
        ...

        {if !$product->non_usable|default:false}

            кнопка Купить

        {/if}

        ...
        ...
    </div>


Пока же до обновления предлагаю воспользоваться флажком Не для RSS (вкладка Мета информация страницы товара). Установите его у всех снятых с производства товаров. Добавьте помеченное ниже синим цветом в файл cards/product-card.htm - модуль мини карточки товара.

    ...
    ...

    {* если на вход получена запись о товаре *}
    {if isset($item) && is_object($item)}

        ...
        ...

        {$stop = $item->rss_disabled|default:false}

        {* карточка товара *}
        <li class="ajax_block_product bordercolor">
            <div class="produc-cat-inner {($stop) ? 'restrict-production' : ''}">

                ...
                ...

                {* артикул варианта товара *}
                <div class="right_block bordercolor">
                    ...
                    ...

                    {* кнопка В корзину *}
                    {if !$stop}
                        ...
                        ...

                        {* кнопка Отложить *}
                        ...
                        ...

                        {* кнопка Быстрый заказ *}
                        ...
                        ...
                    {/if}
                </div>

            </div>
        </li>
    {/if}

{/strip}


В дальнейшем после выхода обновления просто замените $item->rss_disabled на $item->non_usable и состояния флажков Не для RSS у снятых с производства товаров перенесите на флажок Не продавать (будет помещен во вкладку Маркетинговые настройки).

Похожие действия сделайте в файле product.tpl - шаблон центральной части страницы товара.

    ...
    ...

    {* если существует запись о товаре *}
    {if isset($product) && is_object($product)}

        ...
        ...

        {$stop = $product->rss_disabled|default:false}

        <div class="clearfix" id="primary_block">
            ...
            ...

            {* название товара *}
            <div id="pb-left-column"  {($stop) ? 'class="restrict-production"' : ''}>
                ...
                ...

                <form class="bordercolor" id="buy_block" method="post">

                    {* цена со скидкой *}
                    <div class="price bordercolor">
                        ...
                        ...

                        {* кнопка В корзину *}
                        {if !$stop}
                            ...
                            ...

                            {* поле Количество *}
                            ...
                            ...
                        {/if}
                    </div>

                    ...
                    ...

                    <div class="clearblock"></div>
                </form>
            </div>
        </div>

        ...
        ...

    {* иначе страницы нет или закрыта для чужих *}
    {else}

        ...
        ...

    {/if}

{/strip}


Раз задействуем стилевой класс restrict-production, следует прописать его в css. Скажем, фоновая картинка в правом верхнем углу контейнера.

    /* для мини карточки снятого с производства товара */
    li > .restrict-production {
        background: url('../images/restrict-production.png') top right no-repeat;
    }

    /* для страницы снятого с производства товара */
    #pb-left-column.restrict-production {
        background: url('../images/restrict-production.png') top right no-repeat;
    }
10:59
26 апр
#
?
EraUa написал:

Скажите, когда планируется внедрение даннного функционала? Уже очень сильно нужен!

10:35
13 мая
#
?
написал:

Вячеслав написал:

==========================

Как запретить покупку снятого с производства товара.

Часть товаров сняты с производства, но удалять их нельзя, т.к. по ним много входжений на сайт.

Требуется:

1) Убрать или сделать неактивной кнопку покупки таких товаров

2) В результатах сортировки по цене, по названию и т.д. эти товары отображать в конце списка т.к. например при сортировке по цене, неактуально вывести старый товар первым, даже если он и был раньше самым дешёвым.

==========================

А не проще создать категорию "Не для продажи", запретить ее к показу на сайте и все товары что "не для продажи" запихнуть в эту категорию? Если все-таки необходимо показывать эти товары, тогда лучше произвести изменения в шаблоне (в данном случае products.tpl), чтобы при выводе товаров категория "Не для продажи" включая все свои товары была в самом низу.

А то сейчас Имперцы сделают галочку "не для продажи" , потом "не для продажи, когда попросил Иван Семеныч", потом "для продажи тех, что не для продажи" :-D

А потом кто-то купит Имперу и удивится облию галочек для "продажи/непродажи" .

18:16
13 мая
#
?
EraUa написал:

Нун тут уже на усмотрение разработчика, как он посчитает правильным это реализовать.

Главное чтобы при выборе категории отображаись все товары которые есть и которые были, но те что были находилсь внизу и небыло кнопки купить и цены. Как на Розетке, например.

01:52
14 мая
#
?
написал:

Черт возьми, на розетке платили достаточно серъезные деньги. И у них там там (на розетке) ни в коем случае нет аткой фигни, чтобы категории ... ниже чем...

Они изначально задумались о постановке тех. задания! Вы, уважаемый EraUa сможете предъявить?

00:09
04 июл
#
?
EraUa написал:

Скажите, будет ли реализована данная функция в следующих версиях системы? Сказано что если нужна какая-либо функция, значит реализовуется. Эта функция как мне кажется очень важна и используется всеми продвинутыми интернет-магазинами.

13:38
22 сен
#
?
EraUa написал:

Поскольку функция до сих пор так и не реализована, категории с товарами стали до ужаса неюзабельными для пользователя, товары снятые с производства и новые в соотношении 50 на 50, отображаются в перемешку, клиентов это очень сильно сбивает с толку, нас засыпают вопросами, а зачем тогда стоит кнопка "под заказ" на таикх товарах.

Предлагаю для упорядочивания товаров в категории выделить 4 пункта которые как мне кажется были бы удобны для более удобного отображения товаров. Расположение товаров в категории правильние было бы расположить так начиная сверху:

1) Товары которые есть в наличии на складе (отображается кнопка "купить")

2) Товары которых нет в наличии на складе, но они доступны под заказ (отображается кнопка "под заказ" и кнопка "Сообщить о наличии")

3) Товары которых нет в наличии и они не доступны под заказ (отображается кнопка "Сообщить о наличии")

4) Товары которые сняты с производства (нет никаких кнопок, цены, только описание и характеристики. Можно даже не отображать их в списке категории, а только в списке товаров бренда, как историю)

Я понимаю, что сейчас появятся те кто снова начнёт говорить, чтобы нанимали программиста для реализации своих идей и не выдумывали новые функции. Сразу отвечу, если бы у меня была возможность натять программиста для реализации того что мне нужно, то я, возможно, не заморачивался бы с покупкой именно этого движка, потому что программист реализует это на чём угодно. Поэтому я и выбрал имперу, т.к. разработчик указал, что если нужна какая-то функция, значит реализуем и не нужно платить какждый раз программисту заплатив за лицензию.

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

14:11
23 сен
#
?
написал:

Функция действительно нужна. Не секрет онлайновые магазины постят определеные товары на сайт в целях завлекалочки. Дополнительные поисковый трафик тоже полезен не важно что товар на какой попал человек из поисковика мы не продаем.. Главное товар по нашей теме клиент не начнет плеваться что попал не туда. И нам главное затянуть своего потенциальнгого клиента на сайт а там предложим ему альтернативы. Типа "к сожалению этот товар снят с производства может быть вам будет интересн вот этот товар" и покажем список похожих который уже продаем по настоящему.

Я для себя не разобрался в таком моменте. Разработчик допустим введет в товар новое поле non_usable так в шаблоне у меня сразу кнопка "Купить" уберется из товара не для продажи или я должен крыжить в шаблоне еще дополнительно. По идее мой шаблон должен содержать логику которая интересна мне я уже убрал оттуда лишние мне части. Так теперь что они вернутся на место? Так не должно быть.

Теперь вопрос если мне все равно придется в своем шаблоне кнопку "Купить" обернуть в условие {if !$product->non_usable} кнопка {/if} зачем тогда это лишнее поле вводить если я могу сделать точно так только на основе другого поля? Товары имеют пометку до 8 прайсов мне это даже много. По логике я ведь могу с товара не для продажи на закладке "мета" выключить пукнкт "прайс 8" а в шаблоне кнопку корзины обернуть условием {if $product->in_prices & 128 != 0} кнопка {else} снят с производства {/if}. Может неправильно проверяю условие я подсмотрел его у разработчика в коде .db-models/Products.php.

Ткните носом где я ошибаюсь.

К разработчику
Добавьте в форму редактирования форума кнопки цветов расркраски подобно кнопке B неудобно так редактировать через html все эти span чтобы покрасить части кода а так они сливаются с текстом и фиг разберешь. За pre вобще молчу фрагмент кода если надо нормально показать это надо иметь терпение.

17:18
23 сен
#
?
VN написал:

Гуд. Вот только не влияет на сортировку. Товары всё равно вперемешку.
Надо старьё сдвинуть в конец списка. Всегда.

Далее. Вот вы скрыли В корзину. А кнопки Отложить, Быстрый заказ?
Имхо, чем оборачивать кнопки, могли просто стиль добавить.
Файл cards/product-card.htm.

{$style = ($item->in_prices & 128 != 0) ? '' : 'restrict'}
<li class="ajax_block_product bordercolor {$style}">

Теперь css/global.css в конце добавить.

.restrict .ajax_add_to_cart_button,
.restrict .defer_button,
.restrict .fulminant_order_button {display: none !important}

Всё! Это проще, чем ваши обёртки.

Ещё старьё на фоне перечёркнутого креста сделать.
Снова css/global.css в конец пишем.

#product_list .restrict {background:url(../images/krest.png) center center no-repeat}

Крест "снят с производства" нарисовать и в папку site.com/design/шаблон/images.

11:22
29 окт
#
?
EraUa написал:

Выполнил все действия по скрытию кнопки "Купить", все получилось как нужно.

Но возник вопрос следующий. Как модернизировать условие if чтобы кроме скрытия кнопки, вместо неё выводилась надпись "Снят с производства", а под ней сылка с надписью "Новые модели (Бренд)". Например в каком-то устаревшем товаре от Sony:

Снят с производства

Новые модели Sony

13:00
29 окт
#
написал:

Пример кода (встраиваемого в файл product.tpl) строго по вашей задаче (цветом я раскрасил переменные так, чтобы вы видели, какие из них входные, какие являются локальными, а какие просто полями переменной):

{if !$product->non_usable|default:false}

    кнопка В корзину

{else}

    <div class="non_usable_msg">
        Снят с производства
    </div>

    {* если товар прикреплен к бренду *}
    {if $product->brand|default:'' != ''}

        {* получаем части url страницы бренда *}
        {$site = $site|default:''|escape}
        {$path = $product->brand_url_path|default:''|escape}
        {$url = $product->brand_url|default:''|escape}

        {* ссылка на бренд *}
        <a href="{$site}{$path}{$url}" class="link_to_usable">
            Новые модели {$product->brand|escape}
        </a>

    {/if}

{/if}


Пример кода, когда в устаревшем товаре надо показать надпись "Снят с производства" и ссылку на бренд, если товар прикреплен к такому, иначе надпись и ссылку на категорию:

{if !$product->non_usable|default:false}

    кнопка В корзину

{else}

    <div class="non_usable_msg">
        Снят с производства
    </div>

    {* если товар прикреплен к бренду *}
    {if $product->brand|default:'' != ''}

        {* получаем части url страницы бренда *}
        {$site = $site|default:''|escape}
        {$path = $product->brand_url_path|default:''|escape}
        {$url = $product->brand_url|default:''|escape}

        {* ссылка на бренд *}
        <a href="{$site}{$path}{$url}" class="link_to_usable">
            Новые модели {$product->brand|escape}
        </a>

    {* иначе прикреплен только к категории *}
    {elseif $product->category|default:'' != ''}

        {* получаем части url страницы категории *}
        {$site = $site|default:''|escape}
        {$path = $product->category_url_path|default:''|escape}
        {$url = $product->category_url|default:''|escape}

        {* ссылка на категорию *}
        <a href="{$site}{$path}{$url}" class="link_to_usable">
            Новые модели в категории {$product->category|escape}
        </a>

    {/if}

{/if}


Пример кода, когда в устаревшем товаре надо показать надпись "Снят с производства" и ссылку на бренд, если товар прикреплен к такому, а также еще и ссылку на категорию:

{if !$product->non_usable|default:false}

    кнопка В корзину

{else}

    <div class="non_usable_msg">
        Снят с производства
    </div>

    {* получаем url корня сайта *}
    {$site = $site|default:''|escape}

    {* если товар прикреплен к бренду *}
    {if $product->brand|default:'' != ''}

        {* получаем части url страницы бренда *}
        {$path = $product->brand_url_path|default:''|escape}
        {$url = $product->brand_url|default:''|escape}

        {* ссылка на бренд *}
        <a href="{$site}{$path}{$url}" class="link_to_usable">
            Новые модели {$product->brand|escape}
        </a>

    {/if}

    {* для категории *}
    {if $product->category|default:'' != ''}

        {* получаем части url страницы категории *}
        {$path = $product->category_url_path|default:''|escape}
        {$url = $product->category_url|default:''|escape}

        {* ссылка на категорию *}
        <a href="{$site}{$path}{$url}" class="link_to_usable">
            Новые модели в категории {$product->category|escape}
        </a>

    {/if}

{/if}


Для любого из трех примеров в css-файл дизайна добавляем:

.non_usable_msg {
    /* здесь стили для надписи "Снят с производства" */
}

.link_to_usable {
    /* здесь стили для ссылки на новые модели */
}
21:27
29 окт
#
?
EraUa написал:

Спасио за более правильное решение, не учёл что товар может быть не прикреплён к бренду.

У меня ещё вопрос. В чём отличия второго и третьего спобов? Результат насколько я понимаю будет один и тот же.

12:52
01 ноя
#
написал:

Второй способ показывает текст "Снят с производства" и под ним ссылку "Новые модели БРЕНД", если товар прикреплен к бренду.

В третьем способе под ссылкой бренда появляется еще и ссылка "Новые модели в категории КАТЕГОРИЯ".

18:25
28 авг
#
?
1 написал:

выбор большой но них[цензура]я нет

Написание ответа

Перед публикацией рекомендуется использовать Предпросмотр, чтобы увидеть конечный вид сообщения.


Обратите внимание! Для противодействия спаму новые посты форума проявляются с задержкой от нескольких минут, пока не пройдут модерацию.