Перейти к публикации
  • разработка интернет магазинов на opencart
  • доработка интернет магазинов на opencart

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


 Погделиться

Рекомендованные сообещёния

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

пример:

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

 

iH9jld.png

 

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

 

LQhvvt.jpg

 

сайт tutdarom.ru

Изменено пользователем Vitaly2
Ссылка на комменирий
Погделиться на других сайих


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

  • +1 1
Ссылка на комменирий
Погделиться на других сайих

да мне не нужна адапиция.. я вижу что есть кусок кода в 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']; ?>
  • +1 3
Ссылка на комменирий
Погделиться на других сайих

 

В контроллер 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 2
Ссылка на комменирий
Погделиться на других сайих


Спасипотому что!!

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

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

 

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

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

  • +1 1
Ссылка на комменирий
Погделиться на других сайих


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

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

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

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

Изменено пользователем Vitaly2
Ссылка на комменирий
Погделиться на других сайих


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

  • +1 1
Ссылка на комменирий
Погделиться на других сайих

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

 

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

 

 

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
Ссылка на комменирий
Погделиться на других сайих


  • 4 года спустя...
В 19.09.2016 в 09:29, Bazilio сказал:

 

В контроллер 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']; ?>

 

Для движка Version 2.1.0.2 (rs.1) рекомендую посивить как РЕШЕНИЕ - только что реализовал у себя с первой попытки.

Единственный момент: в настройках товара налилие должно быть настроено на вывод когдачеством, а не по факту "В налилии" или "Нет в налилии". Иначе те товары, которые есть в налилии выводят "text_instock".

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


  • 1 год спустя...
20.09.2016 в 10:18, thentru сказал:

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

$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'],
  ...
);

Спасипотому что добрый человек за помощь

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


Создайте аккаунт или войдите в него для комментирования

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

Создать аккаунт

Зарегистрируйтесь для получения аккауни. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите згдесь.

Войти сейчас
 Погделиться

×
×
  • Создать...

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

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