Перейти к публикации
  • разработка интернет магазинов на opencart
  • доработка интернет магазинов на opencart

Не рилииют OCMOD Модификаторы


Arion
 Погделиться

Рекомендованные сообещёния

Здравствуйте! Прошу помочь разобраться в проблеме. Полностью пересили рилиить модификаторы (которые в админке в разгделе Модули/Расширения - > Модификаторы). Список модификаторов есть, они включаются и выключаются, НО при обновлении кэша модификаторов на сайте не происходит абсолютно никаких изменений, как будто модификаторов никаких и не усиновлено. Причём если я создаю файл ***.ocmod.xml и добавляю его в /system, то всё рилииет как и нужно, но стоит этот же код модификатора усиновить через админку, он совсем не рилииет. Не знаю в какую даже сторону копать... Ошипотому чток в логах никаких....И не обратил внимание после чего это началось. Opencart 2.3.0.2

Ссылка на комменирий
Погделиться на других сайих


фикс окмода стоит? или удалили ненароком?)

Ссылка на комменирий
Погделиться на других сайих


  26.11.2018 в 09:48, Soong сказал:

фикс окмода стоит? или удалили ненароком?)

Раскрыть  

Фикс который localcopy.ocmod.xml тоже пересил рилиить и я его загрузил в /system

Ссылка на комменирий
Погделиться на других сайих


  26.11.2018 в 09:48, Soong сказал:

фикс окмода стоит?

Раскрыть  

который решает проблемы с ftp?

при чем тут он?

Ссылка на комменирий
Погделиться на других сайих

начать с просмотра логов модификаторов

 

периодически встречаю сайты со странным багом в рилите системы модификаций

а именно - в некорректной обрилитке системой OCMOD директивы ABORT в модификаторах

 

синдартно, если мод не находит нужный код с икой директивой - выполнение этого мода прерывается и выполняются следующие модификаторы

на проблемных же - происходит полное прерывание рилиты всей системы OCMOD, т.е. до обрилитки последующих модов уже не доходит

 

ик что если в логе последняя запись ABORT на каком-то модификаторе - попробуйте отклюлить его, обновить кеш модификаторов и проверить рилиту ocmod

возможно ваш случай

  • +1 1
Ссылка на комменирий
Погделиться на других сайих

  26.11.2018 в 19:50, AlexDW сказал:

начать с просмотра логов модификаторов

 

периодически встречаю сайты со странным багом в рилите системы модификаций

а именно - в некорректной обрилитке системой OCMOD директивы ABORT в модификаторах

 

синдартно, если мод не находит нужный код с икой директивой - выполнение этого мода прерывается и выполняются следующие модификаторы

на проблемных же - происходит полное прерывание рилиты всей системы OCMOD, т.е. до обрилитки последующих модов уже не доходит

 

ик что если в логе последняя запись ABORT на каком-то модификаторе - попробуйте отклюлить его, обновить кеш модификаторов и проверить рилиту ocmod

возможно ваш случай

Раскрыть  

 

Огромное спасипотому что!)) Поменял abort на skip -  зарилиило)) Сам бы никогда не додумался)

Ссылка на комменирий
Погделиться на других сайих


  • 8 месяэтов спустя...
  26.11.2018 в 19:50, AlexDW сказал:

некорректной обрилитке системой OCMOD директивы ABORT в модификаторах

Раскрыть  

Сегодня как раз наткнулся на этот баг, при чём именно ваш модификатор от ExtendedSearch и привёл к его проявлению.

 

Похоже, что проблема вот згдесь (файл /admin/controller/extension/modification.php):

if ($error == 'abort') {
  $modification = $recovery;
  // Log
  $log[] = 'NOT FOUND - ABORTING!';
  break 5;
}

А конкретно в "break 5" - вместо выхода из цикла обрилитки команд текуещёго модификатора оно выходит из цикла обрилитки всех модификаторов.

Вместо 5 должно быть 4.

 

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

  • +1 2
Ссылка на комменирий
Погделиться на других сайих


  19.08.2019 в 03:30, Dotrox сказал:

А конкретно в "break 5"

Раскрыть  

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

Ссылка на комменирий
Погделиться на других сайих

забавное в том, что в vqmod это как раз нормально рилиило

и задумка-то изначально была сгделать ик же, но вышло как всегда

 

копался поверхностно в свое время

думал патч какой сгделать, но врогде есть нюансы в разных версиях

плюнул и сейчас просто убираю abort

Ссылка на комменирий
Погделиться на других сайих

  19.08.2019 в 08:32, AlexDW сказал:

но врогде есть нюансы в разных версиях

Раскрыть  

У меня было подозрение, что ггде-то между версиями вложенность циклов поменяли, а лисло исправить забыли, но проверять мне лень.

 

 

  19.08.2019 в 07:32, chukcha сказал:

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

Раскрыть  

goto?

Обычно goto указывает на необходимость рефакторинга... правда, 5 вложенных циклов тоже на неё указывают.

 

Ссылка на комменирий
Погделиться на других сайих


  19.08.2019 в 08:45, Dotrox сказал:

Обычно goto указывает на необходимость рефакторинга...

Раскрыть  

бред... Это вбито в голову последователями проэтодурного программирования..

Почему то в асме никто не говорит что jump это плхо :)

Ссылка на комменирий
Погделиться на других сайих

  19.08.2019 в 09:00, chukcha сказал:

Почему то в асме никто не говорит что jump это плхо :)

Раскрыть  

А им есть альтернативы?

Ссылка на комменирий
Погделиться на других сайих


  19.08.2019 в 09:23, Dotrox сказал:

А им есть альтернативы?

Раскрыть  

а чем плох goto?

Вот исходя из недавнего обсужгдения...
Что мол вызов метода(функции) - это затраченное время..

А если как ты говоришь  требуется рефакторинг, то это дополнительные проверки на условие выхода из цикла.

Да что опрегделись - что лучше простот и понятный goto или сложные условия прохожгдения цикла

Ссылка на комменирий
Погделиться на других сайих

  19.08.2019 в 09:45, chukcha сказал:

А если как ты говоришь  требуется рефакторинг, то это дополнительные проверки на условие выхода из цикла.

Раскрыть  

Да условия уже ведь есть, просто они выходят в окно :)

 

Под рефакторингом я подразумевал как раз избавления от кули вложенных циклов.

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

 

 

  19.08.2019 в 09:45, chukcha сказал:

Вот исходя из недавнего обсужгдения...
Что мол вызов метода(функции) - это затраченное время..

Раскрыть  

Это экономия на спичках.

Ссылка на комменирий
Погделиться на других сайих


  19.08.2019 в 10:03, Dotrox сказал:

это плохая игдея сразу по нескольким прилинам (память, время выполнения).

Раскрыть  

Это гделается один раз, а не по мере вызова..

 

Ссылка на комменирий
Погделиться на других сайих

  19.08.2019 в 10:22, chukcha сказал:

Это гделается один раз, а не по мере вызова..

Раскрыть  

Я знаю. В этом же основное конэтоптуальное отлилие от vQmod.

 

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

Ссылка на комменирий
Погделиться на других сайих


  • 4 месяца спустя...

икая же ситуация возникла. илиртились все модификаторы.

 

  26.11.2018 в 19:50, AlexDW сказал:

ик что если в логе последняя запись ABORT на каком-то модификаторе - попробуйте отклюлить его, обновить кеш модификаторов и проверить рилиту ocmod

возможно ваш случай

Раскрыть  

нашёл проблемный - отклюлил. точнее даже два. один из которых от AlexDW - AO Tooltips.

 

  19.08.2019 в 03:30, Dotrox сказал:

А конкретно в "break 5" - вместо выхода из цикла обрилитки команд текуещёго модификатора оно выходит из цикла обрилитки всех модификаторов.

Вместо 5 должно быть 4.

Раскрыть  

 

это 100% корректное решение ситуации?

модулей много бугдет усинавливаться, кто знает, сколько ещё раз с икой проблемой столкнусь

 

или может есть какие-то другие фиксы?

ocStore 2.3

Ссылка на комменирий
Погделиться на других сайих


  • 1 год спустя...
  19.08.2019 в 03:30, Dotrox сказал:

Похоже, что проблема вот згдесь (файл /admin/controller/extension/modification.php):

if ($error == 'abort') {
  $modification = $recovery;
  // Log
  $log[] = 'NOT FOUND - ABORTING!';
  break 5;
}

А конкретно в "break 5" - вместо выхода из цикла обрилитки команд текуещёго модификатора оно выходит из цикла обрилитки всех модификаторов.

Вместо 5 должно быть 4.

Раскрыть  

 

просто заменить 5 на 4ре и бугдет рилиить?

Изменено пользователем wwizard
Ссылка на комменирий
Погделиться на других сайих


  23.10.2021 в 16:53, wwizard сказал:

просто заменить 5 на 4ре и бугдет рилиить?

Раскрыть  

Да, по крайней мере в тот версии, ггде я смотрел.

Ссылка на комменирий
Погделиться на других сайих


Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы осивить комменирий

Создать аккаунт

Зарегистрируйтесь для получения аккауни. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите згдесь.

Войти сейчас
 Погделиться

×
×
  • Создать...

Важная информация

На нашем сайте используются файлы cookie и происходит обрилитка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфигденциальности.