Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

freelancer

Ветеран спільноти
  
  • Публікації

    10 630
  • З нами

  • Відвідування

Повідомлення, опубліковані користувачем freelancer

  1. Доброго времени суток!

    Подскажите, пожалуйста, как сделать что бы при нажатии (показано на рис.1) на Maс высвечивалась сразу страничка как на рис.2 подскажите пожалуйста!

    Заранее благодарен

    в смысле при нажатии на категорию в меню осуществлялся переход на первый товар?
  2. ***************
    *** 14,19 ****
    --- 14,33 ----
    
    	  public function getProductsByCategoryId($category_id, $sort = 'p.sort_order', $order = 'ASC', $start = 0, $limit = 20) {
    		  $sql = "SELECT *, pd.name AS name, p.image, m.name AS manufacturer, ss.name AS stock, (SELECT AVG(r.rating) FROM " . DB_PREFIX . "review r WHERE p.product_id = r.product_id GROUP BY r.product_id) AS rating FROM " . DB_PREFIX . "product p LEFT JOIN " . DB_PREFIX . "product_description pd ON (p.product_id = pd.product_id) LEFT JOIN " . DB_PREFIX . "product_to_store p2s ON (p.product_id = p2s.product_id) LEFT JOIN " . DB_PREFIX . "manufacturer m ON (p.manufacturer_id = m.manufacturer_id) LEFT JOIN " . DB_PREFIX . "stock_status ss ON (p.stock_status_id = ss.stock_status_id) LEFT JOIN " . DB_PREFIX . "product_to_category p2c ON (p.product_id = p2c.product_id) WHERE p.status = '1' AND p.date_available <= NOW() AND pd.language_id = '" . (int)$this->config->get('config_language_id') . "' AND p2s.store_id = '" . (int)$this->config->get('config_store_id') . "' AND ss.language_id = '" . (int)$this->config->get('config_language_id') . "' AND p2c.category_id = '" . (int)$category_id . "'";
    +		
    +		 if ($sort=='p.price'){
    +
    +			 if ($this->customer->isLogged()) {
    +			 $customer_group_id = $this->customer->getCustomerGroupId();
    +			 } else {
    +			 $customer_group_id = $this->config->get('config_customer_group_id');
    +			 }
    +
    +			 $sql = "SELECT *, pd.name AS name, p.image, m.name AS manufacturer, ss.name AS stock, (SELECT AVG(r.rating) FROM " . DB_PREFIX . "review r WHERE p.product_id = r.product_id GROUP BY r.product_id) AS rating, ".
    +				 "coalesce((SELECT price FROM " . DB_PREFIX . "product_special ps WHERE ps.product_id = p.product_id AND customer_group_id = '" . (int)$customer_group_id . "' AND ((date_start = '0000-00-00' OR date_start < NOW()) AND (date_end = '0000-00-00' OR date_end > NOW())) ORDER BY priority ASC, price ASC LIMIT 1), p.price) as s_price ".
    +				 "FROM " . DB_PREFIX . "product p LEFT JOIN " . DB_PREFIX . "product_description pd ON (p.product_id = pd.product_id) LEFT JOIN " . DB_PREFIX . "product_to_store p2s ON (p.product_id = p2s.product_id) LEFT JOIN " . DB_PREFIX . "manufacturer m ON (p.manufacturer_id = m.manufacturer_id) LEFT JOIN " . DB_PREFIX . "stock_status ss ON (p.stock_status_id = ss.stock_status_id) LEFT JOIN " . DB_PREFIX . "product_to_category p2c ON (p.product_id = p2c.product_id) WHERE p.status = '1' AND p.date_available <= NOW() AND pd.language_id = '" . (int)$this->config->get('config_language_id') . "' AND p2s.store_id = '" . (int)$this->config->get('config_store_id') . "' AND ss.language_id = '" . (int)$this->config->get('config_language_id') . "' AND p2c.category_id = '" . (int)$category_id . "'";
    +			 $sort = 's_price';
    +		 }
    
    		  $sort_data = array(
    			  'pd.name',
    ***************
    *** 21,26 ****
    --- 35,41 ----
    			  'special',
    			  'rating',
    			  'p.price',
    +			 's_price',
    			  'p.model'
    		  );
    
    
  3. Спрашивает пользователь форума поддержки Вашего скрипта....Вы же ОС Team...или это только статус?Я вот например тоже не особо понял инструкцию...и наверное процентов 70 пользователей форума тоже....зачем отвечать грубостью?

    DV0995 изначально задал вопрос в грубой форме от лица другого человека, на конкретное замечание ответил ещё большей грубостью.

    PerrySS, если что-то не ясно - спросите прямо. если пользователь в OC Team это не значит, что он обязан помогать всем и каждому. большинству или хотя бы части и не обязан а по своему усмотрению.

    Sammy95 потратил своё время, что бы исправить баг разработчиков OpenCart за что ему больше спасибо. надеюсь эти глупые нападки не повлияют на его желание и дальше помогать community ocStore.

  4. Вот только что проверял работает такой вот вариант

    Вот в этом месте в catalog/model/catalog/product.php вставляешь

    вот это

    $sql .= " ORDER BY p.price, pd.name";

       if (isset($data['sort']) && in_array($data['sort'], $sort_data)) {
    	if ($data['sort'] == 'pd.name' || $data['sort'] == 'p.model') {
    	 $sql .= " ORDER BY LCASE(" . $data['sort'] . ")";
    	} else {
    	 $sql .= " ORDER BY " . $data['sort'];
    	}
       } else {
    	$sql .= " ORDER BY p.sort_order";
       }
    

    Получается вот так

       if (isset($data['sort']) && in_array($data['sort'], $sort_data)) {
    	if ($data['sort'] == 'pd.name' || $data['sort'] == 'p.model') {
    	 $sql .= " ORDER BY LCASE(" . $data['sort'] . ")";
    	} else {
    	 $sql .= " ORDER BY " . $data['sort'];
    	}
       } else {
       $sql .= " ORDER BY p.price, pd.name";
       }
    

    И сортировка в работе!

    твой 3й бредовый ответ на моей памяти..

    ты специально даешь советы которые не работают??

    во-первых, в 3м посте я именно это и советовал, но это не работает потому как вот это условие выполняется

    if (isset($data['sort']) && in_array($data['sort'], $sort_data)) {
    
    и вот сюда не заходит

    } else {	$sql .= " ORDER BY p.price, pd.name";	}

    во-вторых, правильный рабочий ответ в сообщении #7, но у Evgeny стоит vqmod , который конфликтует с моим решением

  5. или я неправильно понимаю фунцию logged.

    $logged здесь переменная.

    if(! $logged){
    // не авторизован
    }

    А нормальное оформление - ну тут же так принято, разве нет? ;)

    так везде принято и оформление и постановка вопроса, но видимо очень не многие на это способны =)
    • +1 1
  6. Еще есть варианты?

    в том же файле блок с 128 строки по 141 заменить следующим

    			$sortOrder= " ASC ";
    			if (isset($data['order']) && ($data['order'] == 'DESC')) {
    				$sortOrder= " DESC ";
    			}
    			$sql .= " ORDER BY p.price" . $sortOrder . ", LCASE(pd.name)";
    
    но так же в tpl файлах нужно убрать лишние значения "Сортировать по:"
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.