Пошук по сайту
Результати пошуку за тегами 'getproducts'.
Знайдено 5 результатов
-
И так я получил related товары public function getProductRelated($product_id) { $product_data = array(); $query = $this->db->query("SELECT * FROM " . DB_PREFIX . "product_related pr LEFT JOIN " . DB_PREFIX . "product p ON (pr.related_id = p.product_id) LEFT JOIN " . DB_PREFIX . "product_to_store p2s ON (p.product_id = p2s.product_id) WHERE pr.product_id = '" . (int)$product_id . "' AND p.status = '1' AND p.date_available <= '" . $this->NOW . "' AND p2s.store_id = '" . (int)$this->config->get('config_store_id') . "'"); foreach ($query->rows as $result) { if( $product_id != $result['related_id'] )$product_data[$result['related_id']] = $this->getProduct($result['related_id']); } return $product_data; } теперь полученные id related нужно отправить в поиск как это сделать ума не приложу !
-
Подскажите как правильно изменить запрос к БД добавив одно условиеЕсть вот что: public function getProducts($data = array()) { $sql = "SELECT p.product_id, (SELECT AVG(rating) AS total FROM " . DB_PREFIX . "review r1 WHERE r1.product_id = p.product_id AND r1.status = '1' GROUP BY r1.product_id) AS rating, (SELECT price FROM " . DB_PREFIX . "product_discount pd2 WHERE pd2.product_id = p.product_id AND pd2.customer_group_id = '" . (int)$this->config->get('config_customer_group_id') . "' AND pd2.quantity = '1' AND ((pd2.date_start = '0000-00-00' OR pd2.date_start < NOW()) AND (pd2.date_end = '0000-00-00' OR pd2.date_end > NOW())) ORDER BY pd2.priority ASC, pd2.price ASC LIMIT 1) AS discount, (SELECT price FROM " . DB_PREFIX . "product_special ps WHERE ps.product_id = p.product_id AND ps.customer_group_id = '" . (int)$this->config->get('config_customer_group_id') . "' AND ((ps.date_start = '0000-00-00' OR ps.date_start < NOW()) AND (ps.date_end = '0000-00-00' OR ps.date_end > NOW())) ORDER BY ps.priority ASC, ps.price ASC LIMIT 1) AS special"; Нужно добавить условие, отбирать те ID у которых isbn = 1 Проверил такой запрос напрямую в mysql, он дает нужный мне результат: SELECT product_id FROM oc_product WHERE isbn = '1' Пробовал заменить строчку существующего кода на свой: SELECT p.product_id, заменил на SELECT product_id FROM " . DB_PREFIX . "product WHERE isbn = '1', Еще вот так подставлял. Общем разные варианты пробовал..... "SELECT p.product_id FROM " . DB_PREFIX . "product p WHERE isbn = '1', И у меня ничего хорошего с этого не вышло. Понимаю что знаний не хватает, прошу помощи.
-
ранее доставались только имеющиеся товары $products = $this->model_catalog_product->getProducts(array('start' => 0, 'available' => 1, 'limit' => 1000000)); и выводились на екран if ($product['quantity']) { $output .= '<stock>' . $this->language->get('text_in_stock') . '</stock>'; } else { $output .= '<stock>' . $this->language->get('text_out_of_stock') . '</stock>'; } я хочу изменить на то, чтобы доставать все товары и в зависимости от того нет ли есть выводить в прайс нужное мне сообщение. сделал так $products = $this->model_catalog_product->getProducts(); вывожу так // if ($product ['status'] != 1 ) { // $output .= '<stock>' . $this->language->get('text_in_stock') . '</stock>'; // } else { // $output .= '<stock days="10" >' . $this->language->get('text_out_of_stock') . '</stock>'; // } if ($product ['stock_status'] !='Нет в наличии') { $output .= '<stock>' . $this->language->get('text_in_stock') . '</stock>'; } else { $output .= '<stock days="10" >' . $this->language->get('text_out_of_stock') . '</stock>'; } при обоих вариантах выдает ошибку This page contains the following errors: error on line 6209 at column 80109: StartTag: invalid element name Below is a rendering of the page up to the first error.
-
ранее доставались только имеющиеся товары $products = $this->model_catalog_product->getProducts(array('start' => 0, 'available' => 1, 'limit' => 1000000)); и выводились на екран if ($product['quantity']) { $output .= '<stock>' . $this->language->get('text_in_stock') . '</stock>'; } else { $output .= '<stock>' . $this->language->get('text_out_of_stock') . '</stock>'; } я хочу изменить на то, чтобы доставать все товары и в зависимости от того нет ли есть выводить в прайс нужное мне сообщение. сделал так $products = $this->model_catalog_product->getProducts(); вывожу так // if ($product ['status'] != 1 ) { // $output .= '<stock>' . $this->language->get('text_in_stock') . '</stock>'; // } else { // $output .= '<stock days="10" >' . $this->language->get('text_out_of_stock') . '</stock>'; // } if ($product ['stock_status'] !='Нет в наличии') { $output .= '<stock>' . $this->language->get('text_in_stock') . '</stock>'; } else { $output .= '<stock days="10" >' . $this->language->get('text_out_of_stock') . '</stock>'; } при обоих вариантах выдает ошибку This page contains the following errors: error on line 6209 at column 80109: StartTag: invalid element name Below is a rendering of the page up to the first error.