madison21 Опубликовано 19 мая, 2018 Жалоба Поделиться Опубликовано 19 мая, 2018 Продолжаю знакомиться с движком, магазин уже запустили.Выявил ошибку..Когда большой массив товаров (больше чем помещается на одно странице по умолчанию), то при выборе показать их всех сразу на одной странице, невозможно потом их все скопом удалить, выделив галочками.Ни один товар просто не удаляется после подтверждения.Это у меня только так по неизвестной причине или ошибка движка и кто сталкивался с подобным? Цитата Ссылка на сообщение Поделиться на другие сайты
shooroop Опубликовано 19 мая, 2018 Жалоба Поделиться Опубликовано 19 мая, 2018 попробуйте на demo.simplacms.ru возможно только у вас, через импорт загрузите свой каталог и пробуйте Цитата Ссылка на сообщение Поделиться на другие сайты
Noxter Опубликовано 19 мая, 2018 Жалоба Поделиться Опубликовано 19 мая, 2018 попробуйте на demo.simplacms.ru возможно только у вас, через импорт загрузите свой каталог и пробуйтеНа демо не так много товаров чтобы подобная ошибка возникла. Цитата Ссылка на сообщение Поделиться на другие сайты
Решение phukortsin Опубликовано 19 мая, 2018 Решение Жалоба Поделиться Опубликовано 19 мая, 2018 (изменено) Такое имеет место быть, встречалось неоднократно. Есть как минимум две причины. 1. ограничение max_input_vars, неоднократно возникали вопросы по похожим ситуациям, напримерhttp://forum.simplacms.ru/topic/10128-%D0%BA%D0%B0%D1%82%D0%B5%D0%B3%D0%BE%D1%80%D0%B8%D0%B8-%D1%82%D0%BE%D0%B2%D0%B0%D1%80%D0%BE%D0%B2/ 2. Другая - нерациональный способ удаления в Simpla. Разработчиком сделано так, что при удалении одного товара требуются много SQL-запросов, в зависимости от данных более 10, а может быть и 100. А при массовом удалении товаров эти запросы выполняются тупо в цикле для каждого товара отдельно. И вполне может оказаться, что число запросов может подойти к миллиону, чего частенько хостинг не выдерживает... Как уже советовали ранее, попробуйте импортом загрузить на демо свои данные и посмотреть, сработает ли там... Изменено 19 мая, 2018 пользователем phukortsin Цитата Ссылка на сообщение Поделиться на другие сайты
Gruzin Опубликовано 19 мая, 2018 Жалоба Поделиться Опубликовано 19 мая, 2018 У меня такая же беда, 9000 товаров и никогда не получалось удалить из сразу, удаляю через базу. Цитата Ссылка на сообщение Поделиться на другие сайты
madison21 Опубликовано 19 мая, 2018 Автор Жалоба Поделиться Опубликовано 19 мая, 2018 (изменено) На демо 15000 товаров, позаливали все кому не лень))там когда показать все нажимаешь сервер загибается и ошибку выдаёт.Но я сделал свой импорт с 400 товарами и там удалилось когда все выбрал.Значит не ошибка движка.Правда потом когда вернул старый импорт, фотографий уже не было.Там есть кому подправить?Я посмотрел у себя на хостинге в настройках есть функция php_max_input_vars:Там значение 1000 Но товаров у меня и 400 не хочет удалять.. есть ли смысл увеличивать? Изменено 19 мая, 2018 пользователем madison21 Цитата Ссылка на сообщение Поделиться на другие сайты
phukortsin Опубликовано 19 мая, 2018 Жалоба Поделиться Опубликовано 19 мая, 2018 Но товаров у меня и 400 не хочет удалять.. есть ли смысл увеличивать?Есть. Цитата Ссылка на сообщение Поделиться на другие сайты
shooroop Опубликовано 19 мая, 2018 Жалоба Поделиться Опубликовано 19 мая, 2018 На демо не так много товаров чтобы подобная ошибка возникла. Такое чувство что ты только первую часть предложения читаешь все.. Цитата Ссылка на сообщение Поделиться на другие сайты
Noxter Опубликовано 19 мая, 2018 Жалоба Поделиться Опубликовано 19 мая, 2018 Такое чувство что ты только первую часть предложения читаешь все..В этот раз да, но я ни в чём не ошибся. Цитата Ссылка на сообщение Поделиться на другие сайты
madison21 Опубликовано 19 мая, 2018 Автор Жалоба Поделиться Опубликовано 19 мая, 2018 В этот раз да, но я ни в чём не ошибся.Ты просто давно не заглядывал на демо симплы.Там сейчас 15000 товаров, насовали тестировщики)) А shooroop говорил чтобы свой каталог залить и проверить, я так и сделал. Цитата Ссылка на сообщение Поделиться на другие сайты
Noxter Опубликовано 19 мая, 2018 Жалоба Поделиться Опубликовано 19 мая, 2018 Ты просто давно не заглядывал на демо симплы. Там сейчас 15000 товаров, насовали тестировщики)) А shooroop говорил чтобы свой каталог залить и проверить, я так и сделал.Без разницы какой там сейчас каталог, со временем бекап стандартной симплы восстанавливается. Цитата Ссылка на сообщение Поделиться на другие сайты
madison21 Опубликовано 19 мая, 2018 Автор Жалоба Поделиться Опубликовано 19 мая, 2018 Без разницы какой там сейчас каталог, со временем бекап стандартной симплы восстанавливается.Да ладно земляк, не столь важно, мелочи это..В любом случае спасибо за мнение.. Цитата Ссылка на сообщение Поделиться на другие сайты
madison21 Опубликовано 19 мая, 2018 Автор Жалоба Поделиться Опубликовано 19 мая, 2018 (изменено) Такое имеет место быть, встречалось неоднократно. Есть как минимум две причины. 1. ограничение max_input_vars, неоднократно возникали вопросы по похожим ситуациямТаки докопался.Поменял в настройках админки хостинга я этот параметр max_input_vars с 1000 до 5000 и попробовал удалить.Всё сработало!!! Значит в этом дело оказывается. А кто знает не отразится ли смена этого параметра на что другое?И какие ограничения у этого параметра... то есть максимум? Изменено 19 мая, 2018 пользователем madison21 Цитата Ссылка на сообщение Поделиться на другие сайты
Tamara Опубликовано 25 июня, 2018 Жалоба Поделиться Опубликовано 25 июня, 2018 (изменено) Продолжаю знакомиться с движком, магазин уже запустили. Выявил ошибку..Когда большой массив товаров (больше чем помещается на одно странице по умолчанию), то при выборе показать их всех сразу на одной странице, невозможно потом их все скопом удалить, выделив галочками. Ни один товар просто не удаляется после подтверждения.Это у меня только так по неизвестной причине или ошибка движка и кто сталкивался с подобным?пост запросы ограничены, меняйте хостинг Изменено 25 июня, 2018 пользователем Tamara Цитата Ссылка на сообщение Поделиться на другие сайты
voron Опубликовано 4 октября, 2018 Жалоба Поделиться Опубликовано 4 октября, 2018 пост запросы ограничены, меняйте хостингМеняйте сразу движок. Еще много чего найдете пока не плюнете. Цитата Ссылка на сообщение Поделиться на другие сайты
Noxter Опубликовано 5 октября, 2018 Жалоба Поделиться Опубликовано 5 октября, 2018 Меняйте сразу движок. Еще много чего найдете пока не плюнете.Ничего более умного не придумали?С вашими советами идти на базаре торговать. Цитата Ссылка на сообщение Поделиться на другие сайты
phukortsin Опубликовано 5 октября, 2018 Жалоба Поделиться Опубликовано 5 октября, 2018 Ничего более умного не придумали?С вашими советами идти на базаре торговать.Меняйте сразу движок. Еще много чего найдете пока не плюнете. По моим наблюдениям, на Simpla в последнее время новые проекты почти не создаются, а в основном поддерживаются созданные ранее. Что вполне естественно для системы, у которой пятый год нет обновлений. Цитата Ссылка на сообщение Поделиться на другие сайты
voron Опубликовано 5 октября, 2018 Жалоба Поделиться Опубликовано 5 октября, 2018 Я на ReadyScript ушел. Там все как надо, и тоже на Smarty. Simpla - это CMS начального уровня для "разминки". Цитата Ссылка на сообщение Поделиться на другие сайты
Noxter Опубликовано 5 октября, 2018 Жалоба Поделиться Опубликовано 5 октября, 2018 Я на ReadyScript ушел. Там все как надо, и тоже на Smarty. Simpla - это CMS начального уровня для "разминки".Тогда спрашивается какого хера вы тут на форуме плодите свой никому не нужный мусор? Цитата Ссылка на сообщение Поделиться на другие сайты
phukortsin Опубликовано 5 октября, 2018 Жалоба Поделиться Опубликовано 5 октября, 2018 (изменено) Тогда спрашивается какого хера вы тут на форуме плодите свой никому не нужный мусор? Надо различать - не нужно Noxter-у персонально и не нужно никому вообще. Все же есть некоторая разница. Noxter, сделайте паузу, не плодите мусор своими сообщениями. У Вас сейчас такое симпатичное количество сообщений - просто заглядение - ни у кого такого нет, и может, никогда не будет. Пусть повисит хоть недельку... Изменено 5 октября, 2018 пользователем phukortsin Цитата Ссылка на сообщение Поделиться на другие сайты
Noxter Опубликовано 5 октября, 2018 Жалоба Поделиться Опубликовано 5 октября, 2018 (изменено) Надо различать - не нужно Noxter-у персонально и не нужно никому вообще. Все же есть некоторая разница. Noxter, сделайте паузу, не плодите мусор своими сообщениями. У Вас сейчас такое симпатичное количество сообщений - просто заглядение - ни у кого такого нет, и может, никогда не будет. Пусть повисит хоть недельку...Корс мудозвон завидуй молча, самый что не есть говнюк форума это ты, тебе это уже много людей высказало и утёрло тебе нос, ты никому не нужен - смирись старичок... Изменено 5 октября, 2018 пользователем Noxter Цитата Ссылка на сообщение Поделиться на другие сайты
Noxter Опубликовано 5 октября, 2018 Жалоба Поделиться Опубликовано 5 октября, 2018 (изменено) Вообще механизм удаления товара настолько топорный что волосы стали дыбом.public function delete_product($id) { if(!empty($id)) { // Удаляем варианты $variants = $this->variants->get_variants(array('product_id'=>$id)); foreach($variants as $v) $this->variants->delete_variant($v->id); // Удаляем изображения $images = $this->get_images(array('product_id'=>$id)); foreach($images as $i) $this->delete_image($i->id); // Удаляем категории $categories = $this->categories->get_categories(array('product_id'=>$id)); foreach($categories as $c) $this->categories->delete_product_category($id, $c->id); // Удаляем свойства $options = $this->features->get_options(array('product_id'=>$id)); foreach($options as $o) $this->features->delete_option($id, $o->feature_id); // Удаляем связанные товары $related = $this->get_related_products($id, 'product'); foreach($related as $r) $this->delete_related_product($id, $r->related_id, 'product'); // Удаляем товар из связанных с другими $query = $this->db->placehold("DELETE FROM __related_products WHERE related_id=? AND object=product", intval($id)); $this->db->query($query); // Удаляем отзывы $comments = $this->comments->get_comments(array('object_id'=>$id, 'type'=>'product')); foreach($comments as $c) $this->comments->delete_comment($c->id); // Удаляем из покупок $this->db->query('UPDATE __purchases SET product_id=NULL WHERE product_id=?', intval($id)); // Удаляем товар $query = $this->db->placehold("DELETE FROM __products WHERE id=? LIMIT 1", intval($id)); if($this->db->query($query)) return true; } return false; } Зачем все эти get_variants, get_images, get_categories и прочие когда можно обойтись парочкой SQL запросов и unlink-ом файлов???Функция удаления частично работает через API, а частично просто SQL запросом, вообще бредня какая-то.Я никогда на этот кусок кода не обращал внимания, сейчас вот сел пересмотрел и офигел!1. Варианты товара - 3 запроса2. Изображения - 4 запроса + тяжелая функция glob (продублированная) для чтения директории изображений3. Связка категорий 2 запроса + рекурсивный запрос (ужас!)4. Свойства - 2 запроса5. Связанные товары - 3 запроса6. Комменты - 2 запроса7. Покупки - 1 запрос8. Сам товар - 1 запросДля удаления одного товара у нас выполняется 18 запросов, рекурсивный обход категорий и ресурсоёмкая функция для удаления картинок с сервера.Как бы это по-мягче выразить... Это писец просто! Изменено 5 октября, 2018 пользователем Noxter Цитата Ссылка на сообщение Поделиться на другие сайты
phukortsin Опубликовано 5 октября, 2018 Жалоба Поделиться Опубликовано 5 октября, 2018 1. Варианты товара - 3 запроса2. Изображения - 4 запроса + тяжелая функция glob (продублированная) для чтения директории изображений3. Связка категорий 2 запроса + рекурсивный запрос (ужас!)4. Свойства - 2 запроса5. Связанные товары - 3 запроса6. Комменты - 2 запроса7. Покупки - 1 запрос8. Сам товар - 1 запросДля удаления одного товара у нас выполняется 18 запросов, рекурсивный обход категорий и ресурсоёмкая функция для удаления картинок с сервера.Как бы это по-мягче выразить... Это писец просто! Арифметика совсем неправильная. Для одного товара требуется РАЗНОЕ число запросов, чаще всего намного больше. Про это в теме ранее сказано в #4. Обычно программисты с арифметикой не путают, особенно так грубо... Цитата Ссылка на сообщение Поделиться на другие сайты
Noxter Опубликовано 5 октября, 2018 Жалоба Поделиться Опубликовано 5 октября, 2018 (изменено) Арифметика совсем неправильная. Для одного товара требуется РАЗНОЕ число запросов, чаще всего намного больше. Про это в теме ранее сказано в #4. Обычно программисты с арифметикой не путают, особенно так грубо...При условии что все связи есть конечно. Изменено 5 октября, 2018 пользователем Noxter Цитата Ссылка на сообщение Поделиться на другие сайты
Kosjak76 Опубликовано 5 октября, 2018 Жалоба Поделиться Опубликовано 5 октября, 2018 // Удаляем свойства $options = $this->features->get_options(array('product_id'=>$id)); foreach($options as $o) $this->features->delete_option($id, $o->feature_id); Вот здесь легко может быть и 20 запросов и 50 Как и в остальных циклах... Цитата Ссылка на сообщение Поделиться на другие сайты
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.