Jump to content

Recommended Posts

  • Replies 124
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

Posted Images

фильтр цен не такой как на картинке. Подключай правильно.


он и не должен быть как на картинке :) он без оформления, можно подключить стандартные стили, в файле с инструкцией есть как это сделать
Link to post
Share on other sites

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

Link to post
Share on other sites

chubr к сожалению инструкция не такая подробная как хотелось бы, но я сравнил коды с теми что в архиве, и у меня все работает.

Link to post
Share on other sites

maksam07 а дай посмотреть как у тебя сделано, может найду свою ошибку

у меня видно ошибка в подключении JS, куда точнее его подключать?

Link to post
Share on other sites

В products.tpl вставил.

<script src="http://code.jquery.com/jquery-1.9.1.js"></script><script src="http://code.jquery.com/ui/1.10.2/jquery-ui.js"></script><link rel="stylesheet" href="http://code.jquery.com/ui/1.10.2/themes/smoothness/jquery-ui.css" /><script type="text/javascript">	$(document).ready(function() {		var minprice = parseInt($('#minprice').val());		var maxprice = parseInt($('#maxprice').val());		var current_minprice = parseInt($('#current_minprice').val());		var current_maxprice = parseInt($('#current_maxprice').val());		$("input#minCost").val(current_minprice);		$("input#maxCost").val(current_maxprice);		$("#slider").slider({		    min: minprice,		    max: maxprice,		    values: [current_minprice,current_maxprice],		    range: true,		    slide: function(event, ui){				$("input#minCost").val($("#slider").slider("values",0));				$("input#maxCost").val($("#slider").slider("values",1));		    }		});	});	</script>
и не создавал даже JS файл.
Link to post
Share on other sites

Что то не получается - пишет:

Notice: Undefined variable: prices in /home/aqq9440/public_html/shurshim.ru/api/Products.php on line 220Notice: Undefined variable: prices in /home/aqq9440/public_html/shurshim.ru/api/Products.php on line 220Warning: Cannot modify header information - headers already sent by (output started at /home/aqq9440/public_html/shurshim.ru/api/Products.php:220) in /home/aqq9440/public_html/shurshim.ru/index.php on line 51


В чем может быть проблема?
Link to post
Share on other sites

ну да. Вставил Ваш продукст пхп и все заработало.
Но начал происходить какой то ад с сайтом - все начало тупить, через раз выдавало о том что слишком много запросов к базе и маркет отвалился, мол сайт не доступен(
В общем пришлось снести.
Возможно потому-что в одной категории у меня находится 3001 товаров..

Link to post
Share on other sites

да, это решение не подойдет если у вас большое количество товаров в одной категории, т.к. используется расчет минимальной и максимальной стоимости, а для этого нужно получить все товары сразу.
В таком случае нужно или использовать фиксированные значения (0-10000 к примеру), или хранить минимум-максимум как константы, и изменять(при необходимости) при добавлении нового товара.

Link to post
Share on other sites

VladP, К сожалению до сих пор выдает ошибку. Я залил Ваш 2-й файл и все также:

Notice: Undefined variable: prices in S:\home\local\www\api\Products.php on line 210[Денвер: показать возможную причину ошибки]Warning: Cannot modify header information - headers already sent by (output started at S:\home\local\www\api\Products.php:210) in S:\home\local\www\index.php on line 26
Link to post
Share on other sites

взять код для определения минимальной и максимальной цены из ProductsView и вставить в MainView

В этом случай я так понял будут отображаться максимум и минимум цен, что находятся на главной?

Мне нужно чтобы на главной отображались цены максимум и минимум всего каталога.

Link to post
Share on other sites

это зависит от параметров которые передаются при получении товаров, если не указывать category_id, то будут учитываться все товары

Link to post
Share on other sites

Я сделал так, как сказали - скопировал код, что в ProductView и поставил в MainView и вот как выглядеть:

<?PHP

require_once('View.php');


class MainView extends View
{

	function fetch()
	{
		$current_min_price = $this->request->post('min_price');
		$current_max_price = $this->request->post('max_price');
		
		$filter = array();
		$filter['visible'] = 1;	

		$filter['min_price'] = $current_min_price;
		$filter['max_price'] = $current_max_price;
		
		
		if($this->page)
		{
			$this->design->assign('meta_title', $this->page->meta_title);
			$this->design->assign('meta_keywords', $this->page->meta_keywords);
			$this->design->assign('meta_description', $this->page->meta_description);
		}

		
		unset($filter['min_price']);
		unset($filter['max_price']);
		unset($filter['limit']);
		foreach($this->products->get_products($filter) as $p)
			$products_prices[$p->id] = $p;
		
		if(!empty($products_prices))
		{
			$prices_products_ids = array_keys($products_prices);
			$prices_variants = $this->variants->get_variants(array('product_id'=>$prices_products_ids));
			foreach($prices_variants as &$prices_variant)
				$prices[] = $prices_variant->price;
		}
		
		$min_price = 0;
		$max_price = 0;
		$min_price = min($prices);
		$max_price = max($prices);
		
		if(!isset($current_min_price) && empty($current_min_price))
			$current_min_price = $min_price;
		if(!isset($current_max_price) && empty($current_max_price))
			$current_max_price = $max_price;
			
		$this->design->assign('minprice', $min_price);
		$this->design->assign('maxprice', $max_price);
		$this->design->assign('current_minprice', $current_min_price);
		$this->design->assign('current_maxprice', $current_max_price);
		
		return $this->design->fetch('main.tpl');
	}
}

также в main.tpl вставил код отображения.

Максимум и Минимум цен всего каталога отобразились, только вот фильтр теперь не работает нигде. Отображение цен есть, а когда жмешь на кнопку "Применить", ничего не происходит - это на главной, а в остальных каталогах при нажатие на кнопку, выдает, что товар не найден.

В чем тут может быть сбой? Подскажите, пожалуйста!

Link to post
Share on other sites

Здесь нет выбора товаров, только максимальная-минимальная цены. Если используется смарти функция для новых(или рекомендуемых) товаров, то нужно использовать фильтр мин-макс в View.php

Link to post
Share on other sites

Добрый день. Вроде поставил. Вроде работает, но выводит не так, как хотелось бы.

 

+на странице категории перестал отображаться слайдер, хотя на главной и других страницах работает. 

 

Помогите, пожалуйста. Заранее благодарен.

Link to post
Share on other sites

Добрый день. Вроде поставил. Вроде работает, но выводит не так, как хотелось бы.

 

+на странице категории перестал отображаться слайдер, хотя на главной и других страницах работает. 

 

Помогите, пожалуйста. Заранее благодарен.

 

Может, кто-нибудь свои стили скинет? Видать он конфликтует(пересекается) со стилями слайдера, поэтому слайдер картинок не отображается.

Link to post
Share on other sites

Тут не в стилях дело, а в конфликте JavaScript-ов.

видимо 2 раза jquery-скрипт идет.

А стили как поменять, а то на всю страницу растянуто. ?

И цена из-за этого сверху и снизу получается.

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...