Нужно сделать условие, если товара в наличии нету - вывод кнопки предзаказа, иначе вывод кнопки. Делаю примерно так: <?php if ($quantity <= 0) { ?> <input type="button" value="Предзаказ" id="button-cart" class="button" /> <?php } else { ?> <input type="button" value="Купить" id="button-cart" class="button" /> <?php } ?> но $quantity не правильно
я бы сделал на базе этого расширения http://www.opencart.com/index.php?r...h=cart&filter_license=0&filter_download_id=29
не получается, какие ток способы не пробовал, выводит ошибку Notice: Undefined variable: product in product.tpl on line 209 *пробовал эти http://www.opencart.com/index.php?r...antity&filter_license=0&filter_download_id=29 http://www.opencart.com/index.php?r...o Cart&filter_license=0&filter_download_id=29 http://www.opencart.com/index.php?r...h=cart&filter_license=0&filter_download_id=29
И такое вообще работает (в смысле, вывод по условию)? У вас же HTML c php здесь не связан. Должно быть так: PHP: <?php if ($quantity <= 0) { ?><?php echo '<input type="button" value="Предзаказ" id="button-cart" class="button" />' ?><?php } else { ?><?php echo '<input type="button" value="Купить" id="button-cart" class="button" />' ?><?php } ?> Так в чём проблема? Идёте на строку 209, смотрите, что это за переменная. Идёте в контроллер и смотрите, где она должна быть объявлена. Вообще, в том районе должна быть product_id, может, вы просто стёрли случайно часть имени?
PHP: $this->data['products'][] = array( 'product_id' => $result['product_id'], 'thumb' => $image, 'name' => $result['name'], 'price' => $price, 'special' => $special, 'quantity' => $result['quantity'], 'stock_status'=> $result['stock_status'], 'rating' => $rating, 'reviews' => sprintf($this->language->get('text_reviews'), (int)$result['reviews']), 'href' => $this->url->link('product/product', 'product_id=' . $result['product_id']), ); } --- добавлено: 18 янв 2013 в 21:11 --- PHP: <?php if (&product_id['quantity'] <= 0) { ?>
Получилась какая-то невероятная каша. product_id - это не массив, он на том же уровне, что и quantity, ещё и вместо доллара амперсанд. Должно быть так: PHP: <?php if ($quantity<= 0) { ?> То есть, как и было в первом вашем примере. Если опечаток не было, оно должно было работать. Если б с quantity были проблемы в контроллере, то и ошибка была б там.
Ух какой ужасный гемор с модулем фильтр про... В итоге добился того что хотел(совместимость с модулем предзаказа) в filterpro.tpl PHP: {{if quantity == 0}}<div class="cart">Выводится кнопка Купить</div>{{else}}<div class="cart">Выводится кнопка Предзаказ</div>{{/if}} в filterpro.php найти строки PHP: $result[] = array('product_id' => $product['product_id'], и добавить после PHP: 'quantity' => $product['quantity'], найти строки PHP: $this->data['pds_stock'] = $this->language->get('pds_stock'); $this->data['symbol_right'] = $this->currency->getSymbolRight(); $this->data['symbol_left'] = $this->currency->getSymbolLeft(); и добавить после PHP: $this->language->load('product/preorder'); $this->data['button_preorder_preorder'] = $this->language->get('button_preorder_preorder');