Сообщение #5 korshunov » 06.07.2021, 07:48
Перенесение товаров в другую категорию - уже много лет хорошо известный больной вопрос для Simpla:
http://simpla-tuning.com/oshibki-peremescheniya-v-zadannuyu-kategoriyuК сожалению, для Okay описанное по ссылке остается актуальным. Странно, но факт: несмотря на большие переделки, в Okay функционал действует в точности с теми же указанными по ссылке недостатками, что и в Simpla.
Если подойти с другой стороны и посмотреть на код, то с ходу видны недостатки:
1. В BackendProductsHelper.php в функции actionMoveToCategory определяется переменная $delete, в которой готовится запрос, но сам запрос не выполняется. Видимо, разработчики решили действовать по принципу почтальона Печкина, который посылку приносил, но не отдавал.
2. Действия выполняются в цикле для каждого товара в отдельности. В то время как совсем несложно (по крайней мере частично) избавиться от цикла.
3. Сама функция - похоже на бездумный перевод под Okay написанного в Simpla. И, как водится, при таком подходе без ошибок обходится редко.
На практике мало кто активно работает с перемещением между категориями. А если уж кто возьмется, то, скорее всего, наткнется на такие вот ляпы разработчиков, которые являются результатом тривиального списывания...
Поэтому использовать этот функционал надо с осторожностью, правильно работает лишь в самых простых случаях, например, если у товара только одна категория...
Перенесение товаров в другую категорию - уже много лет хорошо известный больной вопрос для Simpla:
http://simpla-tuning.com/oshibki-peremescheniya-v-zadannuyu-kategoriyu
К сожалению, для Okay описанное по ссылке остается актуальным. Странно, но факт: несмотря на большие переделки, в Okay функционал действует в точности с теми же указанными по ссылке недостатками, что и в Simpla.
Если подойти с другой стороны и посмотреть на код, то с ходу видны недостатки:
1. В BackendProductsHelper.php в функции actionMoveToCategory определяется переменная $delete, в которой готовится запрос, но сам запрос не выполняется. Видимо, разработчики решили действовать по принципу почтальона Печкина, который посылку приносил, но не отдавал.
2. Действия выполняются в цикле для каждого товара в отдельности. В то время как совсем несложно (по крайней мере частично) избавиться от цикла.
3. Сама функция - похоже на бездумный перевод под Okay написанного в Simpla. И, как водится, при таком подходе без ошибок обходится редко.
На практике мало кто активно работает с перемещением между категориями. А если уж кто возьмется, то, скорее всего, наткнется на такие вот ляпы разработчиков, которые являются результатом тривиального списывания...
Поэтому использовать этот функционал надо с осторожностью, правильно работает лишь в самых простых случаях, например, если у товара только одна категория...