fantom4uk

Здравствуйте нужна помощь с ограничение вывода товаров дате

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

fantom4uk    5

хочу сделать чтоб товары Которые старше указанной даты не выводилы на сайте ,типа не показывало в категориях и поиску, 

дана функция getProducts($data) находиться в каталоге\модуль\каталог\продукт, вот тут и проблема я не могу разобраться как мне сделать ,я в пхп новичок можете помочь

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


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

есть 2 варианта: полное отключение (блокировка) и избирательное - товары остаются доступны роботам и по прямой ссылке (для тех пользователей кто их ранее купил или сохранил у себя в закладках).  Если нужна помощь в реализации любого из них - пишите в ЛС

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


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

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

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

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

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

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

Войти

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

Войти


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

    • От Seofisher
      Подскажите как правильно изменить запрос к БД добавив одно условие
      Есть вот что:
       
      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',  
      И у меня ничего хорошего с этого не вышло. Понимаю что знаний не хватает, прошу помощи.
       
       
    • От DmitriySun
      ранее доставались только имеющиеся товары
      $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.
    • От DmitriySun
      ранее доставались только имеющиеся товары
      $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.
  • Последние посетители   0 пользователей онлайн

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