Количество товара текстом "Мало", "Много", "Звоните"

В данной категории, пользователи задают вопросы относительно установки и эксплуатации MOGUTA.CMS
Ответить
Аватара пользователя
OKKarl
lvl 4
Сообщения: 45
Зарегистрирован: 04 апр 2016, 22:01

Количество товара текстом "Мало", "Много", "Звоните"

Сообщение OKKarl » 05 июл 2019, 21:15

Друзья, подскажите пожалуйста, какую строчку и где закомментировать, чтоб количество товара не минусовалось при оформлении заказа?

Ситуация: в карточках, вместо количества "На складе" нужно было сделать "Мало", "Много", "Звоните".
Реализовал добавлением кода в layout_count_product.php с значением "999" - "Мало".
Но, при заказе, напрмер 54шт., кол-во уменьшается и становится 945 (что и отображается в карточке "На складе:") и моя правка не работает. Вместо "Мало" - цифры.

В данный момент количество на остатках для учёта не важно. Везде установлено "0", "-1" и "999".

Благодарю за внимание и ответ!
Аватара пользователя
OrlovOleg
lvl 4
Сообщения: 42
Зарегистрирован: 04 июн 2019, 16:51

Re: Количество товара текстом "Мало", "Много", "Звоните"

Сообщение OrlovOleg » 08 июл 2019, 14:59

Здравствуйте!
Попробуйте в layout_count_product.php следующим образом изменить содержание тега <span class="count">:

Код: Выделить всё

<span class="count">
    <?php if ($data['count'] === 0 || $data['count'] === '0') : ?>
        <span class="c-product__stock c-product__stock--out">
            <?php echo "Звоните"; ?>
        </span>
    <?php elseif ((int)$data['count']>0): ?>
        <span class="c-product__stock c-product__stock--in" style="background-color: #FFD700;">
            <?php echo "Мало"; ?>          
        </span>
    <?php else : ?>
        <span class="c-product__stock c-product__stock--in count">
            <?php echo "Много"; ?>
        </span>
    <?php endif;?>
</span>
Количество меняется, но текст остается и цифры не появляются.
Аватара пользователя
OKKarl
lvl 4
Сообщения: 45
Зарегистрирован: 04 апр 2016, 22:01

Re: Количество товара текстом "Мало", "Много", "Звоните"

Сообщение OKKarl » 08 июл 2019, 20:53

OrlovOleg писал(а):
08 июл 2019, 14:59
Здравствуйте!
Попробуйте в layout_count_product.php следующим образом изменить содержание тега <span class="count">:

Код: Выделить всё

<span class="count">
    <?php if ($data['count'] === 0 || $data['count'] === '0') : ?>
        <span class="c-product__stock c-product__stock--out">
            <?php echo "Звоните"; ?>
        </span>
    <?php elseif ((int)$data['count']>0): ?>
        <span class="c-product__stock c-product__stock--in" style="background-color: #FFD700;">
            <?php echo "Мало"; ?>          
        </span>
    <?php else : ?>
        <span class="c-product__stock c-product__stock--in count">
            <?php echo "Много"; ?>
        </span>
    <?php endif;?>
</span>
Количество меняется, но текст остается и цифры не появляются.
Олег, благодарю за ответ!
Но, в коде есть "Сообщите, когда будет в наличии...".
Если вставить предложенный вариант кода, то всё рушится, остаётся только фото товара и часть текста.
В данный момент реализовано так:

Код: Выделить всё

 
 <?php $remInfo =  false; 
$style = 'style="display:none; margin-left:0;"';
if (MG::getSetting('printRemInfo') == "true") {
        $message = 'Здравствуйте, меня интересует товар "'.str_replace("'", "&quot;", $data['title']).'" с артикулом "'.$data['code'].'", но его нет в наличии.
        Сообщите, пожалуйста, о поступлении этого товара на склад. ';
        if($data['count'] == '0'){
          $style = 'style="display:block; margin-left:0;"';        
        }
        $remInfo = $data['remInfo'] !='false' ? true : false;
      }?>
<span class="count"> 
<?php if ($data['count'] == 'много' || $data['count'] == -1) : ?>
  <span>  На складе: <span itemprop="availability" class="count"><span class="sign">&#8194;&#10004;</span> Много </span> </span> 
<?php elseif ($data['count'] == 999): ?>
  <span>  На складе: <span itemprop="availability" class="count"><span class="sign">&#8194;&#10004;</span> Мало </span> </span>  
<?php elseif ($data['count']!=0): ?>
  <span>  На складе: <span itemprop="availability" class="label-black count"><?php echo $data['count'].' '.$data['category_unit']; ?></span> </span>
<?php else : ?>
 <span>  На складе: Нет в наличии</span>
  <?php endif;?>
</span>
<?php 
if ($remInfo && MG::get('controller')=="controllers_product"): ?>
 <noindex>
     <span class='rem-info' <?php echo $style ?>>
         Эта продукция изготавливается под заказ!<br/><a class="mg__count_link" rel='nofollow' href='<?php echo SITE."/feedback?message=".$message?>'>
             Узнать сроки &#10148; &#9993;</a>
     </span>
 </noindex>
<?php endif;
У нас производство. Остатки "плавающие". Недостающие позиции изготавливаем в теч. 1час-1день.
Поэтому, нет необходимости в точных числах.
Когда клиенту нужно 10 шт. товара, а в карточке на сайте "Наличие на складе: 5шт.", то клиент может не обратиться с вопросом о недостающих 5шт., а просто уйти с сайта.
Теряем $ на кликах, т.к. крутится РК.

PS Разработчикам: Самый идеальный вариант - выбор опции "число" или "фраза" по остаткам/наличию товара в админке.

Всем добра! ...а нам надежды на решение :)
Ответить