Jump to content
  • разработка интернет магазинов на opencart
  • доработка интернет магазинов на opencart

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


 Share

Recommended Posts

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

Link to comment
Share on other sites


6 минут назад, Soong сказал:

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

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

Link to comment
Share on other sites


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

 

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

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

 

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

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

 

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

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

  • +1 1
Link to comment
Share on other sites

14 часов назад, AlexDW сказал:

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

 

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

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

 

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

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

 

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

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

 

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

Link to comment
Share on other sites


  • 8 months later...
В 26.11.2018 в 21: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
Link to comment
Share on other sites


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

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

 

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

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

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

Link to comment
Share on other sites

3 минуты назад, AlexDW сказал:

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

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

 

 

1 час назад, chukcha сказал:

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

goto?

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

 

Link to comment
Share on other sites


14 минут назад, Dotrox сказал:

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

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

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

Link to comment
Share on other sites

18 минут назад, Dotrox сказал:

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

а чем плох goto?

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

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

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

Link to comment
Share on other sites

3 минуты назад, chukcha сказал:

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

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

 

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

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

 

 

14 минут назад, chukcha сказал:

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

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

Link to comment
Share on other sites


18 минут назад, Dotrox сказал:

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

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

 

Link to comment
Share on other sites

19 минут назад, chukcha сказал:

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

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

 

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

Link to comment
Share on other sites


  • 4 months later...

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

 

В 26.11.2018 в 22:50, AlexDW сказал:

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

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

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

 

В 19.08.2019 в 06:30, Dotrox сказал:

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

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

 

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

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

 

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

ocStore 2.3

Link to comment
Share on other sites


  • 1 year later...
В 19.08.2019 в 06: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ре и бугдет рилиить?

Edited by wwizard
Link to comment
Share on other sites


20 годин назад, wwizard сказав:

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

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

Link to comment
Share on other sites


Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.