Новости Joomla

0 Пользователей и 1 Гость просматривают эту тему.
  • 38 Ответов
  • 2179 Просмотров
*

stainles

  • Захожу иногда
  • 57
  • 0 / 0
Здравствуйте!
На сайте в карточке товара выводится количество товара цифрами: 0, 1, 10 и т.д.
Если количество 1, 2 или 10 то текст "Нет в наличии" не выводится.
Но кода в админке в конкретном товаре ставить количество = 0 то на сайте в карточке товара одновременно появляется текст "Нет в наличии" и "Количество : 0"
Вопрос: можно сделать так чтоб выводилась только надпись "Нет в наличии" а надпись "Количество : 0" скрывалась?
Может кто то подсказать как это сделать?
Пытался самостоятельно решить задачу но моих знаний для этого не достаточно.
Может есть какой то простой способ сделать чоб надпись "Количество : 0" не выводилось?
Может можно для надписи Количество : 0 (если значение только = 0) как то прописать display:none ?
« Последнее редактирование: 16.12.2018, 22:54:16 от stainles »
*

lexxbry

  • Живу я здесь
  • 2387
  • 67 / 8
Можно в файле шаблона карточки товара
Где у вас идет вывод количества задать условие.
Точнее оно там и так есть. Ведь выводит нет на складе
Просто добавить дисплей нон для блока
SEO-оптимизация,продвижение
Создание и сопровождение сайтов на Joomla
Миграция
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
добавьте в карточке товара в условие
Цитировать
<?php if ($this->config->product_show_qty_stock && $this->product->qty_in_stock > 0){?>
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

stainles

  • Захожу иногда
  • 57
  • 0 / 0
добавьте в карточке товара в условие
так?
        <?php if ($this->config->product_show_qty_stock && $this->product->qty_in_stock > 0){?>
            <div class="qty_in_stock">
                <?php print _JSHOP_QTY_IN_STOCK?>:
                <span id="product_qty">
       <?php print sprintQtyInStock($this->product->qty_in_stock);?></span>
            </div>
        <?php }?>
*

stainles

  • Захожу иногда
  • 57
  • 0 / 0
Можно в файле шаблона карточки товара
Где у вас идет вывод количества задать условие.
Точнее оно там и так есть. Ведь выводит нет на складе
Просто добавить дисплей нон для блока
как не крутил с display:none - не могу правильно сделать. результата нужного нет.
вот этот блок:
          <?php if ($this->config->product_show_qty_stock){?>
            <div class = "not_available" id="not_available"><?php print $this->available?></div>
        <?php }?>

        <?php if ($this->config->product_show_qty_stock){?>
            <div class="qty_in_stock">
                <?php print _JSHOP_QTY_IN_STOCK?>:
                <span id="product_qty">
<?php print sprintQtyInStock($this->product->qty_in_stock);?></span>
            </div>
        <?php }?>

хотел на примере этого блока сделат:
<div class="old_price" <?php if ($this->product->product_old_price == 0){?>style="display:none"<?php }?>>
         <?php print _JSHOP_OLD_PRICE?>:
         <span class="old_price" id="old_price">
            <?php print formatprice($this->product->product_old_price)?>
            <?php print $this->product->_tmp_var_old_price_ext;?>
         </span>
      </div>

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

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

stainles

  • Захожу иногда
  • 57
  • 0 / 0
да
Спасибо.
Сделал так как Вы посоветовали но не помогло.
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
значит видимо не там сделали, шаблон другой, или переопределен в шаблоне Joomla
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

stainles

  • Захожу иногда
  • 57
  • 0 / 0
значит видимо не там сделали, шаблон другой, или переопределен в шаблоне Joomla
делал в components/com_jshopping/templates/default/product/product_default.php :
блок: 
      <?php if ($this->config->product_show_qty_stock){?>
            <div class = "not_available" id="not_available"><?php print $this->available?></div>
        <?php }?>

        <?php if ($this->config->product_show_qty_stock && $this->product->qty_in_stock > 0){?>
            <div class="qty_in_stock">
                <?php print _JSHOP_QTY_IN_STOCK?>:
                <span id="product_qty">
       <?php print sprintQtyInStock($this->product->qty_in_stock);?></span>
            </div>
        <?php }?>


шаблон не другой
переопределения в шаблоне Joomla НЕТ. проверил
*

kit2m2

  • Живу я здесь
  • 3269
  • 268 / 0
  • Беру сайты на полное сопровождение
Расширения для JoomShopping | Расширения на заказ | Сайты и магазины под ключ: Дизайн, Верстка, Программирование, СЕО-оптимизация, Сопровождение, Перенос на Joomla 4+ и JoomShopping 5+
*

lexxbry

  • Живу я здесь
  • 2387
  • 67 / 8
@kit2m2
У ТС задача малость другая
у него выводится надпись что товара нет в наличии
и ниже надпись "количество на складе 0"

вот эту надпись что 0 на складе ему и надо скрыть
SEO-оптимизация,продвижение
Создание и сопровождение сайтов на Joomla
Миграция
*

kit2m2

  • Живу я здесь
  • 3269
  • 268 / 0
  • Беру сайты на полное сопровождение
В чем проблема? Взять плагин и сделать по аналогии... Условие то одно.
Расширения для JoomShopping | Расширения на заказ | Сайты и магазины под ключ: Дизайн, Верстка, Программирование, СЕО-оптимизация, Сопровождение, Перенос на Joomla 4+ и JoomShopping 5+
*

lexxbry

  • Живу я здесь
  • 2387
  • 67 / 8
да смысл там от плагина?
там 2 строчки кода в карточку добавить
SEO-оптимизация,продвижение
Создание и сопровождение сайтов на Joomla
Миграция
*

stainles

  • Захожу иногда
  • 57
  • 0 / 0
Есть у кого еще какие идеи?
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Код
<?php if ($this->config->product_show_qty_stock && $this->product->qty_in_stock['qty'] > 0){?>
вот так попробуйте
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

stainles

  • Захожу иногда
  • 57
  • 0 / 0
Код
<?php if ($this->config->product_show_qty_stock && $this->product->qty_in_stock['qty'] > 0){?>
вот так попробуйте
Надпись "Количество : 0" пропала у товаров с числом 0. Осталась надпись "Нет в наличии".
Но надпись "Количество : 1" или "Количество : 2" и т.д. - в товаров с количеством больше 0 тоже пропала.
Эх! Почти в цель...
Печалька....
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
а сделайте
Код
<?php var_dump($this->product->qty_in_stock); ?>
и покажите что выведет когда количество 0 и когда не 0
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

stainles

  • Захожу иногда
  • 57
  • 0 / 0
dmitry_stas Вы молодец!

а я ло..ра провтыкал....
вот это ваше правильное решение: <?php if ($this->config->product_show_qty_stock && $this->product->qty_in_stock > 0){?>

я же был уже так в этом коде заеб..ся что допустил ряд ошибок:
в верхнем блоке вместо:
<?php if (!$this->config->hide_text_product_not_available){ ?>
влепил
<?php if ($this->config->product_show_qty_stock){?>

потом пересмотрел родную версию файла product_default.php - подставил ваше решение и все стало как надо.
 вот выкладываю рабочий код:
<?php if (!$this->config->hide_text_product_not_available){ ?>
            <div class = "not_available" id="not_available"><?php print $this->available?></div>
        <?php }?>

        <?php if ($this->config->product_show_qty_stock && $this->product->qty_in_stock['qty'] > 0){?>
            <div class="qty_in_stock">
                <?php print _JSHOP_QTY_IN_STOCK?>:
                <span id="product_qty"><?php print sprintQtyInStock($this->product->qty_in_stock);?></span>
            </div>
        <?php }?>

Спасибо Вам. Извините что морочил голову.
*

stainles

  • Захожу иногда
  • 57
  • 0 / 0
Теперь и микроразметка availability для товаров правильная стала...
Спасибо dmitry_stas еще раз! :D
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

stainles

  • Захожу иногда
  • 57
  • 0 / 0
Здравствуйте многоуважаемые форумчане!
Опять решил обратится к вам за помощью.
Раньше мне помогли (dmitry_stas) в карточке товара убрать надпись "Количество : 0" если выводилась надпись "Нет в наличии"
Вот этот код: <?php if ($this->config->product_show_qty_stock && $this->product->qty_in_stock['qty'] > 0){?>

Теперь пытаюсь самостоятельно реализовать то же самое в категории товаров: убрать надпись "Количество : 0" если выводится надпись "Нет в наличии".

Вот кусок код из /components/com_jshopping/templates/default/list_products/product.php:

<?php if ($product->product_quantity <=0 && !$this->config->hide_text_product_not_available){?>
            <div class="not_available"><?php print _JSHOP_PRODUCT_NOT_AVAILABLE;?></div>
        <?php }?>

<?php if ($this->config->product_list_show_qty_stock){?>
            <div class="qty_in_stock">
                <?php print _JSHOP_QTY_IN_STOCK?>:
                <span></span>
            </div>
        <?php }?>


Иду по такому же пути как предложил для карточки товара dmitry_stas:
<?php if ($this->config->product_show_qty_stock && $this->product->qty_in_stock['qty'] > 0){?> - для карточки товара

<?php if ($this->config->product_list_show_qty_stock && $this->product->qty_in_stock['qty'] > 0){?> - для списка товаров. Но при таком варианте отображается только надпись "Нет в наличии" а надрись "Количество : 0" или "Количество : 2" и т.д. не отображаются.

Может кто то разъяснить что не так и как надо правильно?
*

kit2m2

  • Живу я здесь
  • 3269
  • 268 / 0
  • Беру сайты на полное сопровождение
Совет: в посте код оборачивайте тегами "код" вот так:
Код
<?php if ($product->product_quantity <=0 && !$this->config->hide_text_product_not_available){?>
            <div class="not_available"><?php print _JSHOP_PRODUCT_NOT_AVAILABLE;?></div>
        <?php }?>

<?php if ($this->config->product_list_show_qty_stock){?>
            <div class="qty_in_stock">
                <?php print _JSHOP_QTY_IN_STOCK?>:
                <span></span>
            </div>
        <?php }?>
Расширения для JoomShopping | Расширения на заказ | Сайты и магазины под ключ: Дизайн, Верстка, Программирование, СЕО-оптимизация, Сопровождение, Перенос на Joomla 4+ и JoomShopping 5+
*

stainles

  • Захожу иногда
  • 57
  • 0 / 0
*

kit2m2

  • Живу я здесь
  • 3269
  • 268 / 0
  • Беру сайты на полное сопровождение
Вот так будет работать, скроет количество = 0
Код
<?php if ($product->product_quantity <=0 && !$this->config->hide_text_product_not_available){?>
            <div class="not_available"><?php print _JSHOP_PRODUCT_NOT_AVAILABLE;?></div>
        <?php }?>

<?php if ($this->config->product_list_show_qty_stock && $product->product_quantity < 0){?>
            <div class="qty_in_stock">
                <?php print _JSHOP_QTY_IN_STOCK?>:
                <span></span>
            </div>
        <?php }?>
Расширения для JoomShopping | Расширения на заказ | Сайты и магазины под ключ: Дизайн, Верстка, Программирование, СЕО-оптимизация, Сопровождение, Перенос на Joomla 4+ и JoomShopping 5+
*

stainles

  • Захожу иногда
  • 57
  • 0 / 0
Вот так будет работать, скроет количество = 0
Код
<?php if ($product->product_quantity <=0 && !$this->config->hide_text_product_not_available){?>
            <div class="not_available"><?php print _JSHOP_PRODUCT_NOT_AVAILABLE;?></div>
        <?php }?>

<?php if ($this->config->product_list_show_qty_stock && $product->product_quantity < 0){?>
            <div class="qty_in_stock">
                <?php print _JSHOP_QTY_IN_STOCK?>:
                <span></span>
            </div>
        <?php }?>

так скрывает но любое количество: и 0 и 1 и т.д.

Извиняюсь, я дал код не полностью между <span> и </span>
Код
<span><?php print sprintQtyInStock($product->qty_in_stock)?></span>
вот полностью нижня часть кода:
Код
       <?php if ($this->config->product_list_show_qty_stock){?>
            <div class="qty_in_stock">
                <?php print _JSHOP_QTY_IN_STOCK?>:
                <span><?php print sprintQtyInStock($product->qty_in_stock)?></span>
            </div>
        <?php }?>
« Последнее редактирование: 27.12.2018, 15:11:37 от stainles »
*

nevigen

  • Moderator
  • 10436
  • 863 / 25
  • http://n*****n.com
if ($product->buy_link)
не ?
Профессиональные / Бесплатные решения для JoomShopping
Не лечи бесплатно, ибо тот, кто лечится бесплатно, рано или поздно перестает ценить свое здоровье,
а тот, кто лечит бесплатно, рано или поздно перестает ценить результаты своего труда/ (с) Гиппократ?
Не ищите ответов, ищите решение !
*

kit2m2

  • Живу я здесь
  • 3269
  • 268 / 0
  • Беру сайты на полное сопровождение
Тогда так
Код
<?php if ($product->product_quantity <=0 && !$this->config->hide_text_product_not_available){?>
            <div class="not_available"><?php print _JSHOP_PRODUCT_NOT_AVAILABLE;?></div>
        <?php }?>

<?php if ($this->config->product_list_show_qty_stock && $product->product_quantity != 0){?>
            <div class="qty_in_stock">
                <?php print _JSHOP_QTY_IN_STOCK?>:
                <span><?php print sprintQtyInStock($product->qty_in_stock)?></span>
            </div>
        <?php }?>
Расширения для JoomShopping | Расширения на заказ | Сайты и магазины под ключ: Дизайн, Верстка, Программирование, СЕО-оптимизация, Сопровождение, Перенос на Joomla 4+ и JoomShopping 5+
*

stainles

  • Захожу иногда
  • 57
  • 0 / 0
if ($product->buy_link)
if ($product->buy_link) не ?
тоже скрывает любое количество: и 0 и 1
*

stainles

  • Захожу иногда
  • 57
  • 0 / 0
Тогда так
Код
<?php if ($product->product_quantity <=0 && !$this->config->hide_text_product_not_available){?>
            <div class="not_available"><?php print _JSHOP_PRODUCT_NOT_AVAILABLE;?></div>
        <?php }?>

<?php if ($this->config->product_list_show_qty_stock && $product->product_quantity != 0){?>
            <div class="qty_in_stock">
                <?php print _JSHOP_QTY_IN_STOCK?>:
                <span><?php print sprintQtyInStock($product->qty_in_stock)?></span>
            </div>
        <?php }?>


ВАУ!
Так помогло! То что нужно.
Спасибо ОГРОМНОЕ!
*

sergkir

  • Новичок
  • 4
  • 0 / 0
Здравствуйте форумчане!
Может кто то подсказать как в этом коде правильно прописать микро разметку OutOfStock и InStock в зависимости от значения.
А то получается если товара нет в наличии то Google видна только ссылка availability  http://schema.org/OutOfStock . А если товар есть в наличии то Google (инструмент проверки структурированных данных) видит обе ссылки одновременно: и http://schema.org/InStock и  http://schema.org/OutOfStock.
Код
<?php if (!$this->config->hide_text_product_not_available){ ?>
            <div class = "not_available" id="not_available"><link itemprop="availability" href="http://schema.org/OutOfStock" /><?php print $this->available?></div>
        <?php }?>

        <?php if ($this->config->product_show_qty_stock && $this->product->qty_in_stock['qty'] > 0){?>
            <div class="qty_in_stock">
                <?php print _JSHOP_QTY_IN_STOCK?>:
                <span id="product_qty"><link itemprop="availability" href="https://schema.org/InStock" /><?php print sprintQtyInStock($this->product->qty_in_stock);?></span>
            </div>
        <?php }?>
ВОПРОС: как скрыть ссылку <link itemprop="availability" href="http://schema.org/OutOfStock" /> когда значение товара = есть в наличии? Текст "нет в наличии" скрывается, а вот ссылка OutOfStock нет.
Может кто то подсказать как правильно реализовать?
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться