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


Фото
- - - - -

Пропадают свойства. Есть половина решения


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

#1 question

question
  • Пользователь
  • 53 сообщений
  • Заказчик, Пользователь
  • Версия CMS:2.x
  • Откуда:Россия

Опубликовано 12.05.2018 - 15:35

Здравствуйте. Пропадают свойства. Постараюсь назвать причину.
1. Товар перемещается из категории "смартфоны" в "мобильные телефоны", в которой отсутствует свойство "версия Android"
2. Редактируется заголовок товара
3. Товар перемещается обратно в "смартфоны"
В этом случае значение "версия Android" станет пустой, свойство удалится. Такое происходит редко, но всё же бывает и найти удалённое свойство среди всего многообразия товаров оказывается не таким простым занятием.
Устранить эту проблему можно так:
Найти запрос SELECT feature_id FROM categories_features where category_id = номеркатегории
и изменить его на SELECT feature_id FROM categories_features where 1
Понятно, что запрос не один в один такой, но что-то на это похожее.
Результат: чуть больше нагрузка на БД (а она и так незначительная) и у каждого товара будут ВСЕ СВОЙСТВА, что будет гарантией сохранения имеющихся свойств товара при неумелом редактировании.
Вопрос - в каком файле менять одну строку на другую.


#2 phukortsin

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

Опубликовано 12.05.2018 - 18:03

Пробуйте в simpla/ProductAdmin.php  фрагмент

 

                    // Свойства текущей категории
                    $category_features = array();
                    foreach($this->features->get_features(array('category_id'=>$product_categories[0])) as $f)
                        $category_features[] = $f->id;
 

заменить на

 

                    // Свойства текущей категории
                    $category_features = array();
                    foreach($this->features->get_features() as $f)
                        $category_features[] = $f->id;

 

А вообще способ не самый лучший.

 

 

 

Известно множество ошибок работы Simpla со свойствами. Некоторые из них замечены много лет назад. Одна из  ошибок описана здесь еще в 2012 году:

http://forum.simplac...ачения-свойств/

 

Последние известия по теме таковы. Тут

http://forum.simplac...бки-simpla-cms/

три месяца назад один спец написал

 

1. Решена проблема с пропажей свойств

 

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



#3 question

question
  • Пользователь
  • 53 сообщений
  • Заказчик, Пользователь
  • Версия CMS:2.x
  • Откуда:Россия

Опубликовано 14.05.2018 - 15:57

Пробуйте в simpla/ProductAdmin.php  фрагмент

 

                    // Свойства текущей категории
                    $category_features = array();
                    foreach($this->features->get_features(array('category_id'=>$product_categories[0])) as $f)
                        $category_features[] = $f->id;
 

заменить на

 

                    // Свойства текущей категории
                    $category_features = array();
                    foreach($this->features->get_features() as $f)
                        $category_features[] = $f->id;

 

А вообще способ не самый лучший.

Попробовал.

Исходные: категория 1 имеет свойства высота, ширина, глубина, категория 2 - не имеет.

При переносе товара из категории 1 в категорию 2 и последующем редактировании, в админке у товара свойства пропадают.

При переносе обратно, свойство восстанавливается. Не совсем то, что нужно, но всё же.

P.S. Нужно, чтобы в категории 2 свойство тоже отображалось.



#4 phukortsin

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

Опубликовано 14.05.2018 - 16:20

Пробуйте в simpla/ProductAdmin.php  заменить

            $features = $this->features->get_features(array('category_id'=>$category->id));
на

            $features = $this->features->get_features();



#5 question

question
  • Пользователь
  • 53 сообщений
  • Заказчик, Пользователь
  • Версия CMS:2.x
  • Откуда:Россия

Опубликовано 15.05.2018 - 14:42

Пробуйте в simpla/ProductAdmin.php  заменить

            $features = $this->features->get_features(array('category_id'=>$category->id));
на

            $features = $this->features->get_features();

Нет у меня такой строчки.

Есть

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

Может, вы об этом? Если нет, то на какой строчке искать?

 

В районе почти 400 строки у меня это:

 

        $features = $this->features->get_features();
        $this->design->assign('features', $features);


#6 phukortsin

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

Опубликовано 15.05.2018 - 16:57

В стандартной Simpla 2.3.8 такая строка есть, близко к концу. 

 

		// Все свойства товара
		$category = reset($product_categories);
		if(!is_object($category))
			$category = reset($categories);		
		if(is_object($category))
		{
			$features = $this->features->get_features(array('category_id'=>$category->id));
			$this->design->assign('features', $features);
		}
		
 	  	return $this->design->fetch('product.tpl');
	}
}

 

А у Вас, видимо, менялось...



#7 question

question
  • Пользователь
  • 53 сообщений
  • Заказчик, Пользователь
  • Версия CMS:2.x
  • Откуда:Россия

Опубликовано 15.05.2018 - 20:56

В стандартной Simpla 2.3.8 такая строка есть, близко к концу. 

 

		// Все свойства товара
		$category = reset($product_categories);
		if(!is_object($category))
			$category = reset($categories);		
		if(is_object($category))
		{
			$features = $this->features->get_features(array('category_id'=>$category->id));
			$this->design->assign('features', $features);
		}
		
 	  	return $this->design->fetch('product.tpl');
	}
}

 

А у Вас, видимо, менялось...

А у меня вот так

        // Все свойства
        $features = $this->features->get_features();
        $this->design->assign('features', $features);


#8 phukortsin

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

Опубликовано 16.05.2018 - 09:20

А у меня вот так
        // Все свойства
        $features = $this->features->get_features();
        $this->design->assign('features', $features);

 

Если у Вас нестандартно, то требуется индивидуальный анализ и индивидуальные изменения. Если готовы оплачивать, обращайтесь в личку...



#9 question

question
  • Пользователь
  • 53 сообщений
  • Заказчик, Пользователь
  • Версия CMS:2.x
  • Откуда:Россия

Опубликовано 16.05.2018 - 11:09

Видимо, версия движка другая.

Нет, доплачивать за исправление ошибок платного сырого движка, поддержка которого уже прекращена и обновления не предвидятся, не собираюсь. Дешевле пользоваться другой cms.



#10 Noxter

Noxter

    Simpla Developer

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

Опубликовано 16.05.2018 - 13:41

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

В другой CMS возможны свои ошибки, а также редкие обновления.

#11 phukortsin

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

Опубликовано 16.05.2018 - 15:35

В другой CMS возможны свои ошибки, а также редкие обновления.

 

Глубоко копнул. Широта мысли налицо...



#12 Noxter

Noxter

    Simpla Developer

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

Опубликовано 16.05.2018 - 15:42

Глубоко копнул. Широта мысли налицо...

Дебилу Корсу слова не давали, молча сиди ной в тряпочку :D

#13 phukortsin

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

Опубликовано 16.05.2018 - 16:03

За что ж сердишься, дяденька?

Это ж похвала твоим незаурядным мыслительным способностям...



#14 Noxter

Noxter

    Simpla Developer

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

Опубликовано 16.05.2018 - 18:37

За что ж сердишься, дяденька?
Это ж похвала твоим незаурядным мыслительным способностям...

Ко всем прочим диагнозам ты ещё и клоун как оказывается.

#15 question

question
  • Пользователь
  • 53 сообщений
  • Заказчик, Пользователь
  • Версия CMS:2.x
  • Откуда:Россия

Опубликовано 16.05.2018 - 18:41

Может, решение кто подскажет.

Оно простое, я даже пример запроса к mysql привёл,вот только не знаю, где искать.



#16 Noxter

Noxter

    Simpla Developer

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

Опубликовано 16.05.2018 - 19:06

Может, решение кто подскажет.
Оно простое, я даже пример запроса к mysql привёл,вот только не знаю, где искать.

Я решил этот вопрос, проект на работе.
Завтра дам решение если успею.
Напомните о себе в скайп simplacms.

#17 question

question
  • Пользователь
  • 53 сообщений
  • Заказчик, Пользователь
  • Версия CMS:2.x
  • Откуда:Россия

Опубликовано 18.05.2018 - 11:16

Я решил этот вопрос, проект на работе.
Завтра дам решение если успею.
Напомните о себе в скайп simplacms.

Скайпа нету. Попытаюсь напомнить здесь в надежде, что вы форум читаете



#18 Noxter

Noxter

    Simpla Developer

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

Опубликовано 18.05.2018 - 12:47

Скайпа нету. Попытаюсь напомнить здесь в надежде, что вы форум читаете

Я тут постоянно.
Какая у вас версия симплы?
У меня есть решение для 2.3.8

#19 question

question
  • Пользователь
  • 53 сообщений
  • Заказчик, Пользователь
  • Версия CMS:2.x
  • Откуда:Россия

Опубликовано 18.05.2018 - 13:03

У меня 2.1.4.



#20 Noxter

Noxter

    Simpla Developer

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

Опубликовано 18.05.2018 - 13:19

У меня 2.1.4.

Сбросьте ваш файл simpla/ProductsAdmin.php.




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

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