trendkill Δημοσ. 4 Οκτωβρίου 2014 Δημοσ. 4 Οκτωβρίου 2014 Καλησπέρα, έχω ενα 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?
akis_fc Δημοσ. 5 Οκτωβρίου 2014 Δημοσ. 5 Οκτωβρίου 2014 Η συνθήκη που έγραψες πάντως κάνει ακριβώς το αντίθετο από αυτό που λες ότι θέλεις να κάνεις. Εμφανίζει δηλαδή ότι είναι ανάμεσα σε 1000-2000.
trendkill Δημοσ. 6 Οκτωβρίου 2014 Μέλος Δημοσ. 6 Οκτωβρίου 2014 Θέλω όταν φτάνει σε αυτή την if να ελέγχει αν ισχύει. Αν ειναι true τοτε να προσπερνάει. Ή και το εναλλακτικό: Αν είναι x<1000 ή x>2000 να μπαίνει. Καποιος να δώσει τα φώτα του;
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα