Всем доброго времени суток! Может кто то сталкивался с такой проблемой... Хочется чтобы если у товара количество 0, то кнопка "купить" менялась бы на "под заказ". Может модуль какой нибудь есть или небольшой допил. Буду рад любой помощи. Спасибо.
А если сделать просто что бы менялась кнопка (Заказать и цвет другой) и товар уходил в корзину. Модуль попробовал но хочется что бы всё через корзину шло.
template/product.tpl PHP: <?if((int)$quantity!=0):?> <input type="button" value="<?php echo $button_cart; ?>" id="button-cart" class="button" /><?else:?> <input type="button" value="<?php echo $button_predzakaz; ?>" id="button-cart" class="button" /><?endif?> controller/product.php PHP: //добавить строку$this->data['button_predzakaz'] = $this->language->get('button_predzakaz');//добавить строку $this->data['products'][] = array( 'product_id' => $result['product_id'], 'thumb' => $image, 'name' => $result['name'], 'price' => $price, 'special' => $special, 'rating' => $rating, 'reviews' => sprintf($this->language->get('text_reviews'), (int)$result['reviews']), 'href' => $this->url->link('product/product', 'product_id=' . $result['product_id']),//добавить строку 'quantity' => $result['quantity']//добавить строку ); } language/product.php PHP: $_['button_predzakaz'] = 'Предзаказ';
vivivor, А можно подробней, после каких строк добавлять ваши??? и у меня файлы лежат в таких папках.. controller/product/product.php и т.д.
PHP: //найти$this->data['entry_captcha'] = $this->language->get('entry_captcha');//после нее добавить$this->data['button_predzakaz'] = $this->language->get('button_predzakaz'); в остальном все понятно
VqMod допил по всем модулям для default темы. Если на складе >0 выводит кнопку "купить" иначе выводит кнопку "предзаказ". Товар всегда уходит в корзину.
Ребята help! Сборка макстор 1.5.4.1 Ошибка такого характера Notice: Undefined variable: quantity in ...\template\product\product.tpl on line 239 Код: Код: <?if((int)$quantity!=0):?>
эту строку добавил? PHP: $this->data['products'][] = array( 'product_id' => $result['product_id'], 'thumb' => $image, 'name' => $result['name'], 'price' => $price, 'special' => $special, 'rating' => $rating, 'reviews' => sprintf($this->language->get('text_reviews'), (int)$result['reviews']), 'href' => $this->url->link('product/product', 'product_id=' . $result['product_id']),//добавить строку 'quantity' => $result['quantity']//добавить строку ); }
Да в файле catalog\controller\product\product.php Код: $this->data['products'][] = array( 'product_id' => $result['product_id'], 'thumb' => $image, 'name' => $result['name'], 'price' => $price, 'special' => $special, 'percent' => round((($result['price'] - $result['special'])/$result['price'])*100, 0), 'rating' => $rating, 'reviews' => sprintf($this->language->get('text_reviews'), (int)$result['reviews']), 'href' => $this->url->link('product/product', 'product_id=' . $result['product_id']), 'quantity' => $result['quantity'] ); } Почему то не нравится условие как я понимаю...
На счет quantity в файле catalog\controller\product\product.php у меня еще что-то есть)) но это вроде было уже перед строкой PHP: $this->load->model('tool/image'); стоит PHP: if ($product_info['quantity'] <= 0) { $this->data['stock'] = $product_info['stock_status']; $this->data['quantity'] = 0; } elseif ($this->config->get('config_stock_display')) { $this->data['stock'] = $product_info['quantity']; $this->data['quantity'] = 1; } else { $this->data['stock'] = $this->language->get('text_instock'); $this->data['quantity'] = 1; }
Вот после этого ошибка исчезла, но не работает кнопка "Предзаказ"...Кнопка "Купить" работает. Подскажите куда копать? Функционал нужен такой же как у кнопки "Купить"
это должно работать Код: <?if((int)$quantity!=0):?> <input type="button" value="<?php echo $button_cart; ?>" id="button-cart" class="button" /> <?else:?> <input type="button" value="<?php echo $button_predzakaz; ?>" id="button-cart" class="button" /> <?endif?> во втором инпуте меняется только название кнопки language/product.php PHP: $_['button_predzakaz'] = 'Предзаказ';
Всем спасибо огромное, разобрался ! А теперь по порядку: 1. \catalog\controller\product\product.php PHP: Находим: $this->data['button_cart'] = $this->language->get('button_cart'); после этого добавляем: $this->data['button_predzakaz'] = $this->language->get('button_predzakaz'); находим: if ($product_info['quantity'] <= 0) {$this->data['stock'] = $product_info['stock_status'];} elseif ($this->config->get('config_stock_display')) {$this->data['stock'] = $product_info['quantity'];} else {$this->data['stock'] = $this->language->get('text_instock');} меняем на: if ($product_info['quantity'] <= 0) {$this->data['stock'] = $product_info['stock_status'];$this->data['quantity'] = 0;} elseif ($this->config->get('config_stock_display')) {$this->data['stock'] = $product_info['quantity'];$this->data['quantity'] = 1;} else {$this->data['stock'] = $this->language->get('text_instock');$this->data['quantity'] = 1;} 2.\catalog\view\theme\ваша_тема\template\product\product.tpl PHP: находим: <div class="cart"><div><?php echo $text_qty; ?><input type="text" name="quantity" size="2" value="<?php echo $minimum; ?>" /><input type="hidden" name="product_id" size="2" value="<?php echo $product_id; ?>" /> <input type="button" value="<?php echo $button_cart; ?>" id="button-cart" class="button" /></div> меняем на: <div class="cart"><div><?php echo $text_qty; ?><?if((int)$quantity!=0):?><input type="text" name="quantity" size="2" value="<?php echo $minimum; ?>" /><input type="hidden" name="product_id" size="2" value="<?php echo $product_id; ?>" /> <input type="button" value="<?php echo $button_cart; ?>" id="button-cart" class="button" /><?else:?><input type="hidden" name="product_id" size="2" value="<?php echo $product_id; ?>" /><input type="button" value="<?php echo $button_predzakaz; ?>" id="button-cart" class="button" /><?endif?></div> 3.\catalog\language\russian\product\product.php Добавляем вниз: PHP: // Button$_['button_predzakaz'] = 'Предзаказ';
Сделал как тут описано. Надпись меняется над "Предзаказ", только когда выбираешь товар и его просматриваешь. Подскажите где нужно добавить, что бы надпись менялась и на главной странице в модулях, а так же в категории когда выбираешь группу товаров(там выходит список товара в этой группе, там тоже остается кнопка "Купить") Пробовал в (/home/nskrgs/public_html/catalog/view/theme/otp771/template/module/latest.tpl) строку <div class="cart"><input type="button" value="<?php echo $button_cart; ?>" onclick="addToCart('<?php echo $product['product_id']; ?>');" class="button" /></div> исправить на <div class="cart"><?if((int)$quantity!=0):?><input type="button" value="<?php echo $button_cart; ?>" onclick="addToCart('<?php echo $product['product_id']; ?>');" class="button" /><?else:?><input type="button" value="<?php echo $button_predzakaz; ?>" id="button-cart" class="button" /><?endif?></div> жалуется на quantity подскажите что нужно делать и где? Не совсем понял как это работает, если не сложно разжуйте. Что сделал - создал текстовый файл закинул все в него, сменил разрешение на xml, закинул сюда public_html/vqmod/xml, vqmod не распознает, сильно не ругайте не совсем понимаю что нужно сделать.