Jump to content

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


Recommended Posts

Всем доброго времени суток. Гуглил, ядил ничего не нашел.

В общем, есть товар например:

Дисковая пила по дереву и металлу

хочу сделать значение св-ва "применение:"

"дерево"

"металл"

И что-бы на странице товаров в фильтр сортировал по обоим значениям.

 

Есть ли бесплатное решение? 

Заранее всем спасибо!

Link to post
Share on other sites

При замене кода:

 

$product->features=$this->features->get_product_options(array('product_id'=>$product->id));

 

на 

 

 

        $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;

 

Перестают отображаться хар-ки на странице с товаром. Если оставить все как есть то тогда перед хар-ми будет отображаться ID хар-ки.

 

Может кто подскажет че не так)))

Link to post
Share on other sites

а почему не спросить там где нашли?

 

Я вот ору с таких людей как Вы, уважаемый. Если Вы знаете, что мешает помочь? не знаете - промолчать. Вроде модератор... 

Link to post
Share on other sites

а почему не спросить там где нашли?

Поддерживаю.

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

Оказывать техподдержку и консультации обязан только автор дополнения\модуля\шаблона, да и то только в случае покупки оных у самого автора, прочие попрошайки проходят мимо.

Link to post
Share on other sites

Я вот ору с таких людей как Вы, уважаемый. Если Вы знаете, что мешает помочь? не знаете - промолчать. Вроде модератор... 

 

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

 

Уж если хотите получить ответ, то, наверное, сначала надо бы выложить ПОЛНЫЙ  точный список изменений, а потом уже спрашивать. А пока получается  - почините мне то, не скажу что. Мне  много раз с подобными случаями приходилось заниматься - в 80% случаев причина была не в том кусочке коде, который в начале спрашивающий рассекречивал, а совсем в другом месте...

 

А совет - спросить о неверной работе там, где взял - вполне естественный и сердиться на это неуместно...

 

А описанная Вами замена выглядит довольно бессмысленно.  Если сделать ее ОДНУ в точности так, как Вы написали, так и должно происходить - характеристики и должны перестать отображаться - в соответствии с законами природы и правилами программирования...

Link to post
Share on other sites

При замене кода:

 

на 

 

Перестают отображаться хар-ки на странице с товаром. Если оставить все как есть то тогда перед хар-ми будет отображаться ID хар-ки.

 

Может кто подскажет че не так)))

 

нужно не заменять, а добавить ниже этого кода.

Link to post
Share on other sites

У вас работают подсказки для новых свойств?

 

	// Подсказки для свойств
	$('input[name*="options"]').each(function(index) {
		f_id = $(this).closest('li').attr('feature_id');
		ac = $(this).autocomplete({
			serviceUrl:'ajax/options_autocomplete.php',
			minChars:0,
			params: {feature_id:f_id},
			noCache: false
		});
	});
Link to post
Share on other sites
  • 4 months later...

 

У вас работают подсказки для новых свойств?

 

	// Подсказки для свойств
	$('input[name*="options"]').each(function(index) {
		f_id = $(this).closest('li').attr('feature_id');
		ac = $(this).autocomplete({
			serviceUrl:'ajax/options_autocomplete.php',
			minChars:0,
			params: {feature_id:f_id},
			noCache: false
		});
	});

 

Поменяйте

$('input[name*="options"]').each(function(index) {

На

$('input[name*="options"]').live('focus', function(index) {
Link to post
Share on other sites
  • 4 weeks later...

 

Поменяйте

$('input[name*="options"]').each(function(index) {

На

$('input[name*="options"]').live('focus', function(index) {

Подскажите в каком это файле, никак не могу найти. Та же самая проблема

Link to post
Share on other sites

Вот

Попробуйте добавить

 

	// Подсказки для свойств
	$('input[name*="options"]').live('focus', function(index) {
		f_id = $(this).closest('li').attr('feature_id');
		ac = $(this).autocomplete({
			serviceUrl:'ajax/options_autocomplete.php',
			minChars:0,
			params: {feature_id:f_id},
			noCache: false
		});
	});

после

 

	// Добавление нового свойства товара
	var feature = $('#new_feature').clone(true);
	$('#new_feature').remove().removeAttr('id');
	$('#add_new_feature').click(function() {
		$(feature).clone(true).appendTo('ul.new_features').fadeIn('slow').find("input[name*=new_feature_name]").focus();
		return false;		
	});
Link to post
Share on other sites
  • 11 months later...
  • 1 year later...

Подскажите по модулю "Мультисвойства", всё работает как надо, но при экспорте товаров, отображается только первое свойство в списке, а второго нету. Данный пункт при установке тоже выполнил:

simpla/ajax/import.php
При экспорте и импорте множественные значения одного свойства пишутся через запятую и автоматически разбиваются на отдельные значения свойства при импорте.
Заменяем строку (78)
                if(!isset($products[$option->product_id][$option->name]))
                    $products[$option->product_id][$option->name] = $option->value;
на код
                if(!isset($products[$option->product_id][$option->name]))
                    $products[$option->product_id][$option->name] = $option->value;
                else
                    $products[$option->product_id][$option->name] .= ','.$option->value;   

simpla/ajax/export.php
Заменяем строку (299)
$this->features->update_option($product_id, $feature_id, $feature_value);
на код
                    foreach(explode(',', $feature_value) as $f_value)        
                        $this->features->update_option($product_id, $feature_id, $f_value);

Может кто сталкивался с данной проблемой и знает решение? 

Link to post
Share on other sites

Надо спрашивать автора или продавца того модуля, который дает ошибку.

Или, если хотите тут содержательный ответ получить, выкладывать тут тот модуль.

 

А вообще указанная Вами инструкция для simpla/ajax/export.php явно неправильная как минимум по двум причинам:

1. Нет в файле такой строки, которую требуется поменять,

2. Новый фрагмент предназначен для ИЗМЕНЕНИЯ данных по свойствам, в то время как экспорт не должен вообще никаких данных менять...

Edited by phukortsin
Link to post
Share on other sites

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

 

P.S

По поводу того что такой строчки кода нету, там ошибка в инструкции была, правильно будет так:

 

simpla/ajax/export.php
При экспорте и импорте множественные значения одного свойства пишутся через запятую и автоматически разбиваются на отдельные значения свойства при импорте.
Заменяем строку (78)
                if(!isset($products[$option->product_id][$option->name]))
                    $products[$option->product_id][$option->name] = $option->value;
на код
                if(!isset($products[$option->product_id][$option->name]))
                    $products[$option->product_id][$option->name] = $option->value;
                else
                    $products[$option->product_id][$option->name] .= ','.$option->value;   

simpla/ajax/import.php
Заменяем строку (299)
$this->features->update_option($product_id, $feature_id, $feature_value);
на код
                    foreach(explode(',', $feature_value) as $f_value)        
                        $this->features->update_option($product_id, $feature_id, $f_value);

Мультисвойства Позволяет задавать неограниченный набор для каждого из параметров.zip

Edited by KeNs
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...