Jump to content
  • разработка интернет магазинов на opencart
  • доработка интернет магазинов на opencart

Сортировка новостей по дате добавления


Recommended Posts

Доброго. Подскажите, пожалуйси, как отсортировать по гдефолту умолчанию сортировку новостей по дате добавления ? 
Ссылка:
https://nimat-organics.ru/all-news/

код модуля:
 

Циии

 

<?php
class ModelCatalogAridiusNews extends Model {

	public function updateViewed($aridius_news_id) { 
	
		$this->db->query("UPDATE " . DB_PREFIX . "aridius_news SET viewed = (viewed + 1) WHERE aridius_news_id = '" . (int)$aridius_news_id . "'");
	}

	public function getaridius_newsStory($aridius_news_id) {
		
		$query = $this->db->query("SELECT DISTINCT * FROM " . DB_PREFIX . "aridius_news n LEFT JOIN " . DB_PREFIX . "aridius_news_description nd ON (n.aridius_news_id = nd.aridius_news_id) LEFT JOIN " . DB_PREFIX . "aridius_news_to_store n2s ON (n.aridius_news_id = n2s.aridius_news_id) WHERE n.aridius_news_id = '" . (int)$aridius_news_id . "' AND nd.language_id = '" . (int)$this->config->get('config_language_id') . "' AND n2s.store_id = '" . (int)$this->config->get('config_store_id') . "' AND n.status = '1'");

		return $query->row;
	}

	public function getaridius_news($data) {
		
		$sql = "SELECT * FROM " . DB_PREFIX . "aridius_news n LEFT JOIN " . DB_PREFIX . "aridius_news_description nd ON (n.aridius_news_id = nd.aridius_news_id) LEFT JOIN " . DB_PREFIX . "aridius_news_to_store n2s ON (n.aridius_news_id = n2s.aridius_news_id) WHERE nd.language_id = '" . (int)$this->config->get('config_language_id') . "' AND n2s.store_id = '" . (int)$this->config->get('config_store_id') . "' AND n.status = '1' ORDER BY n.sort_order, n.date_added DESC";
		
		if (isset($data['start']) || isset($data['limit'])) {
			if ($data['start'] < 0) {
				$data['start'] = 0;
			}

			if ($data['limit'] < 1) {
				$data['limit'] = 20;
			}

			$sql .= " LIMIT " . (int)$data['start'] . "," . (int)$data['limit'];
		}

		$query = $this->db->query($sql);

		return $query->rows;
		
	}
	public function getaridius_newsShort($limit) {
		
		$aridius_news_data = $this->cache->get('aridius_news.short.' . (int)$this->config->get('config_language_id') . '.' . (int)$this->config->get('config_store_id') . '.' . (int)$limit);

		if (!$aridius_news_data) {
			$aridius_news_data = array();

			$query = $this->db->query("SELECT * FROM " . DB_PREFIX . "aridius_news n LEFT JOIN " . DB_PREFIX . "aridius_news_description nd ON (n.aridius_news_id = nd.aridius_news_id) LEFT JOIN " . DB_PREFIX . "aridius_news_to_store n2s ON (n.aridius_news_id = n2s.aridius_news_id) WHERE nd.language_id = '" . (int)$this->config->get('config_language_id') . "' AND n2s.store_id = '" . (int)$this->config->get('config_store_id') . "' AND n.status = '1'  ORDER BY n.sort_order, n.date_added DESC LIMIT " . (int)$limit);

			foreach ($query->rows as $result) {
				$aridius_news_data[$result['aridius_news_id']] = $this->getaridius_newsStory($result['aridius_news_id']);
			}

			$this->cache->set('aridius_news.short.' . (int)$this->config->get('config_language_id') . '.' . (int)$this->config->get('config_store_id') . '.' . (int)$limit, $aridius_news_data);
		}

		return $aridius_news_data;
	}
	
	public function getProductRelated($aridius_news_id) {
		
		$product_data = array();

		$query = $this->db->query("SELECT nr.product_id FROM " . DB_PREFIX . "aridius_news_product_related nr LEFT JOIN " . DB_PREFIX . "product p ON (nr.product_id = p.product_id) LEFT JOIN " . DB_PREFIX . "product_to_store p2s ON (nr.product_id = p2s.product_id) WHERE nr.aridius_news_id = '" . (int)$aridius_news_id . "' AND p.status = '1' AND p2s.store_id = '" . (int)$this->config->get('config_store_id') . "'");

		$this->load->model('catalog/product');
		foreach ($query->rows as $result) { 
			$product_data[$result['product_id']] = $this->model_catalog_product->getProduct($result['product_id']);
		}
		
		return $product_data;
	}

	public function getaridius_newsRelated($aridius_news_id) {

		$aridius_news_data = array();
		
		$query = $this->db->query("SELECT * FROM " . DB_PREFIX . "aridius_news n LEFT JOIN " . DB_PREFIX . "aridius_news_description nd ON (n.aridius_news_id = nd.aridius_news_id) LEFT JOIN " . DB_PREFIX . "aridius_news_to_store n2s ON (n.aridius_news_id = n2s.aridius_news_id) LEFT JOIN " . DB_PREFIX . "aridius_news_related nr ON (n.aridius_news_id = nr.related_aridius_news_id) WHERE nd.language_id = '" . (int)$this->config->get('config_language_id') . "' AND n2s.store_id = '" . (int)$this->config->get('config_store_id') . "' AND n.status = '1' AND n.sort_order <> '-1' AND nr.aridius_news_id = '" . (int)$aridius_news_id. "' ORDER BY n.sort_order");			

		return $query->rows;
	}	

	public function getTotalaridius_news() {
		
		$query = $this->db->query("SELECT COUNT(*) AS total FROM " . DB_PREFIX . "aridius_news n LEFT JOIN " . DB_PREFIX . "aridius_news_to_store n2s ON (n.aridius_news_id = n2s.aridius_news_id) WHERE n2s.store_id = '" . (int)$this->config->get('config_store_id') . "' AND n.status = '1'");

		if ($query->row) {
			return $query->row['total'];
		} else {
			return false;
		}
	}
}

 

Правильно я понимаю, что в 
 

Циии

 "' AND n.status = '1' ORDER BY n.sort_order, n.date_added DESC";

нужно поменять месими n.sort_order, n.date_added DESC ?

икже и в 
 

Циии

 "' AND n.status = '1'  ORDER BY n.sort_order, n.date_added DESC LIMIT " . (int)$limit);


Ввиду сложившейся ситуации автору модуля не до форума, поэтому у него уточнить не могу. Мирного всем неба и скорейшего завершения звезгдеца

Edited by Yusuf
Link to comment
Share on other sites


Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.