Перейти к содержимому


Фото
- - - - -

Несколько значений для одного свойства в товаре?

свойства в товаре свойства

  • Чтобы отвечать, сперва войдите на форум
11 ответов в теме

#1 BlackDragon

BlackDragon
  • Пользователь
  • 32 сообщений

Опубликовано 20.11.2013 - 20:27

Всем привет, нужно каким-то образом реализовать добавление нескольких вариантов к примеру варианты цвета в созданное поле в разделе свойств товаров, более детально - при добавлении товара у нас отображается свойство цвет, заполнить его нужно несколькими вариантами цветов через запятую, там красный, синий, зеленый, при этом они должны точно так же отображатся в фильтре товаров в категориях и фильтрация товаров происходила по одному из значений а не по всем сразу, в данный момент когда данное поле заполнить таким образом, в фильтре это значение получается нераздельным и три цвета воспринимается как один общий параметр в товаре!

Как реализовать такую возможность для полей свойств при добавлении товаров? Благодарность будет в рублях!)



#2 ps-simpla

ps-simpla

    Модератор в запасе :)

  • Модератор
  • 1 003 сообщений
  • Дизайн, Программирование, Верстка
  • Версия CMS:2.x
  • Откуда:Пермский край

Опубликовано 20.11.2013 - 21:16

Покупайте дополнение http://www.simplasho...ts/multyoptions



#3 BlackDragon

BlackDragon
  • Пользователь
  • 32 сообщений

Опубликовано 21.11.2013 - 03:45

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



#4 mart

mart

    Дружу с Симплой

  • Фрилансер
  • 1 331 сообщений
  • Программирование
  • Версия CMS:1.x, 2.x
  • Откуда:Venlo

Опубликовано 21.11.2013 - 03:55

Т.е. Вы предпочитаете полнотекстовый поиск?



#5 BlackDragon

BlackDragon
  • Пользователь
  • 32 сообщений

Опубликовано 21.11.2013 - 05:39

Т.е. Вы предпочитаете полнотекстовый поиск?

вот к примеру ввел я "синий, красный, зеленый" в свойстве одного товара, в другом товаре будет просто, "синий, зеленый" и в фильтре товаров теперь есть два критерия сортировки - "синий, красный, зеленый" и "синий, зеленый", а нужно добавить возможность что бы было при таком вводе три критерия сортировки товаров, отдельно "синий", "красный", "зеленый"!

 

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



#6 mart

mart

    Дружу с Симплой

  • Фрилансер
  • 1 331 сообщений
  • Программирование
  • Версия CMS:1.x, 2.x
  • Откуда:Venlo

Опубликовано 21.11.2013 - 11:01

вот к примеру ввел я "синий, красный, зеленый" в свойстве одного товара, в другом товаре будет просто, "синий, зеленый" и в фильтре товаров теперь есть два критерия сортировки - "синий, красный, зеленый" и "синий, зеленый", а нужно добавить возможность что бы было при таком вводе три критерия сортировки товаров, отдельно "синий", "красный", "зеленый"!

 

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

мультиязычность -> мультисвойств
Да, есть. И импорт работает по этому принципу, только резделение через ;. При созранении разбивается на разные свойства.



#7 yoshkin

yoshkin
  • Пользователь
  • 134 сообщений

Опубликовано 10.03.2015 - 21:18

А как добавить сортировку выводимых значений? 

Чтобы значения выводились не так: 

120, 60, 130, 70, 140, 80, 150, 90, 160, 170, 180, 190, 200, 100, 40, 110, 50

 

А вот так:

40, 50, 60, 70..... итд

 

                        $temp_options = array();
			foreach($product->features as $option) {
		    	$temp_options[$option->feature_id]->feature_id = $option->feature_id;
		    	$temp_options[$option->feature_id]->name = $option->name;
		    	$temp_options[$option->feature_id]->values[] = $option->value;   
			}
			
			foreach($temp_options as $id => $option)
		    	$temp_options[$id]->value = implode(', ', $temp_options[$id]->values);   	 
		    
			$product->features = $temp_options;


#8 yoshkin

yoshkin
  • Пользователь
  • 134 сообщений

Опубликовано 10.03.2015 - 22:44

разобрался



#9 Ivan2016

Ivan2016
  • Пользователь
  • 28 сообщений
  • Пользователь
  • Версия CMS:2.x
  • Откуда:Пермь

Опубликовано 25.01.2018 - 12:56

разобрался

 


Помогите с кодом, какой вы написали?



#10 yr4ik

yr4ik
  • Фрилансер
  • 874 сообщений
  • Дизайн, Программирование, Верстка
  • Версия CMS:1.x, 2.x
  • Откуда:Украина Чернигов

Опубликовано 26.01.2018 - 16:53

Помогите с кодом, какой вы написали?

 

Вы не отслеживаете свои же темы? 

http://forum.simplac...троку/?p=104052



#11 aroman80

aroman80
  • Пользователь
  • 30 сообщений
  • Пользователь
  • Версия CMS:2.x
  • Откуда:Марс

Опубликовано 29.01.2018 - 21:28

я делал так, сортировка на этапе выборки значений характеристик

 

api/Features.php

185 строка - сортировка значений по длине свойства LENGTH(value) ASC

WHERE 1 $feature_id_filter $product_id_filter $brand_id_filter $features_filter GROUP BY po.feature_id, po.value ORDER BY LENGTH(value) ASC, value");

Изменено: aroman80, 29.01.2018 - 21:39


#12 aroman80

aroman80
  • Пользователь
  • 30 сообщений
  • Пользователь
  • Версия CMS:2.x
  • Откуда:Марс

Опубликовано 07.02.2018 - 02:17

получается в коде http://forum.simplac...товар/?p=104127

сортировка идет в фильтре

 

а в карточке товара "product" сортировка тут (api/Features.php самый конец файла)

 

public function get_product_options($product_id)
	{
		$query = $this->db->placehold("SELECT f.id as feature_id, f.name, po.value, po.product_id FROM __options po LEFT JOIN __features f ON f.id=po.feature_id WHERE po.product_id in(?@) 
ORDER BY f.position", (array)$product_id);
		$this->db->query($query);
		return $this->db->results();
	}

меняем ORDER BY f.position на ORDER BY LENGTH(value) ASC

и получаем сортировку по длине значения 0,1,2,3,4,10,100,1000,10000


Изменено: aroman80, 07.02.2018 - 02:17





0 пользователей читают эту тему

0 пользователей, 0 гостей, 0 скрытых