phukortsin Опубликовано 18 мая, 2018 Жалоба Поделиться Опубликовано 18 мая, 2018 (изменено) Файл simpla/ProductsAdmin.php, попробуйте после: case 'move_to_category': { $category_id = $this->request->post('target_category', 'integer'); $filter['page'] = 1; $category = $this->categories->get_category($category_id); $filter['category_id'] = $category->children;[/code] добавить: [code=auto:0]// fix features if(isset($ids)) { $pc = array(); foreach($this->categories->get_product_categories($ids) as $c) { $pc[$c->category_id] = $c; } if(!empty($pc)) { foreach($this->features->get_features(array('category_id'=>array_keys($pc))) as $f) { $this->features->add_feature_category($f->id, $category_id); } } } Предварительно создайте бекап сайта и БД. Формально он работает и задачу решает, но уж больно странный подход... При выполнении действия 'move_to_category' скрытно добавляется множество новых привязок свойств к категориям. Со временем админ про такое забудет и пойдут вопросы типа - у меня самопроизвольно добавляются связки свойство-категория... Я понял ваше решение, спасибо.Но я хотел бы подойти с другой стороны: как новой категории автоматом назначить все свойства?Я могу это сделать через запрос к mysql, но хотелось бы, чтобы все свойства уже были назначены каждой категории изначально. То есть, всего лишь при запросе к БД игнорировать это:where category_id = номеркатегории. Если Вы можете это сделать через SQL-запрос, то почему бы Вам это не сделать и не мудрствовать тут? "при запросе к БД игнорировать это" - довольно бессмысленная фраза. Если Вам надо, то Вы и игнорируйте. А БД работает по своим правилам и не подразумевает таких непонятных игнорирований. Если не согласны, изучайте учебники по работе с базой и ищите там методы игнорирования... Изменено 18 мая, 2018 пользователем phukortsin Цитата Ссылка на сообщение Поделиться на другие сайты
shooroop Опубликовано 18 мая, 2018 Жалоба Поделиться Опубликовано 18 мая, 2018 Поддержу Корса в этом вопросе Цитата Ссылка на сообщение Поделиться на другие сайты
question Опубликовано 18 мая, 2018 Автор Жалоба Поделиться Опубликовано 18 мая, 2018 Моё решение решает ваш вопрос, теперь вам нужно что-то другое...Простите но мне перехотелось вам помогать."Что-то другое" нужно было в самом начале этой темы, в самом первом сообщении. Вы просто невнимательны. Цитата Ссылка на сообщение Поделиться на другие сайты
question Опубликовано 18 мая, 2018 Автор Жалоба Поделиться Опубликовано 18 мая, 2018 (изменено) Если Вы можете это сделать через SQL-запрос, то почему бы Вам это не сделать и не мудрствовать тут? "при запросе к БД игнорировать это" - довольно бессмысленная фраза. Если Вам надо, то Вы и игнорируйте. А БД работает по своим правилам и не подразумевает таких непонятных игнорирований. Если не согласны, изучайте учебники по работе с базой и ищите там методы игнорирования... Могу порекомендовать вам изучить что такое MySQL и базовые понятия - такие, как запрос, виды запросов. После чего уже умничать. Изменено 18 мая, 2018 пользователем question Цитата Ссылка на сообщение Поделиться на другие сайты
phukortsin Опубликовано 18 мая, 2018 Жалоба Поделиться Опубликовано 18 мая, 2018 Спасибо за ценную рекомендацию, она выполнена много лет назад. В свою очередь порекомендую Вам не глупить, бросаясь безграмотными фразами, а формулировать свои цели и задачи хоть немного внятно в принятых терминах - тогда и ответ полезный скорее получите... Цитата Ссылка на сообщение Поделиться на другие сайты
Noxter Опубликовано 18 мая, 2018 Жалоба Поделиться Опубликовано 18 мая, 2018 Формально он работает и задачу решает, но уж больно странный подход... При выполнении действия 'move_to_category' скрытно добавляется множество новых привязок свойств к категориям. Со временем админ про такое забудет и пойдут вопросы типа - у меня самопроизвольно добавляются связки свойство-категория...Никаких лишних связок и дублей не будет, советую ознакомится с API симплы прежде чем слухи пускать ни о чём."Что-то другое" нужно было в самом начале этой темы, в самом первом сообщении. Вы просто невнимательны.Да вот пожалуйста, вы сами написали но видать забыли уточнить как именно товар перемещается из одной категории в другую...Здравствуйте. Пропадают свойства. Постараюсь назвать причину. 1. Товар перемещается из категории "смартфоны" в "мобильные телефоны", в которой отсутствует свойство "версия Android" Цитата Ссылка на сообщение Поделиться на другие сайты
phukortsin Опубликовано 18 мая, 2018 Жалоба Поделиться Опубликовано 18 мая, 2018 Никаких лишних связок и дублей не будет, советую ознакомится с API симплы прежде чем слухи пускать ни о чём. Все зависит от того, что считать "лишними" связками.Допустим, есть:1. Товар Т1, в категории K1, к которой привязано свойство С1.2. Другой товар Т2, в другой категории K2, к которой привязано свойство С2.3. Других товаров, категорий, свойств нет.Имеем только 2 привязки К1-С1 и К2-С2. Админ переносит товар Т1 в категорю Т2.В результате появится третья привязка K2-С1. А потом админ передумал и сразу перенес этот же товар назад в Т1.В результате появится четвертая привязка K1-С2. Админ думает, что ничего не поменялось - он вернул все назад. Но реально добавились лишние привязки. И они могут проявиться там, где админ их не ожидает, например, в фильтрах... Цитата Ссылка на сообщение Поделиться на другие сайты
Noxter Опубликовано 18 мая, 2018 Жалоба Поделиться Опубликовано 18 мая, 2018 Все зависит от того, что считать "лишними" связками.Допустим, есть:1. Товар Т1, в категории K1, к которой привязано свойство С1.2. Другой товар Т2, в другой категории K2, к которой привязано свойство С2.3. Других товаров, категорий, свойств нет.Имеем только 2 привязки К1-С1 и К2-С2. Админ переносит товар Т1 в категорю Т2.В результате появится третья привязка K2-С1. А потом админ передумал и сразу перенес этот же товар назад в Т1.В результате появится четвертая привязка K1-С2. Админ думает, что ничего не поменялось - он вернул все назад. Но реально добавились лишние привязки. И они могут проявиться там, где админ их не ожидает, например, в фильтрах...Буду у ПК проверю. Цитата Ссылка на сообщение Поделиться на другие сайты
question Опубликовано 18 мая, 2018 Автор Жалоба Поделиться Опубликовано 18 мая, 2018 Полагаю, копать надо в сторону Features.php, там есть функция get_features, хотя... Цитата Ссылка на сообщение Поделиться на другие сайты
phukortsin Опубликовано 19 мая, 2018 Жалоба Поделиться Опубликовано 19 мая, 2018 Полагаю, копать надо в сторону Features.php, там есть функция get_features, хотя... Полагаю, Вы полагаете принципиально неверно.api/Features.php - это служебный инструмент для выполнения разных типовых действий.А надо копать там, где этот инструмент применяется... Если Вам выкопали траншею не по краю участка, как Вы заказывали, а испортили красивую лужайку в центре, то претензии надо предъявлять не тому, кто создал трактор, а тому, кто им управлял... Цитата Ссылка на сообщение Поделиться на другие сайты
phukortsin Опубликовано 21 мая, 2018 Жалоба Поделиться Опубликовано 21 мая, 2018 Буду у ПК проверю.Закричал он: -Что за шутки! Еду я вторые сутки, А приехал я назад, А приехал в Ленинград! Цитата Ссылка на сообщение Поделиться на другие сайты
Noxter Опубликовано 21 мая, 2018 Жалоба Поделиться Опубликовано 21 мая, 2018 Закричал он: -Что за шутки!Еду я вторые сутки,А приехал я назад,А приехал в Ленинград!Ай да клоун Цитата Ссылка на сообщение Поделиться на другие сайты
phukortsin Опубликовано 21 мая, 2018 Жалоба Поделиться Опубликовано 21 мая, 2018 Ай да клоун Согласен, клоун хороший.1. Сначала в http://forum.simplacms.ru/topic/13358-ошибки-simpla-cms/ написал "1. Решена проблема с пропажей свойств"2. Потом в этой теме "Я решил этот вопрос, проект на работе. Завтра дам решение если успею. Напомните о себе в скайп simplacms."3. Потом в этой теме "Никаких лишних связок и дублей не будет."4. Потом видимо, подумал, и уже не стал настаивать на отсутствии лишних связок, а высказался эдак осторожненько "Буду у ПК проверю." Минимум 4 флудовых поста ни о чем, в стиле "Это я, это я, посмотрите на меня."Клоунские приемы применены очень квалифицированно на высочайшем уровне. Цитата Ссылка на сообщение Поделиться на другие сайты
Noxter Опубликовано 21 мая, 2018 Жалоба Поделиться Опубликовано 21 мая, 2018 Согласен, клоун хороший. 1. Сначала в http://forum.simplacms.ru/topic/13358-ошибки-simpla-cms/ написал "1. Решена проблема с пропажей свойств" 2. Потом в этой теме "Я решил этот вопрос, проект на работе. Завтра дам решение если успею. Напомните о себе в скайп simplacms." 3. Потом в этой теме "Никаких лишних связок и дублей не будет." 4. Потом видимо, подумал, и уже не стал настаивать на отсутствии лишних связок, а высказался эдак осторожненько "Буду у ПК проверю." Минимум 4 флудовых поста ни о чем, в стиле "Это я, это я, посмотрите на меня." Клоунские приемы применены очень квалифицированно на высочайшем уровне.Нет корс ты не понял, клоун у нас как раз ты, ведешь себя как идиот, в таком возрасте занимаешься такой ерундой. Тебе бы внуков нянчить, да видать нету, иначе ты бы не был такой занозой в заднице.. Простите форуме. Цитата Ссылка на сообщение Поделиться на другие сайты
question Опубликовано 24 мая, 2018 Автор Жалоба Поделиться Опубликовано 24 мая, 2018 Ну что там с решением? Цитата Ссылка на сообщение Поделиться на другие сайты
phukortsin Опубликовано 25 мая, 2018 Жалоба Поделиться Опубликовано 25 мая, 2018 Ну что там с решением? "что там" - это все относительно. 1. С точки зрения Noxter-а, вопрос решен, решение дано.2. С моей точки зрения, оно имеет существенный недостатки, подробности описаны выше. На мои замечания Noxter ответ по существу не дал, хотя обещал эти замечания проверить.3. Как с Вашей точки зрения, знаете только Вы. Пробуйте предложенное решение и сообщайте о результатах. Может, описанные недостатки Вам не помешают и Вы будете довольны. А может, наоборот, обнаружите другие недостатки. Надо работать хоть в минимальной мере, а не ждать готового решения с сертификатами качества... То, что Вам предложили, исходит от одного из самых лучших специалистов (со стажем работы с Simpla порядка 10 лет). Поэтому лучший вариант вряд ли получите, во всяком случае бесплатно. И если предложенное совсем не нравится, создавайте свое... Цитата Ссылка на сообщение Поделиться на другие сайты
Noxter Опубликовано 31 мая, 2018 Жалоба Поделиться Опубликовано 31 мая, 2018 (изменено) Скажу так: бесплатного лучшего решения (в том числе и неадекват Корс) вряд ли предложит.Не устраивает моё бесплатное решение не пользуйтесь, хотите чтобы было всё правильно работало - платите, я сделаю.Другими словами никто не готов сделать что-то сложное решив вопрос при этом не попросив сумму за работу (как Корс запрашивает цену over 100$). Изменено 31 мая, 2018 пользователем Noxter Цитата Ссылка на сообщение Поделиться на другие сайты
Noxter Опубликовано 4 июня, 2018 Жалоба Поделиться Опубликовано 4 июня, 2018 Пересмотрел своё решение, действительно остается лишняя связь в БД (в крайне редких случаях), но только при условии что у товара может быть несколько уникальных свойств которых нет у других товаров текущей категории. По хорошему нужно сделать доп. запрос на просчёт существования связи товара и свойства, если нет то убрать связь свойства с категорией. Согласен так будет правильнее. Цитата Ссылка на сообщение Поделиться на другие сайты
phukortsin Опубликовано 4 июня, 2018 Жалоба Поделиться Опубликовано 4 июня, 2018 (изменено) Пересмотрел своё решение, действительно остается лишняя связь в БД (в крайне редких случаях), но только при условии что у товара может быть несколько уникальных свойств которых нет у других товаров текущей категории. Появляется лишняя связь в редких или не в редких случаях - это вопрос индивидуальной копии CMS, и сильно зависит от того, как именно работают в админке с категориями, товарами, свойствами. Простенький пример появления лишних связей, который дан в #32, показывает, что появляться они могут не только в сложных экзотических случаях, а очень даже часто при простых действиях админа. И никаких уникальных свойств для этого вовсе не требуется. Тот же пример легко тривиально модифицировать так, что что свойства станут не уникальными, а лишние связи появятся. Пересмотрел своё решение, действительно остается лишняя связь в БД (в крайне редких случаях), но только при условии что у товара может быть несколько уникальных свойств которых нет у других товаров текущей категории.По хорошему нужно сделать доп. запрос на просчёт существования связи товара и свойства, если нет то убрать связь свойства с категорией.Согласен так будет правильнее. Очень сомнительно, что это будет "по хорошему", так как может приводить к тому, что связи категория-свойство, которые админ установил вручную, могут сами по себе пропадать. Вряд ли активно работающий админ сочтет, что "так будет правильнее". Фактически Вы предлагаете не лучшим образом переделать стандартный функционал Simpla в интересах своей задачи. И даже в интересах своего метода, который сам по себе не слишком хорош... Изменено 4 июня, 2018 пользователем phukortsin Цитата Ссылка на сообщение Поделиться на другие сайты
Noxter Опубликовано 4 июня, 2018 Жалоба Поделиться Опубликовано 4 июня, 2018 Корс ты дурак? Сначала пишешь что есть баг с лишними связями, я предлагаю решение (в теории), после ты пишешь что этого нельзя делать потому что так админ указал в настройках свойства. Маразм... Сядь да напиши решение, уверен многие скажут тебе спасибо. P.S. Про удаление связи категория - свойство имелось в виду если нет ни одного товара в этой категории с таким свойством, жаль что ты не проявил логическое мышление, тем самым создал лишний "базар", впрочем ничего в тебе не меняется ГОДАМИ. Цитата Ссылка на сообщение Поделиться на другие сайты
phukortsin Опубликовано 4 июня, 2018 Жалоба Поделиться Опубликовано 4 июня, 2018 Доработки надо делать так, чтобы не портить текущий функционал. А у Вас он портится как в первом предложенном решении, так и и в последующей Вашей идее. 1. Ваша первая разработка основывалась на том, что Вы тайком добавляли связи. Естественно, они будут при таком подходе появляться лишние, там, где админ их не ждет. Пример описан в #32.2. Теперь, чтобы исправить это свое странное решение, Вы придумали решение в теории "сделать доп. запрос на просчёт существования связи товара и свойства, если нет то убрать связь свойства с категорией". Опять же, делаться это будет, видимо, в тайне от админа. И по тем же причинам будут исчезать свойства. В Simpla стандартно сделано так, что связки категория-свойство задаются явным образом в админке на странице свойств. А Вы их собираетесь устанавливать и удалять тайком, по своим туманным критериям. Ваша терия "если нет то убрать связь свойства с категорией" выглядит осмысленной только на первый взгляд. Но в реальности все не так прямолинейно. На практике НЕТ только здесь и сейчас. А админ-то связку установил, чтоб ее использовать позже. А Вы ее раньше времени удалите - вот и выйдет совсем не хорошо... Как Ваше первое решение на практике, так и второе в теории - оба очевидно авантюрные, высосанные из пальца, чреватые ошибками. Цитата Ссылка на сообщение Поделиться на другие сайты
Noxter Опубликовано 4 июня, 2018 Жалоба Поделиться Опубликовано 4 июня, 2018 Гвоздь в лоб тебе бы вбить, да в лечебницу для умалишённых.У меня всё. Цитата Ссылка на сообщение Поделиться на другие сайты
shooroop Опубликовано 5 июня, 2018 Жалоба Поделиться Опубликовано 5 июня, 2018 Гвоздь в лоб тебе бы вбить, да в лечебницу для умалишённых.У меня всё. но он от части прав Цитата Ссылка на сообщение Поделиться на другие сайты
Noxter Опубликовано 5 июня, 2018 Жалоба Поделиться Опубликовано 5 июня, 2018 но он от части правПрав, не прав, он ничего кроме как пи***** не может.Вываливает свой выпендрёж в сети, ибо по факту гнустный, скучный дедуган без пенсии. Вот и сидит на форуме, тролит всех, занять себя то нечем. Цитата Ссылка на сообщение Поделиться на другие сайты
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.