Προς το περιεχόμενο

PHP: Exclude products απο “latest product” κώδικα


trendkill

Προτεινόμενες αναρτήσεις

Καλησπέρα,

 

έχω ενα OpenCart eshop, στο οποιο υπάρχει ένα module που εμφανίζει τα "latest products" που προσθέτω.

 

Το προβλημα ειναι οτι καποια απο αυτά δεν πρεπει να εμφανιζονται.

Σκεφτηκα να βάλω έναν περιορισμο - οποιο product έχει product_id απο 1000 έως 2000 να μην εμφανίζεται. Έφτιαξα λοιπόν μια συνθήκη:

if ($result['product_id'] > 1000 && $result['product_id'] < 2000) 

Ο κώδικας του module είναι ο παρακάτω:

 <?php
class ControllerModuleLatest extends Controller {
    protected function index($setting) {
        $this->language->load('module/latest');

        $this->data['heading_title'] = $this->language->get('heading_title');

        $this->data['button_cart'] = $this->language->get('button_cart');

        $this->load->model('catalog/product');

        $this->load->model('tool/image');

        $this->data['products'] = array();

        $data = array(
            'sort'  => 'p.date_added',
            'order' => 'DESC',
            'start' => 0,
            'limit' => $setting['limit']
        );

        $results = $this->model_catalog_product->getProducts($data);

        foreach ($results as $result) {



            if ($result['image']) {
                $image = $this->model_tool_image->resize($result['image'], $setting['image_width'], $setting['image_height']);
            } else {
                $image = false;
            }

            if (($this->config->get('config_customer_price') && $this->customer->isLogged()) || !$this->config->get('config_customer_price')) {
                $price = $this->currency->format($this->tax->calculate($result['price'], $result['tax_class_id'], $this->config->get('config_tax')));
            } else {
                $price = false;
            }

            if ((float)$result['special']) {
                $special = $this->currency->format($this->tax->calculate($result['special'], $result['tax_class_id'], $this->config->get('config_tax')));
            } else {
                $special = false;
            }

            if ($this->config->get('config_review_status')) {
                $rating = $result['rating'];
            } else {
                $rating = false;
            }

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



        }

        if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/module/latest.tpl')) {
            $this->template = $this->config->get('config_template') . '/template/module/latest.tpl';
        } else {
            $this->template = 'default/template/module/latest.tpl';
        }

        $this->render();
    }
}
?>

Η λογική λέει ότι η συνθήκη μου πρέπει να μπει μετά το "foreach ($results as $result)".

Παρόλα αυτά δεν λειτουργεί...

 

Any ideas?

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Θέλω όταν φτάνει σε αυτή την if να ελέγχει αν ισχύει. Αν ειναι true τοτε να προσπερνάει.

 

Ή και το εναλλακτικό: Αν είναι x<1000 ή x>2000 να μπαίνει.

 

Καποιος να δώσει τα φώτα του;

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...