Перейти к содержанию
Vitaly2

Вывести наличие товара в категориях, модулях и прочих...

Рекомендуемые сообщения

Подскажите, пожалуйста, как можно вывести строку с наличием товара в категории и модули, которая отображается в карточке товара?

пример:

вот так отображается в карточке товара:

 

iH9jld.png

 

надо что бы это было и тут:

 

LQhvvt.jpg

 

сайт tutdarom.ru

Изменено пользователем Vitaly2

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

никто не знает?

или никто не хочет подсказать за бесплатно? )

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Здесь любой доброжелатель,который захочет помочь,запросто обяжет себя  "за спасибо" ,выполнить ещё и адаптацию под шаблон/фильтр/модули шаблона.Видимо в этом и причина молчания.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

да мне не нужна адаптация.. я вижу что есть кусок кода в product.tpl который отвечает за вывод количества товара в карточке товара

<div class="stock">
        <?php if ($show_stock) { ?><span><?php echo $text_stock; ?></span> <?php echo $stock; ?><?php } ?>

</div>

 

если я его воткну в category.tpl в нужное место, то там вместо вывода остатков он выдает ошибку, которая ссылается на этот код...

как это исправить не могу понять..

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Это начало этой истории.Если есть желание то нужно ещё править контроллеры .Для категории например category.php

 

Дальше уже сам.

  • +1 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Спасибо, добрый Том! ))

Пробовал так же сделать и с куском кода с product.php воткнуть в category.php... но что-то видимо не так сделал... ошибка как была так и осталась...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Спасибо, добрый Том! ))

Пробовал так же сделать и с куском кода с product.php воткнуть в category.php... но что-то видимо не так сделал... ошибка как была так и осталась...

 

В контроллер category.php нужно добавить не точно такой код, как в product.php

В category.php перед $data['products'][] = array( вставить

if ($result['quantity'] <= 0) {
	$data['stock'] = $result['stock_status'];
} elseif ($this->config->get('config_stock_display')) {
	$data['stock'] = $result['quantity'];
} else {
	$data['stock'] = $this->language->get('text_instock');
}

А после 'price'       => $price, добавить

'stock'	=> $data['stock'],

В файле catalog/view/theme/default/template/product/category.tpl в нужном месте вставить

<?php echo $product['stock']; ?>

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

 

В контроллер category.php нужно добавить не точно такой код, как в product.php

В category.php перед $data['products'][] = array( вставить

if ($result['quantity'] <= 0) {
	$data['stock'] = $result['stock_status'];
} elseif ($this->config->get('config_stock_display')) {
	$data['stock'] = $result['quantity'];
} else {
	$data['stock'] = $this->language->get('text_instock');
}

А после 'price'       => $price, добавить

'stock'	=> $data['stock'],

В файле catalog/view/theme/default/template/product/category.tpl в нужном месте вставить

<?php echo $product['stock']; ?>

 

 

уже пробовал так вчера...

говорит неопределенная переменная...

 

Notice: Undefined variable: product_info in /home/vidge/domains/tutdarom.ru/public_html/system/storage/modification/catalog/controller/product/category.php on line 180Notice: Undefined variable: product_info in /home/vidge/domains/tutdarom.ru/public_html/system/storage/modification/catalog/controller/product/category.php on line 181

 

180-    $data['stock'] = $result['quantity'];

181-    } else {

Изменено пользователем Vitaly2

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Посмотрите внимательно код.  product_info используется в контроллере карточки товара, а в контроллере категории $result. Вот этот кусок кода точно такой?

if ($result['quantity'] <= 0) {
	$data['stock'] = $result['stock_status'];
} elseif ($this->config->get('config_stock_display')) {
	$data['stock'] = $result['quantity'];
} else {
	$data['stock'] = $this->language->get('text_instock');
}

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вы код вставили не в то место

Нужно внутри цикла набора массива products

И не забывайте обновлять модификаторы после каждой правки в файлах

Изменено пользователем thentru
  • +1 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вы код вставили не в то место

Нужно внутри цикла набора массива products

И не забывайте обновлять модификаторы после каждой правки в файлах

 

эммм.. если я этот код помещю внутрь цикла, о вообще белая пустая страница...

 

так что ли?

 

2016092015_1265678_23357724.png

 

просто пустая страница в таком случае...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Перед набором массива

$data['products'][] = array(
  'product_id'  => $result['product_id'],
  ...
);

вставляете вашу проверку

if ($result['quantity'] <= 0) {
  ...
}

причем в в этой проверке вам нужно записать данные в переменную, а не в массив data

$stock = $result['stock_status'];

и после эту переменную добавить в массив products

$data['products'][] = array(
  'stock' => $stock,
  'product_id'  => $result['product_id'],
  ...
);
  • +1 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Спасибо!!

Всё получилось!

Только всё же с data заработало... без data белый экран...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Спасибо!!

Всё получилось!

Только всё же с data заработало... без data белый экран...

 

data['stock'] будет применяться ко всем товарам

это не совсем верно

  • +1 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

data['stock'] будет применяться ко всем товарам

это не совсем верно

))) да.. при добавлении нового товара, количество в категориях не соответствует количеству в карточке товара..

получается во всей проверке надо убрать data?

Изменено пользователем Vitaly2

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Давно не заглядывал...Но количество постов вопрос/ответ ожидаемо...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Давно не заглядывал...Но количество постов вопрос/ответ ожидаемо...

 

не трольте меня.. ))

 

 

data['stock'] будет применяться ко всем товарам

это не совсем верно

 

но если я уберу data, то что же тогда прописать в tpl?

 

оставил так

 

2016092019_3352950_23360849.png

 

и в tpl такой код

<?php echo $stock; ?>

 

и получаю ошибку что переменная не определена..

Notice: Undefined variable: stock in /home/vidge/domains/tutdarom.ru/public_html/catalog/view/theme/fastfood/template/product/category.tpl on line 158

 

 

ой блин.. извиняюсь.. это я тупанул..

надо ж было так в тпл написать

<?php echo $product['stock']; ?>

 

всё заработало вобщем!

Спасибо ещё раз добрые люди!!

Изменено пользователем Vitaly2

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Похожий контент

    • От lletol
      Скачать/Купить дополнение


      Product status extended
       Данный модуль расширяет возможности статусов "Состояние склада".
      Что же может модуль:
      1 - сортировка товаров по состоянию на складе (например дает возможно товары которых нет в наличии отображать в конце списка, ну или сели вам захочется то можно и в начале)
      2 - так как поисковики не любят когда страницы пропадают (например товар снят с производства, зачем его показывать в списке товаров, если купить уже нельзя), Вы можете поместить товар в "Архив". При этом страничка товара будет оставаться доступной по прямой ссылке, но в каталоге и модулях этот товар уже не будет отображаться.
      3 - запрет положить товар в корзину (например товара нет в наличии, вы можете по этому статусу блокировать кнопку купить)
       
      Установка модуля:
      Скачать и распаковать архив, через "Установщик дополнений OCMOD" загрузить файлы bhm_pse-v0_3.ocmod.zip (непосредственно сам модуль) и theme.ocmod.xml (модификатор темы).
      Зайти в "Модули" и включить "Product status extended (ByHelp Modules)"
       
      Модуль не заменяет файлы OC!
       
      Примечание!
      При обращении в тему поддержки, указывайте:
      версию модуля которую Вы устанавливали; версию ЦМС; какой шаблон используется. Добавил lletol Добавлено 03.10.2018 Категория Модули Системные требования Сайт разработчика Старая цена Метод активации Без активации Ioncube Loader Нет OpenCart 2.3
      2.1 ocStore 2.3
      2.1 OpenCart.Pro, ocShop  
    • От lletol
      Данный модуль расширяет возможности статусов "Состояние склада".
      Что же может модуль:
      1 - сортировка товаров по состоянию на складе (например дает возможно товары которых нет в наличии отображать в конце списка, ну или сели вам захочется то можно и в начале)
      2 - так как поисковики не любят когда страницы пропадают (например товар снят с производства, зачем его показывать в списке товаров, если купить уже нельзя), Вы можете поместить товар в "Архив". При этом страничка товара будет оставаться доступной по прямой ссылке, но в каталоге и модулях этот товар уже не будет отображаться.
      3 - запрет положить товар в корзину (например товара нет в наличии, вы можете по этому статусу блокировать кнопку купить)
       
      Установка модуля:
      Скачать и распаковать архив, через "Установщик дополнений OCMOD" загрузить файлы bhm_pse-v0_3.ocmod.zip (непосредственно сам модуль) и theme.ocmod.xml (модификатор темы).
      Зайти в "Модули" и включить "Product status extended (ByHelp Modules)"
       
      Модуль не заменяет файлы OC!
       
      Примечание!
      При обращении в тему поддержки, указывайте:
      версию модуля которую Вы устанавливали; версию ЦМС; какой шаблон используется.
    • От Rammstein91
      Скачать/Купить дополнение


      Индикаторы количества товаров [VQMod]
      Модуль «Индикаторы количества товаров [VQMod]» для OpenCart 1.5.1+
      Этот модуль заменяет стандартное текстовое поле Наличие на графическое отображение в карточке товара.
      Использует VQMod.
      УСТАНОВКА:
      1. Распаковать архив.
      2. Cодержимое папки «upload» скопировать в корень сайта.
      ДЕМО:
      Демо сайт: http://dothesite.ru/opencart-module/index.php?route=product/product&path=5&product_id=123
      ПОДДЕРЖКА:
      По общим вопросам - Андрей Лежнетев - http://dothesite.ru
      Добавил Rammstein91 Добавлено 08.04.2016 Категория Модули Системные требования vqmod Сайт разработчика http://dothesite.ru/ Старая цена Метод активации Ioncube Loader OpenCart ocStore OpenCart.Pro, ocShop  
    • От snsnsm
      Добрый день! Подкажите пожалуйста, как добавить в карточку товара статус "в наличии", "под заказ", "нет в наличии".
      Прикладываю фото. Сейчас так, нужна строка "наличие"

    • От Evgenia79
      Здравствуйте!
      Либо я не могу его найти или смотрю не там.
       
      Нужен модуль, который будет менять внешний вид товара со статусом "нет в наличии"
       
      либо кнопку "купить" убрать или ее поменять на "написать".
       
      либо товар в общем списке как-то отличался от тех, которые есть в наличии.
       
      сейчас находясь на странице, где список всех товаров - не понятно, что есть, чего нет. "Наличие" видно, если зайдешь в карточку товара.
      Хочется как-то в общем списке обозначить то, чего нет.
       
      И еще лучше что-бы было "под заказ" 
      "нет в наличии"
      "в наличии"
       
      Может уже есть решения?
  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.