freelancer Опубликовано: 3 сентября 2018 Поделиться Опубликовано: 3 сентября 2018 считаю, что ocmod это костыль, который упрощает жизнь разработчикам, но усложняет владельцам ИМ. со стороны разработчика - написал ocmod, выложил, люди скачивают, сами устанавливают и вроде как все довольны, но до поры до времени. через какое-то время ocmod'ы могут пересекаться или в оригинальные файлы добавляется новый код и тогда, по сути, магазин может начать вести себя непредсказуемо. часть функционала может отвалиться без каких-либо уведомлений (если не считать полотно ocmod log'а, который никто не читает), магазин вообще может уйти в технический режим и администратор даже не заподозрит проблем, потому как он залогинен в админке. 3 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Гость smartcoder Опубликовано: 3 сентября 2018 Поделиться Опубликовано: 3 сентября 2018 со стороны владельца ИМ можно поставить модуль менеджера модификаций и смотреть конфликты по-хорошему, можно настроить уведомления о конфликтах и отправка логов на почту и тп. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Tom Опубликовано: 3 сентября 2018 Поделиться Опубликовано: 3 сентября 2018 Разве про-родитель Vqmod не был тем же злом ? А какие есть предложения для внесения изменений в файлы , так что бы при этом не получить на столько уникальный в прямом смысле слова движок, с которым если что то случится, можно просто проститься со всеми денежными вложениями в модули, шаблоны и прочие правки? На сколько проще отловить проблемный ocmod и внести правки , чем ловить блох в файлах ? 5 минут назад, smartcoder сказал: можно поставить модуль менеджера модификаций Самое идеальное решение при работе с Ocmod, не понимаю почему его нет из коробки в движке. 1 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 3 сентября 2018 Поделиться Опубликовано: 3 сентября 2018 23 минуты назад, Tom сказал: А какие есть предложения для внесения изменений в файлы , события :) Но не такое уж это и зло.. Мнеджер модифиуаций? Какие он может определить конфликты? NOT FOUND? или же работа на одну и ту же строку? after? before? replace? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... freelancer Опубликовано: 3 сентября 2018 Автор Поделиться Опубликовано: 3 сентября 2018 события решают не все проблемы Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... PoliteX Опубликовано: 3 сентября 2018 Поделиться Опубликовано: 3 сентября 2018 1 час назад, smartcoder сказал: со стороны владельца ИМ можно поставить модуль менеджера модификаций и смотреть конфликты по-хорошему, можно настроить уведомления о конфликтах и отправка логов на почту и тп. ссылку на данный модуль можно? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... sv2109 Опубликовано: 3 сентября 2018 Поделиться Опубликовано: 3 сентября 2018 1 час назад, freelancer сказал: считаю, что ocmod это костыль, я это уже 6 лет говорю.. 1 час назад, freelancer сказал: который упрощает жизнь разработчикам ем.. гм.. вы это серьезно? ocmod создает кучу конфликтов, которые исправлять как раз таки разработчикам и приходится, потому что есть куча покупателей из разряда "я ничего не знаю и знать не хочу, я заплатил деньги и у меня все должно работать, автор - делай чтобы работало".. и приходится закатывать рукава и искать чей кусок модификатора изменил код, а кроме ocmod у некоторых еще стоит vqmod на двойке + еще куча модулей кеширования, кеширование в теме (какая-то джорнал например) и так далее. Ну да, просто офигенное "упрощение" В то же время на других движках вполне себе отлично работают события, с которыми 99% подобных конфликтов просто отсутствует. Да, всех проблем они не решат, но 99% вполне при правильном подходе (но тут мало добавить события в движок, нужно также изменять сам движок под эти события) Посмотрите напр. на Drupal, как все реализовано там. 1 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Гость smartcoder Опубликовано: 3 сентября 2018 Поделиться Опубликовано: 3 сентября 2018 10 минут назад, PoliteX сказал: ссылку на данный модуль можно? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Гость smartcoder Опубликовано: 3 сентября 2018 Поделиться Опубликовано: 3 сентября 2018 42 минуты назад, chukcha сказал: NOT FOUND чем не достаточно по NOT FOUND понять что что-то не так? Но со стороны нескольких модификаций конфликты не поймешь согласен Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 3 сентября 2018 Поделиться Опубликовано: 3 сентября 2018 5 минут назад, sv2109 сказал: В то же время на других движках вполне себе отлично работают события, с которыми 99% подобных конфликтов просто отсутствует. ага, ага, глянул я... есть что-то наподобие xml, которое при инстале/анинстале применяется/отменяется, прям в живой код ядра.. Слишком много надежд на события, если надо поменять логику обработку данных Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... freelancer Опубликовано: 3 сентября 2018 Автор Поделиться Опубликовано: 3 сентября 2018 12 минут назад, sv2109 сказал: Посмотрите напр. на Drupal, как все реализовано там. а как там? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 3 сентября 2018 Поделиться Опубликовано: 3 сентября 2018 4 минуты назад, smartcoder сказал: чем не достаточно по NOT FOUND не достатчно Поточу что этот нотфаунд может быть случайным, а извините "срет" в лог ну наприре в шаблоны theme/*/template Все настраивается на дефолт, а на кастомную тему нет. А вот поиметь список затронутых файлов, с указание строки в оригинале это уже ближе к поиску конфликтов, т.е. нужен расширенный лог модификаторов Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... freelancer Опубликовано: 3 сентября 2018 Автор Поделиться Опубликовано: 3 сентября 2018 вот у меня фильтр например патчит sql запрос в getProducts() . как мне события помогут? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... spectre Опубликовано: 3 сентября 2018 Поделиться Опубликовано: 3 сентября 2018 8 минут назад, smartcoder сказал: чем не достаточно по NOT FOUND понять что что-то не так? Но со стороны нескольких модификаций конфликты не поймешь согласен Там же есть порядок применения дополнений сложного ничего в этом нет но времени конечно побольше тратится Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 3 сентября 2018 Поделиться Опубликовано: 3 сентября 2018 7 минут назад, freelancer сказал: вот у меня фильтр например патчит sql запрос в getProducts() . как мне события помогут? не помогут, до тех пока пока не будет конструктора запросов, т.е. НИКОГДА 2 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Einshtein Опубликовано: 3 сентября 2018 Поделиться Опубликовано: 3 сентября 2018 как-то же в том же WP обходятся без всяких окмодов, и работает все достаточно неплохо, при этом модификации достаточно серьезные, еще и обновляется все в один клик удаленно. ОСmod однозначно лучше чем vqmod, но хуже чем без него. Вручную переносить код в двиг я лично не люблю, потому что если нужно удалить какой-нибудь мод, или модифицировать - это задолбаешься искать концы, а еще хуже если мод отключаешь и сайт перестает работать, потому что где-то в файлах прописан код который стучит и не находит отключенный модуль, я молчу о усложнении обновления А какие альтернативы - я тоже давно голову ломаю и не могу придумать. Потому что при той же структуре движка которая сейчас можно придумать какой-нибудь механизм работы с моделями и контроллерами, например элементарно не вмешиваясь в работу дефолтных файлов, а моды инклюдить где-то в конфигах, а вот как модифицировать огромное разнообразие фронта - я хз. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... sv2109 Опубликовано: 3 сентября 2018 Поделиться Опубликовано: 3 сентября 2018 2 минуты назад, freelancer сказал: а как там? Вот тут для старой версии друпала, но довольно понятно написано как работаю хуки (аналог событий в друпале) https://graker.ru/news/2010/04/13/hooks_api Сейчас друпал переходит на симфони, с новой версией я не работал, но подозреваю что там используются уже события из симфони https://symfony.com.ua/doc/current/event_dispatcher.html 4 минуты назад, freelancer сказал: вот у меня фильтр например патчит sql запрос в getProducts() . как мне события помогут? В данной реализации опенкарта - никак, поэтому я и написал 18 минут назад, sv2109 сказал: при правильном подходе (но тут мало добавить события в движок, нужно также изменять сам движок под эти события) Если у нас есть напр. sql запрос размером с пол страницы то вы его никак событиями не измените. Но если бы у нас вместо голого SQL был бы даже не ORM, а хотя бы какой-то простейший конструктор запросов и все запросы создавались напр. через $query->select(..)->where(..)->order(..)->limit(..); ну как-то так, то через события перед выполнением этого запроса мы бы могли со своего модуля сделать напр. $query->leftJoin(..); ну или добавить какое-то условие итд. и тем самым бы изменили весь запрос не через изменение код sql запроса, а красиво через события. Мало того, в отличии от ocmod, где если всего один модуль изменит подобный запрос, то второй уже тупо не сможет, так как запрос уже изменен и найти его через ocmod не получится.. событиями один и тот же запрос могут изменить несколько модулей одновременно, кто-то добавить новый join, кто-то добавит новое условие или сортировку итд. и все будет работать, конечно конфликты, прежде всего логические, тут тоже возможны, но их будет в десятки раз меньше, чем при ocmod, где больше одного модуля такой запрос вообще изменить не получится. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... freelancer Опубликовано: 3 сентября 2018 Автор Поделиться Опубликовано: 3 сентября 2018 @sv2109 хуки это события в opencart Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... sv2109 Опубликовано: 3 сентября 2018 Поделиться Опубликовано: 3 сентября 2018 вот посмотрите как просто работа с базой реализована в codeigniter, куда уже проще! почему чего-то такого нельзя добавить в опенкарт?? https://www.codeigniter.com/userguide3/database/query_builder.html 1 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... sv2109 Опубликовано: 3 сентября 2018 Поделиться Опубликовано: 3 сентября 2018 2 минуты назад, freelancer сказал: @sv2109 хуки это события в opencart да, но как я уже писал выше - система событий не будет полноценно работать если под нее не будет правильно переделан движок. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 3 сентября 2018 Поделиться Опубликовано: 3 сентября 2018 @sv2109 наличие, даже простого orm уже обсасывалось много раз, но ежики плакали, кололись .. Кроме того 22 минуты назад, sv2109 сказал: $query->select(..)->where(..)->order(..)->limit(..); тогда такой хук применяется на всю систему, и нужно знать инициатора, а инициатор - окмод. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... AlexDW Опубликовано: 3 сентября 2018 Поделиться Опубликовано: 3 сентября 2018 совместимость могут быть и другие модули Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... sv2109 Опубликовано: 3 сентября 2018 Поделиться Опубликовано: 3 сентября 2018 52 минуты назад, chukcha сказал: тогда такой хук применяется на всю систему, и нужно знать инициатора, а инициатор - окмод. десятки движков отлично работаю через события и знать не знают что такое окмод, но вот только почему-то разработчики опенкарт вбили себе в голову, что без окмод ничего работать не сможет.. Нужен инициатор? Без проблем, что мешает каждому запросу присвоить свой идентификатор, напр. $query->id = "уникальный идентификатор"; Или что мешает объекту $query присвоить этот идентификатор автоматически из напр. названия класса и метода, что его вызвал? будет напр. $query->id = "model_catalog_product_getProduct"; После чего из своего модуля подключиться к событию, которое будет вызываться перед выполнением каждого запроса, напр. query_pre_execute(&$query) и сделать if ($query->id == "model_catalog_product_getProduct") { // изменяем запрос как нам угодно } Все, это первое что пришло в голову пока писал это сообщение, на самом деле реализовать все можно как угодно и никакой окмод тут вообще не нужен. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... OCdevWizard Опубликовано: 3 сентября 2018 Поделиться Опубликовано: 3 сентября 2018 4 часа назад, freelancer сказал: считаю, что ocmod это костыль, который упрощает жизнь разработчикам, но усложняет владельцам ИМ. со стороны разработчика - написал ocmod, выложил, люди скачивают, сами устанавливают и вроде как все довольны, но до поры до времени. через какое-то время ocmod'ы могут пересекаться или в оригинальные файлы добавляется новый код и тогда, по сути, магазин может начать вести себя непредсказуемо. часть функционала может отвалиться без каких-либо уведомлений (если не считать полотно ocmod log'а, который никто не читает), магазин вообще может уйти в технический режим и администратор даже не заподозрит проблем, потому как он залогинен в админке. юзайте event`s в версии 2.x они правда еще сыроваты. но вот с 3.x уже можно присматриватся. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 3 сентября 2018 Поделиться Опубликовано: 3 сентября 2018 1 минуту назад, OCdevWizard сказал: юзайте event`s В какое место? Ведь они в модели не дают подменить "ядерный" запрос. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Назад 1 2 3 4 5 Вперёд Страница 1 из 5 Создайте аккаунт или войдите в него для комментирования Вы должны быть пользователем, чтобы оставить комментарий Создать аккаунт Зарегистрируйтесь для получения аккаунта. Это просто! Зарегистрировать аккаунт Войти Уже зарегистрированы? Войдите здесь. Войти сейчас Поделиться Больше способов поделиться... Подписчики 0 Перейти к списку тем Сейчас на странице 0 пользователей Нет пользователей, просматривающих эту страницу. Последние темы Последние дополнения Последние новости Вся активность Главная Поддержка и ответы на вопросы Помощь программистам и разработчикам ocmod - зло. мнение Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Deals – адаптивный универсальный шаблон Автор: octemplates Динамичесткая инфострока в шапке + позиция в макете для opencart\ocstore 2x, 3x Автор: Lito911 Единицы Измерения Товара Автор: RoS Opencart Product Search by Image Автор: slavoglo Простой массовый редактор цен. Fast Price Edit Автор: Sha × Уже зарегистрированы? Войти Регистрация Раздел покупок Назад Приобретенные дополнения Ваши счета Список желаний Альтернативные контакты Форум Новости ocStore Назад Официальный сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Скачать ocStore Документация История версий ocStore Блоги Модули Шаблоны Назад Бесплатные шаблоны Платные шаблоны Где покупать модули? Услуги FAQ OpenCart.Pro Назад Демо Купить Сравнение × Создать... Важная информация На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности. Я принимаю
Гость smartcoder Опубликовано: 3 сентября 2018 Поделиться Опубликовано: 3 сентября 2018 со стороны владельца ИМ можно поставить модуль менеджера модификаций и смотреть конфликты по-хорошему, можно настроить уведомления о конфликтах и отправка логов на почту и тп. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться...
Tom Опубликовано: 3 сентября 2018 Поделиться Опубликовано: 3 сентября 2018 Разве про-родитель Vqmod не был тем же злом ? А какие есть предложения для внесения изменений в файлы , так что бы при этом не получить на столько уникальный в прямом смысле слова движок, с которым если что то случится, можно просто проститься со всеми денежными вложениями в модули, шаблоны и прочие правки? На сколько проще отловить проблемный ocmod и внести правки , чем ловить блох в файлах ? 5 минут назад, smartcoder сказал: можно поставить модуль менеджера модификаций Самое идеальное решение при работе с Ocmod, не понимаю почему его нет из коробки в движке. 1 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 3 сентября 2018 Поделиться Опубликовано: 3 сентября 2018 23 минуты назад, Tom сказал: А какие есть предложения для внесения изменений в файлы , события :) Но не такое уж это и зло.. Мнеджер модифиуаций? Какие он может определить конфликты? NOT FOUND? или же работа на одну и ту же строку? after? before? replace? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... freelancer Опубликовано: 3 сентября 2018 Автор Поделиться Опубликовано: 3 сентября 2018 события решают не все проблемы Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... PoliteX Опубликовано: 3 сентября 2018 Поделиться Опубликовано: 3 сентября 2018 1 час назад, smartcoder сказал: со стороны владельца ИМ можно поставить модуль менеджера модификаций и смотреть конфликты по-хорошему, можно настроить уведомления о конфликтах и отправка логов на почту и тп. ссылку на данный модуль можно? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... sv2109 Опубликовано: 3 сентября 2018 Поделиться Опубликовано: 3 сентября 2018 1 час назад, freelancer сказал: считаю, что ocmod это костыль, я это уже 6 лет говорю.. 1 час назад, freelancer сказал: который упрощает жизнь разработчикам ем.. гм.. вы это серьезно? ocmod создает кучу конфликтов, которые исправлять как раз таки разработчикам и приходится, потому что есть куча покупателей из разряда "я ничего не знаю и знать не хочу, я заплатил деньги и у меня все должно работать, автор - делай чтобы работало".. и приходится закатывать рукава и искать чей кусок модификатора изменил код, а кроме ocmod у некоторых еще стоит vqmod на двойке + еще куча модулей кеширования, кеширование в теме (какая-то джорнал например) и так далее. Ну да, просто офигенное "упрощение" В то же время на других движках вполне себе отлично работают события, с которыми 99% подобных конфликтов просто отсутствует. Да, всех проблем они не решат, но 99% вполне при правильном подходе (но тут мало добавить события в движок, нужно также изменять сам движок под эти события) Посмотрите напр. на Drupal, как все реализовано там. 1 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Гость smartcoder Опубликовано: 3 сентября 2018 Поделиться Опубликовано: 3 сентября 2018 10 минут назад, PoliteX сказал: ссылку на данный модуль можно? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Гость smartcoder Опубликовано: 3 сентября 2018 Поделиться Опубликовано: 3 сентября 2018 42 минуты назад, chukcha сказал: NOT FOUND чем не достаточно по NOT FOUND понять что что-то не так? Но со стороны нескольких модификаций конфликты не поймешь согласен Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 3 сентября 2018 Поделиться Опубликовано: 3 сентября 2018 5 минут назад, sv2109 сказал: В то же время на других движках вполне себе отлично работают события, с которыми 99% подобных конфликтов просто отсутствует. ага, ага, глянул я... есть что-то наподобие xml, которое при инстале/анинстале применяется/отменяется, прям в живой код ядра.. Слишком много надежд на события, если надо поменять логику обработку данных Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... freelancer Опубликовано: 3 сентября 2018 Автор Поделиться Опубликовано: 3 сентября 2018 12 минут назад, sv2109 сказал: Посмотрите напр. на Drupal, как все реализовано там. а как там? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 3 сентября 2018 Поделиться Опубликовано: 3 сентября 2018 4 минуты назад, smartcoder сказал: чем не достаточно по NOT FOUND не достатчно Поточу что этот нотфаунд может быть случайным, а извините "срет" в лог ну наприре в шаблоны theme/*/template Все настраивается на дефолт, а на кастомную тему нет. А вот поиметь список затронутых файлов, с указание строки в оригинале это уже ближе к поиску конфликтов, т.е. нужен расширенный лог модификаторов Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... freelancer Опубликовано: 3 сентября 2018 Автор Поделиться Опубликовано: 3 сентября 2018 вот у меня фильтр например патчит sql запрос в getProducts() . как мне события помогут? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... spectre Опубликовано: 3 сентября 2018 Поделиться Опубликовано: 3 сентября 2018 8 минут назад, smartcoder сказал: чем не достаточно по NOT FOUND понять что что-то не так? Но со стороны нескольких модификаций конфликты не поймешь согласен Там же есть порядок применения дополнений сложного ничего в этом нет но времени конечно побольше тратится Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 3 сентября 2018 Поделиться Опубликовано: 3 сентября 2018 7 минут назад, freelancer сказал: вот у меня фильтр например патчит sql запрос в getProducts() . как мне события помогут? не помогут, до тех пока пока не будет конструктора запросов, т.е. НИКОГДА 2 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Einshtein Опубликовано: 3 сентября 2018 Поделиться Опубликовано: 3 сентября 2018 как-то же в том же WP обходятся без всяких окмодов, и работает все достаточно неплохо, при этом модификации достаточно серьезные, еще и обновляется все в один клик удаленно. ОСmod однозначно лучше чем vqmod, но хуже чем без него. Вручную переносить код в двиг я лично не люблю, потому что если нужно удалить какой-нибудь мод, или модифицировать - это задолбаешься искать концы, а еще хуже если мод отключаешь и сайт перестает работать, потому что где-то в файлах прописан код который стучит и не находит отключенный модуль, я молчу о усложнении обновления А какие альтернативы - я тоже давно голову ломаю и не могу придумать. Потому что при той же структуре движка которая сейчас можно придумать какой-нибудь механизм работы с моделями и контроллерами, например элементарно не вмешиваясь в работу дефолтных файлов, а моды инклюдить где-то в конфигах, а вот как модифицировать огромное разнообразие фронта - я хз. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... sv2109 Опубликовано: 3 сентября 2018 Поделиться Опубликовано: 3 сентября 2018 2 минуты назад, freelancer сказал: а как там? Вот тут для старой версии друпала, но довольно понятно написано как работаю хуки (аналог событий в друпале) https://graker.ru/news/2010/04/13/hooks_api Сейчас друпал переходит на симфони, с новой версией я не работал, но подозреваю что там используются уже события из симфони https://symfony.com.ua/doc/current/event_dispatcher.html 4 минуты назад, freelancer сказал: вот у меня фильтр например патчит sql запрос в getProducts() . как мне события помогут? В данной реализации опенкарта - никак, поэтому я и написал 18 минут назад, sv2109 сказал: при правильном подходе (но тут мало добавить события в движок, нужно также изменять сам движок под эти события) Если у нас есть напр. sql запрос размером с пол страницы то вы его никак событиями не измените. Но если бы у нас вместо голого SQL был бы даже не ORM, а хотя бы какой-то простейший конструктор запросов и все запросы создавались напр. через $query->select(..)->where(..)->order(..)->limit(..); ну как-то так, то через события перед выполнением этого запроса мы бы могли со своего модуля сделать напр. $query->leftJoin(..); ну или добавить какое-то условие итд. и тем самым бы изменили весь запрос не через изменение код sql запроса, а красиво через события. Мало того, в отличии от ocmod, где если всего один модуль изменит подобный запрос, то второй уже тупо не сможет, так как запрос уже изменен и найти его через ocmod не получится.. событиями один и тот же запрос могут изменить несколько модулей одновременно, кто-то добавить новый join, кто-то добавит новое условие или сортировку итд. и все будет работать, конечно конфликты, прежде всего логические, тут тоже возможны, но их будет в десятки раз меньше, чем при ocmod, где больше одного модуля такой запрос вообще изменить не получится. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... freelancer Опубликовано: 3 сентября 2018 Автор Поделиться Опубликовано: 3 сентября 2018 @sv2109 хуки это события в opencart Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... sv2109 Опубликовано: 3 сентября 2018 Поделиться Опубликовано: 3 сентября 2018 вот посмотрите как просто работа с базой реализована в codeigniter, куда уже проще! почему чего-то такого нельзя добавить в опенкарт?? https://www.codeigniter.com/userguide3/database/query_builder.html 1 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... sv2109 Опубликовано: 3 сентября 2018 Поделиться Опубликовано: 3 сентября 2018 2 минуты назад, freelancer сказал: @sv2109 хуки это события в opencart да, но как я уже писал выше - система событий не будет полноценно работать если под нее не будет правильно переделан движок. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 3 сентября 2018 Поделиться Опубликовано: 3 сентября 2018 @sv2109 наличие, даже простого orm уже обсасывалось много раз, но ежики плакали, кололись .. Кроме того 22 минуты назад, sv2109 сказал: $query->select(..)->where(..)->order(..)->limit(..); тогда такой хук применяется на всю систему, и нужно знать инициатора, а инициатор - окмод. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... AlexDW Опубликовано: 3 сентября 2018 Поделиться Опубликовано: 3 сентября 2018 совместимость могут быть и другие модули Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... sv2109 Опубликовано: 3 сентября 2018 Поделиться Опубликовано: 3 сентября 2018 52 минуты назад, chukcha сказал: тогда такой хук применяется на всю систему, и нужно знать инициатора, а инициатор - окмод. десятки движков отлично работаю через события и знать не знают что такое окмод, но вот только почему-то разработчики опенкарт вбили себе в голову, что без окмод ничего работать не сможет.. Нужен инициатор? Без проблем, что мешает каждому запросу присвоить свой идентификатор, напр. $query->id = "уникальный идентификатор"; Или что мешает объекту $query присвоить этот идентификатор автоматически из напр. названия класса и метода, что его вызвал? будет напр. $query->id = "model_catalog_product_getProduct"; После чего из своего модуля подключиться к событию, которое будет вызываться перед выполнением каждого запроса, напр. query_pre_execute(&$query) и сделать if ($query->id == "model_catalog_product_getProduct") { // изменяем запрос как нам угодно } Все, это первое что пришло в голову пока писал это сообщение, на самом деле реализовать все можно как угодно и никакой окмод тут вообще не нужен. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... OCdevWizard Опубликовано: 3 сентября 2018 Поделиться Опубликовано: 3 сентября 2018 4 часа назад, freelancer сказал: считаю, что ocmod это костыль, который упрощает жизнь разработчикам, но усложняет владельцам ИМ. со стороны разработчика - написал ocmod, выложил, люди скачивают, сами устанавливают и вроде как все довольны, но до поры до времени. через какое-то время ocmod'ы могут пересекаться или в оригинальные файлы добавляется новый код и тогда, по сути, магазин может начать вести себя непредсказуемо. часть функционала может отвалиться без каких-либо уведомлений (если не считать полотно ocmod log'а, который никто не читает), магазин вообще может уйти в технический режим и администратор даже не заподозрит проблем, потому как он залогинен в админке. юзайте event`s в версии 2.x они правда еще сыроваты. но вот с 3.x уже можно присматриватся. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 3 сентября 2018 Поделиться Опубликовано: 3 сентября 2018 1 минуту назад, OCdevWizard сказал: юзайте event`s В какое место? Ведь они в модели не дают подменить "ядерный" запрос. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Назад 1 2 3 4 5 Вперёд Страница 1 из 5 Создайте аккаунт или войдите в него для комментирования Вы должны быть пользователем, чтобы оставить комментарий Создать аккаунт Зарегистрируйтесь для получения аккаунта. Это просто! Зарегистрировать аккаунт Войти Уже зарегистрированы? Войдите здесь. Войти сейчас Поделиться Больше способов поделиться... Подписчики 0 Перейти к списку тем Сейчас на странице 0 пользователей Нет пользователей, просматривающих эту страницу. Последние темы Последние дополнения Последние новости Вся активность Главная Поддержка и ответы на вопросы Помощь программистам и разработчикам ocmod - зло. мнение Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Deals – адаптивный универсальный шаблон Автор: octemplates Динамичесткая инфострока в шапке + позиция в макете для opencart\ocstore 2x, 3x Автор: Lito911 Единицы Измерения Товара Автор: RoS Opencart Product Search by Image Автор: slavoglo Простой массовый редактор цен. Fast Price Edit Автор: Sha × Уже зарегистрированы? Войти Регистрация Раздел покупок Назад Приобретенные дополнения Ваши счета Список желаний Альтернативные контакты Форум Новости ocStore Назад Официальный сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Скачать ocStore Документация История версий ocStore Блоги Модули Шаблоны Назад Бесплатные шаблоны Платные шаблоны Где покупать модули? Услуги FAQ OpenCart.Pro Назад Демо Купить Сравнение × Создать... Важная информация На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности. Я принимаю
chukcha Опубликовано: 3 сентября 2018 Поделиться Опубликовано: 3 сентября 2018 23 минуты назад, Tom сказал: А какие есть предложения для внесения изменений в файлы , события :) Но не такое уж это и зло.. Мнеджер модифиуаций? Какие он может определить конфликты? NOT FOUND? или же работа на одну и ту же строку? after? before? replace? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... freelancer Опубликовано: 3 сентября 2018 Автор Поделиться Опубликовано: 3 сентября 2018 события решают не все проблемы Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... PoliteX Опубликовано: 3 сентября 2018 Поделиться Опубликовано: 3 сентября 2018 1 час назад, smartcoder сказал: со стороны владельца ИМ можно поставить модуль менеджера модификаций и смотреть конфликты по-хорошему, можно настроить уведомления о конфликтах и отправка логов на почту и тп. ссылку на данный модуль можно? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... sv2109 Опубликовано: 3 сентября 2018 Поделиться Опубликовано: 3 сентября 2018 1 час назад, freelancer сказал: считаю, что ocmod это костыль, я это уже 6 лет говорю.. 1 час назад, freelancer сказал: который упрощает жизнь разработчикам ем.. гм.. вы это серьезно? ocmod создает кучу конфликтов, которые исправлять как раз таки разработчикам и приходится, потому что есть куча покупателей из разряда "я ничего не знаю и знать не хочу, я заплатил деньги и у меня все должно работать, автор - делай чтобы работало".. и приходится закатывать рукава и искать чей кусок модификатора изменил код, а кроме ocmod у некоторых еще стоит vqmod на двойке + еще куча модулей кеширования, кеширование в теме (какая-то джорнал например) и так далее. Ну да, просто офигенное "упрощение" В то же время на других движках вполне себе отлично работают события, с которыми 99% подобных конфликтов просто отсутствует. Да, всех проблем они не решат, но 99% вполне при правильном подходе (но тут мало добавить события в движок, нужно также изменять сам движок под эти события) Посмотрите напр. на Drupal, как все реализовано там. 1 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Гость smartcoder Опубликовано: 3 сентября 2018 Поделиться Опубликовано: 3 сентября 2018 10 минут назад, PoliteX сказал: ссылку на данный модуль можно? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Гость smartcoder Опубликовано: 3 сентября 2018 Поделиться Опубликовано: 3 сентября 2018 42 минуты назад, chukcha сказал: NOT FOUND чем не достаточно по NOT FOUND понять что что-то не так? Но со стороны нескольких модификаций конфликты не поймешь согласен Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 3 сентября 2018 Поделиться Опубликовано: 3 сентября 2018 5 минут назад, sv2109 сказал: В то же время на других движках вполне себе отлично работают события, с которыми 99% подобных конфликтов просто отсутствует. ага, ага, глянул я... есть что-то наподобие xml, которое при инстале/анинстале применяется/отменяется, прям в живой код ядра.. Слишком много надежд на события, если надо поменять логику обработку данных Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... freelancer Опубликовано: 3 сентября 2018 Автор Поделиться Опубликовано: 3 сентября 2018 12 минут назад, sv2109 сказал: Посмотрите напр. на Drupal, как все реализовано там. а как там? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 3 сентября 2018 Поделиться Опубликовано: 3 сентября 2018 4 минуты назад, smartcoder сказал: чем не достаточно по NOT FOUND не достатчно Поточу что этот нотфаунд может быть случайным, а извините "срет" в лог ну наприре в шаблоны theme/*/template Все настраивается на дефолт, а на кастомную тему нет. А вот поиметь список затронутых файлов, с указание строки в оригинале это уже ближе к поиску конфликтов, т.е. нужен расширенный лог модификаторов Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... freelancer Опубликовано: 3 сентября 2018 Автор Поделиться Опубликовано: 3 сентября 2018 вот у меня фильтр например патчит sql запрос в getProducts() . как мне события помогут? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... spectre Опубликовано: 3 сентября 2018 Поделиться Опубликовано: 3 сентября 2018 8 минут назад, smartcoder сказал: чем не достаточно по NOT FOUND понять что что-то не так? Но со стороны нескольких модификаций конфликты не поймешь согласен Там же есть порядок применения дополнений сложного ничего в этом нет но времени конечно побольше тратится Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 3 сентября 2018 Поделиться Опубликовано: 3 сентября 2018 7 минут назад, freelancer сказал: вот у меня фильтр например патчит sql запрос в getProducts() . как мне события помогут? не помогут, до тех пока пока не будет конструктора запросов, т.е. НИКОГДА 2 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Einshtein Опубликовано: 3 сентября 2018 Поделиться Опубликовано: 3 сентября 2018 как-то же в том же WP обходятся без всяких окмодов, и работает все достаточно неплохо, при этом модификации достаточно серьезные, еще и обновляется все в один клик удаленно. ОСmod однозначно лучше чем vqmod, но хуже чем без него. Вручную переносить код в двиг я лично не люблю, потому что если нужно удалить какой-нибудь мод, или модифицировать - это задолбаешься искать концы, а еще хуже если мод отключаешь и сайт перестает работать, потому что где-то в файлах прописан код который стучит и не находит отключенный модуль, я молчу о усложнении обновления А какие альтернативы - я тоже давно голову ломаю и не могу придумать. Потому что при той же структуре движка которая сейчас можно придумать какой-нибудь механизм работы с моделями и контроллерами, например элементарно не вмешиваясь в работу дефолтных файлов, а моды инклюдить где-то в конфигах, а вот как модифицировать огромное разнообразие фронта - я хз. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... sv2109 Опубликовано: 3 сентября 2018 Поделиться Опубликовано: 3 сентября 2018 2 минуты назад, freelancer сказал: а как там? Вот тут для старой версии друпала, но довольно понятно написано как работаю хуки (аналог событий в друпале) https://graker.ru/news/2010/04/13/hooks_api Сейчас друпал переходит на симфони, с новой версией я не работал, но подозреваю что там используются уже события из симфони https://symfony.com.ua/doc/current/event_dispatcher.html 4 минуты назад, freelancer сказал: вот у меня фильтр например патчит sql запрос в getProducts() . как мне события помогут? В данной реализации опенкарта - никак, поэтому я и написал 18 минут назад, sv2109 сказал: при правильном подходе (но тут мало добавить события в движок, нужно также изменять сам движок под эти события) Если у нас есть напр. sql запрос размером с пол страницы то вы его никак событиями не измените. Но если бы у нас вместо голого SQL был бы даже не ORM, а хотя бы какой-то простейший конструктор запросов и все запросы создавались напр. через $query->select(..)->where(..)->order(..)->limit(..); ну как-то так, то через события перед выполнением этого запроса мы бы могли со своего модуля сделать напр. $query->leftJoin(..); ну или добавить какое-то условие итд. и тем самым бы изменили весь запрос не через изменение код sql запроса, а красиво через события. Мало того, в отличии от ocmod, где если всего один модуль изменит подобный запрос, то второй уже тупо не сможет, так как запрос уже изменен и найти его через ocmod не получится.. событиями один и тот же запрос могут изменить несколько модулей одновременно, кто-то добавить новый join, кто-то добавит новое условие или сортировку итд. и все будет работать, конечно конфликты, прежде всего логические, тут тоже возможны, но их будет в десятки раз меньше, чем при ocmod, где больше одного модуля такой запрос вообще изменить не получится. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... freelancer Опубликовано: 3 сентября 2018 Автор Поделиться Опубликовано: 3 сентября 2018 @sv2109 хуки это события в opencart Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... sv2109 Опубликовано: 3 сентября 2018 Поделиться Опубликовано: 3 сентября 2018 вот посмотрите как просто работа с базой реализована в codeigniter, куда уже проще! почему чего-то такого нельзя добавить в опенкарт?? https://www.codeigniter.com/userguide3/database/query_builder.html 1 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... sv2109 Опубликовано: 3 сентября 2018 Поделиться Опубликовано: 3 сентября 2018 2 минуты назад, freelancer сказал: @sv2109 хуки это события в opencart да, но как я уже писал выше - система событий не будет полноценно работать если под нее не будет правильно переделан движок. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 3 сентября 2018 Поделиться Опубликовано: 3 сентября 2018 @sv2109 наличие, даже простого orm уже обсасывалось много раз, но ежики плакали, кололись .. Кроме того 22 минуты назад, sv2109 сказал: $query->select(..)->where(..)->order(..)->limit(..); тогда такой хук применяется на всю систему, и нужно знать инициатора, а инициатор - окмод. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... AlexDW Опубликовано: 3 сентября 2018 Поделиться Опубликовано: 3 сентября 2018 совместимость могут быть и другие модули Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... sv2109 Опубликовано: 3 сентября 2018 Поделиться Опубликовано: 3 сентября 2018 52 минуты назад, chukcha сказал: тогда такой хук применяется на всю систему, и нужно знать инициатора, а инициатор - окмод. десятки движков отлично работаю через события и знать не знают что такое окмод, но вот только почему-то разработчики опенкарт вбили себе в голову, что без окмод ничего работать не сможет.. Нужен инициатор? Без проблем, что мешает каждому запросу присвоить свой идентификатор, напр. $query->id = "уникальный идентификатор"; Или что мешает объекту $query присвоить этот идентификатор автоматически из напр. названия класса и метода, что его вызвал? будет напр. $query->id = "model_catalog_product_getProduct"; После чего из своего модуля подключиться к событию, которое будет вызываться перед выполнением каждого запроса, напр. query_pre_execute(&$query) и сделать if ($query->id == "model_catalog_product_getProduct") { // изменяем запрос как нам угодно } Все, это первое что пришло в голову пока писал это сообщение, на самом деле реализовать все можно как угодно и никакой окмод тут вообще не нужен. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... OCdevWizard Опубликовано: 3 сентября 2018 Поделиться Опубликовано: 3 сентября 2018 4 часа назад, freelancer сказал: считаю, что ocmod это костыль, который упрощает жизнь разработчикам, но усложняет владельцам ИМ. со стороны разработчика - написал ocmod, выложил, люди скачивают, сами устанавливают и вроде как все довольны, но до поры до времени. через какое-то время ocmod'ы могут пересекаться или в оригинальные файлы добавляется новый код и тогда, по сути, магазин может начать вести себя непредсказуемо. часть функционала может отвалиться без каких-либо уведомлений (если не считать полотно ocmod log'а, который никто не читает), магазин вообще может уйти в технический режим и администратор даже не заподозрит проблем, потому как он залогинен в админке. юзайте event`s в версии 2.x они правда еще сыроваты. но вот с 3.x уже можно присматриватся. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 3 сентября 2018 Поделиться Опубликовано: 3 сентября 2018 1 минуту назад, OCdevWizard сказал: юзайте event`s В какое место? Ведь они в модели не дают подменить "ядерный" запрос. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Назад 1 2 3 4 5 Вперёд Страница 1 из 5 Создайте аккаунт или войдите в него для комментирования Вы должны быть пользователем, чтобы оставить комментарий Создать аккаунт Зарегистрируйтесь для получения аккаунта. Это просто! Зарегистрировать аккаунт Войти Уже зарегистрированы? Войдите здесь. Войти сейчас Поделиться Больше способов поделиться... Подписчики 0 Перейти к списку тем Сейчас на странице 0 пользователей Нет пользователей, просматривающих эту страницу. Последние темы Последние дополнения Последние новости Вся активность Главная Поддержка и ответы на вопросы Помощь программистам и разработчикам ocmod - зло. мнение Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Deals – адаптивный универсальный шаблон Автор: octemplates Динамичесткая инфострока в шапке + позиция в макете для opencart\ocstore 2x, 3x Автор: Lito911 Единицы Измерения Товара Автор: RoS Opencart Product Search by Image Автор: slavoglo Простой массовый редактор цен. Fast Price Edit Автор: Sha × Уже зарегистрированы? Войти Регистрация Раздел покупок Назад Приобретенные дополнения Ваши счета Список желаний Альтернативные контакты Форум Новости ocStore Назад Официальный сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Скачать ocStore Документация История версий ocStore Блоги Модули Шаблоны Назад Бесплатные шаблоны Платные шаблоны Где покупать модули? Услуги FAQ OpenCart.Pro Назад Демо Купить Сравнение × Создать... Важная информация На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности. Я принимаю
freelancer Опубликовано: 3 сентября 2018 Автор Поделиться Опубликовано: 3 сентября 2018 события решают не все проблемы Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... PoliteX Опубликовано: 3 сентября 2018 Поделиться Опубликовано: 3 сентября 2018 1 час назад, smartcoder сказал: со стороны владельца ИМ можно поставить модуль менеджера модификаций и смотреть конфликты по-хорошему, можно настроить уведомления о конфликтах и отправка логов на почту и тп. ссылку на данный модуль можно? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... sv2109 Опубликовано: 3 сентября 2018 Поделиться Опубликовано: 3 сентября 2018 1 час назад, freelancer сказал: считаю, что ocmod это костыль, я это уже 6 лет говорю.. 1 час назад, freelancer сказал: который упрощает жизнь разработчикам ем.. гм.. вы это серьезно? ocmod создает кучу конфликтов, которые исправлять как раз таки разработчикам и приходится, потому что есть куча покупателей из разряда "я ничего не знаю и знать не хочу, я заплатил деньги и у меня все должно работать, автор - делай чтобы работало".. и приходится закатывать рукава и искать чей кусок модификатора изменил код, а кроме ocmod у некоторых еще стоит vqmod на двойке + еще куча модулей кеширования, кеширование в теме (какая-то джорнал например) и так далее. Ну да, просто офигенное "упрощение" В то же время на других движках вполне себе отлично работают события, с которыми 99% подобных конфликтов просто отсутствует. Да, всех проблем они не решат, но 99% вполне при правильном подходе (но тут мало добавить события в движок, нужно также изменять сам движок под эти события) Посмотрите напр. на Drupal, как все реализовано там. 1 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Гость smartcoder Опубликовано: 3 сентября 2018 Поделиться Опубликовано: 3 сентября 2018 10 минут назад, PoliteX сказал: ссылку на данный модуль можно? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Гость smartcoder Опубликовано: 3 сентября 2018 Поделиться Опубликовано: 3 сентября 2018 42 минуты назад, chukcha сказал: NOT FOUND чем не достаточно по NOT FOUND понять что что-то не так? Но со стороны нескольких модификаций конфликты не поймешь согласен Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 3 сентября 2018 Поделиться Опубликовано: 3 сентября 2018 5 минут назад, sv2109 сказал: В то же время на других движках вполне себе отлично работают события, с которыми 99% подобных конфликтов просто отсутствует. ага, ага, глянул я... есть что-то наподобие xml, которое при инстале/анинстале применяется/отменяется, прям в живой код ядра.. Слишком много надежд на события, если надо поменять логику обработку данных Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... freelancer Опубликовано: 3 сентября 2018 Автор Поделиться Опубликовано: 3 сентября 2018 12 минут назад, sv2109 сказал: Посмотрите напр. на Drupal, как все реализовано там. а как там? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 3 сентября 2018 Поделиться Опубликовано: 3 сентября 2018 4 минуты назад, smartcoder сказал: чем не достаточно по NOT FOUND не достатчно Поточу что этот нотфаунд может быть случайным, а извините "срет" в лог ну наприре в шаблоны theme/*/template Все настраивается на дефолт, а на кастомную тему нет. А вот поиметь список затронутых файлов, с указание строки в оригинале это уже ближе к поиску конфликтов, т.е. нужен расширенный лог модификаторов Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... freelancer Опубликовано: 3 сентября 2018 Автор Поделиться Опубликовано: 3 сентября 2018 вот у меня фильтр например патчит sql запрос в getProducts() . как мне события помогут? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... spectre Опубликовано: 3 сентября 2018 Поделиться Опубликовано: 3 сентября 2018 8 минут назад, smartcoder сказал: чем не достаточно по NOT FOUND понять что что-то не так? Но со стороны нескольких модификаций конфликты не поймешь согласен Там же есть порядок применения дополнений сложного ничего в этом нет но времени конечно побольше тратится Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 3 сентября 2018 Поделиться Опубликовано: 3 сентября 2018 7 минут назад, freelancer сказал: вот у меня фильтр например патчит sql запрос в getProducts() . как мне события помогут? не помогут, до тех пока пока не будет конструктора запросов, т.е. НИКОГДА 2 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Einshtein Опубликовано: 3 сентября 2018 Поделиться Опубликовано: 3 сентября 2018 как-то же в том же WP обходятся без всяких окмодов, и работает все достаточно неплохо, при этом модификации достаточно серьезные, еще и обновляется все в один клик удаленно. ОСmod однозначно лучше чем vqmod, но хуже чем без него. Вручную переносить код в двиг я лично не люблю, потому что если нужно удалить какой-нибудь мод, или модифицировать - это задолбаешься искать концы, а еще хуже если мод отключаешь и сайт перестает работать, потому что где-то в файлах прописан код который стучит и не находит отключенный модуль, я молчу о усложнении обновления А какие альтернативы - я тоже давно голову ломаю и не могу придумать. Потому что при той же структуре движка которая сейчас можно придумать какой-нибудь механизм работы с моделями и контроллерами, например элементарно не вмешиваясь в работу дефолтных файлов, а моды инклюдить где-то в конфигах, а вот как модифицировать огромное разнообразие фронта - я хз. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... sv2109 Опубликовано: 3 сентября 2018 Поделиться Опубликовано: 3 сентября 2018 2 минуты назад, freelancer сказал: а как там? Вот тут для старой версии друпала, но довольно понятно написано как работаю хуки (аналог событий в друпале) https://graker.ru/news/2010/04/13/hooks_api Сейчас друпал переходит на симфони, с новой версией я не работал, но подозреваю что там используются уже события из симфони https://symfony.com.ua/doc/current/event_dispatcher.html 4 минуты назад, freelancer сказал: вот у меня фильтр например патчит sql запрос в getProducts() . как мне события помогут? В данной реализации опенкарта - никак, поэтому я и написал 18 минут назад, sv2109 сказал: при правильном подходе (но тут мало добавить события в движок, нужно также изменять сам движок под эти события) Если у нас есть напр. sql запрос размером с пол страницы то вы его никак событиями не измените. Но если бы у нас вместо голого SQL был бы даже не ORM, а хотя бы какой-то простейший конструктор запросов и все запросы создавались напр. через $query->select(..)->where(..)->order(..)->limit(..); ну как-то так, то через события перед выполнением этого запроса мы бы могли со своего модуля сделать напр. $query->leftJoin(..); ну или добавить какое-то условие итд. и тем самым бы изменили весь запрос не через изменение код sql запроса, а красиво через события. Мало того, в отличии от ocmod, где если всего один модуль изменит подобный запрос, то второй уже тупо не сможет, так как запрос уже изменен и найти его через ocmod не получится.. событиями один и тот же запрос могут изменить несколько модулей одновременно, кто-то добавить новый join, кто-то добавит новое условие или сортировку итд. и все будет работать, конечно конфликты, прежде всего логические, тут тоже возможны, но их будет в десятки раз меньше, чем при ocmod, где больше одного модуля такой запрос вообще изменить не получится. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... freelancer Опубликовано: 3 сентября 2018 Автор Поделиться Опубликовано: 3 сентября 2018 @sv2109 хуки это события в opencart Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... sv2109 Опубликовано: 3 сентября 2018 Поделиться Опубликовано: 3 сентября 2018 вот посмотрите как просто работа с базой реализована в codeigniter, куда уже проще! почему чего-то такого нельзя добавить в опенкарт?? https://www.codeigniter.com/userguide3/database/query_builder.html 1 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... sv2109 Опубликовано: 3 сентября 2018 Поделиться Опубликовано: 3 сентября 2018 2 минуты назад, freelancer сказал: @sv2109 хуки это события в opencart да, но как я уже писал выше - система событий не будет полноценно работать если под нее не будет правильно переделан движок. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 3 сентября 2018 Поделиться Опубликовано: 3 сентября 2018 @sv2109 наличие, даже простого orm уже обсасывалось много раз, но ежики плакали, кололись .. Кроме того 22 минуты назад, sv2109 сказал: $query->select(..)->where(..)->order(..)->limit(..); тогда такой хук применяется на всю систему, и нужно знать инициатора, а инициатор - окмод. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... AlexDW Опубликовано: 3 сентября 2018 Поделиться Опубликовано: 3 сентября 2018 совместимость могут быть и другие модули Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... sv2109 Опубликовано: 3 сентября 2018 Поделиться Опубликовано: 3 сентября 2018 52 минуты назад, chukcha сказал: тогда такой хук применяется на всю систему, и нужно знать инициатора, а инициатор - окмод. десятки движков отлично работаю через события и знать не знают что такое окмод, но вот только почему-то разработчики опенкарт вбили себе в голову, что без окмод ничего работать не сможет.. Нужен инициатор? Без проблем, что мешает каждому запросу присвоить свой идентификатор, напр. $query->id = "уникальный идентификатор"; Или что мешает объекту $query присвоить этот идентификатор автоматически из напр. названия класса и метода, что его вызвал? будет напр. $query->id = "model_catalog_product_getProduct"; После чего из своего модуля подключиться к событию, которое будет вызываться перед выполнением каждого запроса, напр. query_pre_execute(&$query) и сделать if ($query->id == "model_catalog_product_getProduct") { // изменяем запрос как нам угодно } Все, это первое что пришло в голову пока писал это сообщение, на самом деле реализовать все можно как угодно и никакой окмод тут вообще не нужен. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... OCdevWizard Опубликовано: 3 сентября 2018 Поделиться Опубликовано: 3 сентября 2018 4 часа назад, freelancer сказал: считаю, что ocmod это костыль, который упрощает жизнь разработчикам, но усложняет владельцам ИМ. со стороны разработчика - написал ocmod, выложил, люди скачивают, сами устанавливают и вроде как все довольны, но до поры до времени. через какое-то время ocmod'ы могут пересекаться или в оригинальные файлы добавляется новый код и тогда, по сути, магазин может начать вести себя непредсказуемо. часть функционала может отвалиться без каких-либо уведомлений (если не считать полотно ocmod log'а, который никто не читает), магазин вообще может уйти в технический режим и администратор даже не заподозрит проблем, потому как он залогинен в админке. юзайте event`s в версии 2.x они правда еще сыроваты. но вот с 3.x уже можно присматриватся. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 3 сентября 2018 Поделиться Опубликовано: 3 сентября 2018 1 минуту назад, OCdevWizard сказал: юзайте event`s В какое место? Ведь они в модели не дают подменить "ядерный" запрос. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Назад 1 2 3 4 5 Вперёд Страница 1 из 5 Создайте аккаунт или войдите в него для комментирования Вы должны быть пользователем, чтобы оставить комментарий Создать аккаунт Зарегистрируйтесь для получения аккаунта. Это просто! Зарегистрировать аккаунт Войти Уже зарегистрированы? Войдите здесь. Войти сейчас Поделиться Больше способов поделиться... Подписчики 0 Перейти к списку тем Сейчас на странице 0 пользователей Нет пользователей, просматривающих эту страницу. Последние темы Последние дополнения Последние новости Вся активность Главная Поддержка и ответы на вопросы Помощь программистам и разработчикам ocmod - зло. мнение Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Deals – адаптивный универсальный шаблон Автор: octemplates Динамичесткая инфострока в шапке + позиция в макете для opencart\ocstore 2x, 3x Автор: Lito911 Единицы Измерения Товара Автор: RoS Opencart Product Search by Image Автор: slavoglo Простой массовый редактор цен. Fast Price Edit Автор: Sha × Уже зарегистрированы? Войти Регистрация Раздел покупок Назад Приобретенные дополнения Ваши счета Список желаний Альтернативные контакты Форум Новости ocStore Назад Официальный сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Скачать ocStore Документация История версий ocStore Блоги Модули Шаблоны Назад Бесплатные шаблоны Платные шаблоны Где покупать модули? Услуги FAQ OpenCart.Pro Назад Демо Купить Сравнение × Создать... Важная информация На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности. Я принимаю
PoliteX Опубликовано: 3 сентября 2018 Поделиться Опубликовано: 3 сентября 2018 1 час назад, smartcoder сказал: со стороны владельца ИМ можно поставить модуль менеджера модификаций и смотреть конфликты по-хорошему, можно настроить уведомления о конфликтах и отправка логов на почту и тп. ссылку на данный модуль можно? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться...
sv2109 Опубликовано: 3 сентября 2018 Поделиться Опубликовано: 3 сентября 2018 1 час назад, freelancer сказал: считаю, что ocmod это костыль, я это уже 6 лет говорю.. 1 час назад, freelancer сказал: который упрощает жизнь разработчикам ем.. гм.. вы это серьезно? ocmod создает кучу конфликтов, которые исправлять как раз таки разработчикам и приходится, потому что есть куча покупателей из разряда "я ничего не знаю и знать не хочу, я заплатил деньги и у меня все должно работать, автор - делай чтобы работало".. и приходится закатывать рукава и искать чей кусок модификатора изменил код, а кроме ocmod у некоторых еще стоит vqmod на двойке + еще куча модулей кеширования, кеширование в теме (какая-то джорнал например) и так далее. Ну да, просто офигенное "упрощение" В то же время на других движках вполне себе отлично работают события, с которыми 99% подобных конфликтов просто отсутствует. Да, всех проблем они не решат, но 99% вполне при правильном подходе (но тут мало добавить события в движок, нужно также изменять сам движок под эти события) Посмотрите напр. на Drupal, как все реализовано там. 1 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Гость smartcoder Опубликовано: 3 сентября 2018 Поделиться Опубликовано: 3 сентября 2018 10 минут назад, PoliteX сказал: ссылку на данный модуль можно? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Гость smartcoder Опубликовано: 3 сентября 2018 Поделиться Опубликовано: 3 сентября 2018 42 минуты назад, chukcha сказал: NOT FOUND чем не достаточно по NOT FOUND понять что что-то не так? Но со стороны нескольких модификаций конфликты не поймешь согласен Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 3 сентября 2018 Поделиться Опубликовано: 3 сентября 2018 5 минут назад, sv2109 сказал: В то же время на других движках вполне себе отлично работают события, с которыми 99% подобных конфликтов просто отсутствует. ага, ага, глянул я... есть что-то наподобие xml, которое при инстале/анинстале применяется/отменяется, прям в живой код ядра.. Слишком много надежд на события, если надо поменять логику обработку данных Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... freelancer Опубликовано: 3 сентября 2018 Автор Поделиться Опубликовано: 3 сентября 2018 12 минут назад, sv2109 сказал: Посмотрите напр. на Drupal, как все реализовано там. а как там? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 3 сентября 2018 Поделиться Опубликовано: 3 сентября 2018 4 минуты назад, smartcoder сказал: чем не достаточно по NOT FOUND не достатчно Поточу что этот нотфаунд может быть случайным, а извините "срет" в лог ну наприре в шаблоны theme/*/template Все настраивается на дефолт, а на кастомную тему нет. А вот поиметь список затронутых файлов, с указание строки в оригинале это уже ближе к поиску конфликтов, т.е. нужен расширенный лог модификаторов Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... freelancer Опубликовано: 3 сентября 2018 Автор Поделиться Опубликовано: 3 сентября 2018 вот у меня фильтр например патчит sql запрос в getProducts() . как мне события помогут? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... spectre Опубликовано: 3 сентября 2018 Поделиться Опубликовано: 3 сентября 2018 8 минут назад, smartcoder сказал: чем не достаточно по NOT FOUND понять что что-то не так? Но со стороны нескольких модификаций конфликты не поймешь согласен Там же есть порядок применения дополнений сложного ничего в этом нет но времени конечно побольше тратится Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 3 сентября 2018 Поделиться Опубликовано: 3 сентября 2018 7 минут назад, freelancer сказал: вот у меня фильтр например патчит sql запрос в getProducts() . как мне события помогут? не помогут, до тех пока пока не будет конструктора запросов, т.е. НИКОГДА 2 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Einshtein Опубликовано: 3 сентября 2018 Поделиться Опубликовано: 3 сентября 2018 как-то же в том же WP обходятся без всяких окмодов, и работает все достаточно неплохо, при этом модификации достаточно серьезные, еще и обновляется все в один клик удаленно. ОСmod однозначно лучше чем vqmod, но хуже чем без него. Вручную переносить код в двиг я лично не люблю, потому что если нужно удалить какой-нибудь мод, или модифицировать - это задолбаешься искать концы, а еще хуже если мод отключаешь и сайт перестает работать, потому что где-то в файлах прописан код который стучит и не находит отключенный модуль, я молчу о усложнении обновления А какие альтернативы - я тоже давно голову ломаю и не могу придумать. Потому что при той же структуре движка которая сейчас можно придумать какой-нибудь механизм работы с моделями и контроллерами, например элементарно не вмешиваясь в работу дефолтных файлов, а моды инклюдить где-то в конфигах, а вот как модифицировать огромное разнообразие фронта - я хз. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... sv2109 Опубликовано: 3 сентября 2018 Поделиться Опубликовано: 3 сентября 2018 2 минуты назад, freelancer сказал: а как там? Вот тут для старой версии друпала, но довольно понятно написано как работаю хуки (аналог событий в друпале) https://graker.ru/news/2010/04/13/hooks_api Сейчас друпал переходит на симфони, с новой версией я не работал, но подозреваю что там используются уже события из симфони https://symfony.com.ua/doc/current/event_dispatcher.html 4 минуты назад, freelancer сказал: вот у меня фильтр например патчит sql запрос в getProducts() . как мне события помогут? В данной реализации опенкарта - никак, поэтому я и написал 18 минут назад, sv2109 сказал: при правильном подходе (но тут мало добавить события в движок, нужно также изменять сам движок под эти события) Если у нас есть напр. sql запрос размером с пол страницы то вы его никак событиями не измените. Но если бы у нас вместо голого SQL был бы даже не ORM, а хотя бы какой-то простейший конструктор запросов и все запросы создавались напр. через $query->select(..)->where(..)->order(..)->limit(..); ну как-то так, то через события перед выполнением этого запроса мы бы могли со своего модуля сделать напр. $query->leftJoin(..); ну или добавить какое-то условие итд. и тем самым бы изменили весь запрос не через изменение код sql запроса, а красиво через события. Мало того, в отличии от ocmod, где если всего один модуль изменит подобный запрос, то второй уже тупо не сможет, так как запрос уже изменен и найти его через ocmod не получится.. событиями один и тот же запрос могут изменить несколько модулей одновременно, кто-то добавить новый join, кто-то добавит новое условие или сортировку итд. и все будет работать, конечно конфликты, прежде всего логические, тут тоже возможны, но их будет в десятки раз меньше, чем при ocmod, где больше одного модуля такой запрос вообще изменить не получится. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... freelancer Опубликовано: 3 сентября 2018 Автор Поделиться Опубликовано: 3 сентября 2018 @sv2109 хуки это события в opencart Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... sv2109 Опубликовано: 3 сентября 2018 Поделиться Опубликовано: 3 сентября 2018 вот посмотрите как просто работа с базой реализована в codeigniter, куда уже проще! почему чего-то такого нельзя добавить в опенкарт?? https://www.codeigniter.com/userguide3/database/query_builder.html 1 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... sv2109 Опубликовано: 3 сентября 2018 Поделиться Опубликовано: 3 сентября 2018 2 минуты назад, freelancer сказал: @sv2109 хуки это события в opencart да, но как я уже писал выше - система событий не будет полноценно работать если под нее не будет правильно переделан движок. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 3 сентября 2018 Поделиться Опубликовано: 3 сентября 2018 @sv2109 наличие, даже простого orm уже обсасывалось много раз, но ежики плакали, кололись .. Кроме того 22 минуты назад, sv2109 сказал: $query->select(..)->where(..)->order(..)->limit(..); тогда такой хук применяется на всю систему, и нужно знать инициатора, а инициатор - окмод. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... AlexDW Опубликовано: 3 сентября 2018 Поделиться Опубликовано: 3 сентября 2018 совместимость могут быть и другие модули Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... sv2109 Опубликовано: 3 сентября 2018 Поделиться Опубликовано: 3 сентября 2018 52 минуты назад, chukcha сказал: тогда такой хук применяется на всю систему, и нужно знать инициатора, а инициатор - окмод. десятки движков отлично работаю через события и знать не знают что такое окмод, но вот только почему-то разработчики опенкарт вбили себе в голову, что без окмод ничего работать не сможет.. Нужен инициатор? Без проблем, что мешает каждому запросу присвоить свой идентификатор, напр. $query->id = "уникальный идентификатор"; Или что мешает объекту $query присвоить этот идентификатор автоматически из напр. названия класса и метода, что его вызвал? будет напр. $query->id = "model_catalog_product_getProduct"; После чего из своего модуля подключиться к событию, которое будет вызываться перед выполнением каждого запроса, напр. query_pre_execute(&$query) и сделать if ($query->id == "model_catalog_product_getProduct") { // изменяем запрос как нам угодно } Все, это первое что пришло в голову пока писал это сообщение, на самом деле реализовать все можно как угодно и никакой окмод тут вообще не нужен. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... OCdevWizard Опубликовано: 3 сентября 2018 Поделиться Опубликовано: 3 сентября 2018 4 часа назад, freelancer сказал: считаю, что ocmod это костыль, который упрощает жизнь разработчикам, но усложняет владельцам ИМ. со стороны разработчика - написал ocmod, выложил, люди скачивают, сами устанавливают и вроде как все довольны, но до поры до времени. через какое-то время ocmod'ы могут пересекаться или в оригинальные файлы добавляется новый код и тогда, по сути, магазин может начать вести себя непредсказуемо. часть функционала может отвалиться без каких-либо уведомлений (если не считать полотно ocmod log'а, который никто не читает), магазин вообще может уйти в технический режим и администратор даже не заподозрит проблем, потому как он залогинен в админке. юзайте event`s в версии 2.x они правда еще сыроваты. но вот с 3.x уже можно присматриватся. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 3 сентября 2018 Поделиться Опубликовано: 3 сентября 2018 1 минуту назад, OCdevWizard сказал: юзайте event`s В какое место? Ведь они в модели не дают подменить "ядерный" запрос. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Назад 1 2 3 4 5 Вперёд Страница 1 из 5 Создайте аккаунт или войдите в него для комментирования Вы должны быть пользователем, чтобы оставить комментарий Создать аккаунт Зарегистрируйтесь для получения аккаунта. Это просто! Зарегистрировать аккаунт Войти Уже зарегистрированы? Войдите здесь. Войти сейчас Поделиться Больше способов поделиться... Подписчики 0 Перейти к списку тем Сейчас на странице 0 пользователей Нет пользователей, просматривающих эту страницу. Последние темы Последние дополнения Последние новости Вся активность Главная Поддержка и ответы на вопросы Помощь программистам и разработчикам ocmod - зло. мнение Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Deals – адаптивный универсальный шаблон Автор: octemplates Динамичесткая инфострока в шапке + позиция в макете для opencart\ocstore 2x, 3x Автор: Lito911 Единицы Измерения Товара Автор: RoS Opencart Product Search by Image Автор: slavoglo Простой массовый редактор цен. Fast Price Edit Автор: Sha × Уже зарегистрированы? Войти Регистрация Раздел покупок Назад Приобретенные дополнения Ваши счета Список желаний Альтернативные контакты Форум Новости ocStore Назад Официальный сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Скачать ocStore Документация История версий ocStore Блоги Модули Шаблоны Назад Бесплатные шаблоны Платные шаблоны Где покупать модули? Услуги FAQ OpenCart.Pro Назад Демо Купить Сравнение × Создать... Важная информация На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности. Я принимаю
Гость smartcoder Опубликовано: 3 сентября 2018 Поделиться Опубликовано: 3 сентября 2018 10 минут назад, PoliteX сказал: ссылку на данный модуль можно? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться...
Гость smartcoder Опубликовано: 3 сентября 2018 Поделиться Опубликовано: 3 сентября 2018 42 минуты назад, chukcha сказал: NOT FOUND чем не достаточно по NOT FOUND понять что что-то не так? Но со стороны нескольких модификаций конфликты не поймешь согласен Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться...
chukcha Опубликовано: 3 сентября 2018 Поделиться Опубликовано: 3 сентября 2018 5 минут назад, sv2109 сказал: В то же время на других движках вполне себе отлично работают события, с которыми 99% подобных конфликтов просто отсутствует. ага, ага, глянул я... есть что-то наподобие xml, которое при инстале/анинстале применяется/отменяется, прям в живой код ядра.. Слишком много надежд на события, если надо поменять логику обработку данных Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... freelancer Опубликовано: 3 сентября 2018 Автор Поделиться Опубликовано: 3 сентября 2018 12 минут назад, sv2109 сказал: Посмотрите напр. на Drupal, как все реализовано там. а как там? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 3 сентября 2018 Поделиться Опубликовано: 3 сентября 2018 4 минуты назад, smartcoder сказал: чем не достаточно по NOT FOUND не достатчно Поточу что этот нотфаунд может быть случайным, а извините "срет" в лог ну наприре в шаблоны theme/*/template Все настраивается на дефолт, а на кастомную тему нет. А вот поиметь список затронутых файлов, с указание строки в оригинале это уже ближе к поиску конфликтов, т.е. нужен расширенный лог модификаторов Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... freelancer Опубликовано: 3 сентября 2018 Автор Поделиться Опубликовано: 3 сентября 2018 вот у меня фильтр например патчит sql запрос в getProducts() . как мне события помогут? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... spectre Опубликовано: 3 сентября 2018 Поделиться Опубликовано: 3 сентября 2018 8 минут назад, smartcoder сказал: чем не достаточно по NOT FOUND понять что что-то не так? Но со стороны нескольких модификаций конфликты не поймешь согласен Там же есть порядок применения дополнений сложного ничего в этом нет но времени конечно побольше тратится Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 3 сентября 2018 Поделиться Опубликовано: 3 сентября 2018 7 минут назад, freelancer сказал: вот у меня фильтр например патчит sql запрос в getProducts() . как мне события помогут? не помогут, до тех пока пока не будет конструктора запросов, т.е. НИКОГДА 2 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Einshtein Опубликовано: 3 сентября 2018 Поделиться Опубликовано: 3 сентября 2018 как-то же в том же WP обходятся без всяких окмодов, и работает все достаточно неплохо, при этом модификации достаточно серьезные, еще и обновляется все в один клик удаленно. ОСmod однозначно лучше чем vqmod, но хуже чем без него. Вручную переносить код в двиг я лично не люблю, потому что если нужно удалить какой-нибудь мод, или модифицировать - это задолбаешься искать концы, а еще хуже если мод отключаешь и сайт перестает работать, потому что где-то в файлах прописан код который стучит и не находит отключенный модуль, я молчу о усложнении обновления А какие альтернативы - я тоже давно голову ломаю и не могу придумать. Потому что при той же структуре движка которая сейчас можно придумать какой-нибудь механизм работы с моделями и контроллерами, например элементарно не вмешиваясь в работу дефолтных файлов, а моды инклюдить где-то в конфигах, а вот как модифицировать огромное разнообразие фронта - я хз. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... sv2109 Опубликовано: 3 сентября 2018 Поделиться Опубликовано: 3 сентября 2018 2 минуты назад, freelancer сказал: а как там? Вот тут для старой версии друпала, но довольно понятно написано как работаю хуки (аналог событий в друпале) https://graker.ru/news/2010/04/13/hooks_api Сейчас друпал переходит на симфони, с новой версией я не работал, но подозреваю что там используются уже события из симфони https://symfony.com.ua/doc/current/event_dispatcher.html 4 минуты назад, freelancer сказал: вот у меня фильтр например патчит sql запрос в getProducts() . как мне события помогут? В данной реализации опенкарта - никак, поэтому я и написал 18 минут назад, sv2109 сказал: при правильном подходе (но тут мало добавить события в движок, нужно также изменять сам движок под эти события) Если у нас есть напр. sql запрос размером с пол страницы то вы его никак событиями не измените. Но если бы у нас вместо голого SQL был бы даже не ORM, а хотя бы какой-то простейший конструктор запросов и все запросы создавались напр. через $query->select(..)->where(..)->order(..)->limit(..); ну как-то так, то через события перед выполнением этого запроса мы бы могли со своего модуля сделать напр. $query->leftJoin(..); ну или добавить какое-то условие итд. и тем самым бы изменили весь запрос не через изменение код sql запроса, а красиво через события. Мало того, в отличии от ocmod, где если всего один модуль изменит подобный запрос, то второй уже тупо не сможет, так как запрос уже изменен и найти его через ocmod не получится.. событиями один и тот же запрос могут изменить несколько модулей одновременно, кто-то добавить новый join, кто-то добавит новое условие или сортировку итд. и все будет работать, конечно конфликты, прежде всего логические, тут тоже возможны, но их будет в десятки раз меньше, чем при ocmod, где больше одного модуля такой запрос вообще изменить не получится. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... freelancer Опубликовано: 3 сентября 2018 Автор Поделиться Опубликовано: 3 сентября 2018 @sv2109 хуки это события в opencart Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... sv2109 Опубликовано: 3 сентября 2018 Поделиться Опубликовано: 3 сентября 2018 вот посмотрите как просто работа с базой реализована в codeigniter, куда уже проще! почему чего-то такого нельзя добавить в опенкарт?? https://www.codeigniter.com/userguide3/database/query_builder.html 1 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... sv2109 Опубликовано: 3 сентября 2018 Поделиться Опубликовано: 3 сентября 2018 2 минуты назад, freelancer сказал: @sv2109 хуки это события в opencart да, но как я уже писал выше - система событий не будет полноценно работать если под нее не будет правильно переделан движок. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 3 сентября 2018 Поделиться Опубликовано: 3 сентября 2018 @sv2109 наличие, даже простого orm уже обсасывалось много раз, но ежики плакали, кололись .. Кроме того 22 минуты назад, sv2109 сказал: $query->select(..)->where(..)->order(..)->limit(..); тогда такой хук применяется на всю систему, и нужно знать инициатора, а инициатор - окмод. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... AlexDW Опубликовано: 3 сентября 2018 Поделиться Опубликовано: 3 сентября 2018 совместимость могут быть и другие модули Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... sv2109 Опубликовано: 3 сентября 2018 Поделиться Опубликовано: 3 сентября 2018 52 минуты назад, chukcha сказал: тогда такой хук применяется на всю систему, и нужно знать инициатора, а инициатор - окмод. десятки движков отлично работаю через события и знать не знают что такое окмод, но вот только почему-то разработчики опенкарт вбили себе в голову, что без окмод ничего работать не сможет.. Нужен инициатор? Без проблем, что мешает каждому запросу присвоить свой идентификатор, напр. $query->id = "уникальный идентификатор"; Или что мешает объекту $query присвоить этот идентификатор автоматически из напр. названия класса и метода, что его вызвал? будет напр. $query->id = "model_catalog_product_getProduct"; После чего из своего модуля подключиться к событию, которое будет вызываться перед выполнением каждого запроса, напр. query_pre_execute(&$query) и сделать if ($query->id == "model_catalog_product_getProduct") { // изменяем запрос как нам угодно } Все, это первое что пришло в голову пока писал это сообщение, на самом деле реализовать все можно как угодно и никакой окмод тут вообще не нужен. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... OCdevWizard Опубликовано: 3 сентября 2018 Поделиться Опубликовано: 3 сентября 2018 4 часа назад, freelancer сказал: считаю, что ocmod это костыль, который упрощает жизнь разработчикам, но усложняет владельцам ИМ. со стороны разработчика - написал ocmod, выложил, люди скачивают, сами устанавливают и вроде как все довольны, но до поры до времени. через какое-то время ocmod'ы могут пересекаться или в оригинальные файлы добавляется новый код и тогда, по сути, магазин может начать вести себя непредсказуемо. часть функционала может отвалиться без каких-либо уведомлений (если не считать полотно ocmod log'а, который никто не читает), магазин вообще может уйти в технический режим и администратор даже не заподозрит проблем, потому как он залогинен в админке. юзайте event`s в версии 2.x они правда еще сыроваты. но вот с 3.x уже можно присматриватся. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 3 сентября 2018 Поделиться Опубликовано: 3 сентября 2018 1 минуту назад, OCdevWizard сказал: юзайте event`s В какое место? Ведь они в модели не дают подменить "ядерный" запрос. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Назад 1 2 3 4 5 Вперёд Страница 1 из 5 Создайте аккаунт или войдите в него для комментирования Вы должны быть пользователем, чтобы оставить комментарий Создать аккаунт Зарегистрируйтесь для получения аккаунта. Это просто! Зарегистрировать аккаунт Войти Уже зарегистрированы? Войдите здесь. Войти сейчас Поделиться Больше способов поделиться... Подписчики 0 Перейти к списку тем Сейчас на странице 0 пользователей Нет пользователей, просматривающих эту страницу. Последние темы Последние дополнения Последние новости Вся активность Главная Поддержка и ответы на вопросы Помощь программистам и разработчикам ocmod - зло. мнение Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Deals – адаптивный универсальный шаблон Автор: octemplates Динамичесткая инфострока в шапке + позиция в макете для opencart\ocstore 2x, 3x Автор: Lito911 Единицы Измерения Товара Автор: RoS Opencart Product Search by Image Автор: slavoglo Простой массовый редактор цен. Fast Price Edit Автор: Sha × Уже зарегистрированы? Войти Регистрация Раздел покупок Назад Приобретенные дополнения Ваши счета Список желаний Альтернативные контакты Форум Новости ocStore Назад Официальный сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Скачать ocStore Документация История версий ocStore Блоги Модули Шаблоны Назад Бесплатные шаблоны Платные шаблоны Где покупать модули? Услуги FAQ OpenCart.Pro Назад Демо Купить Сравнение × Создать... Важная информация На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности. Я принимаю
freelancer Опубликовано: 3 сентября 2018 Автор Поделиться Опубликовано: 3 сентября 2018 12 минут назад, sv2109 сказал: Посмотрите напр. на Drupal, как все реализовано там. а как там? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 3 сентября 2018 Поделиться Опубликовано: 3 сентября 2018 4 минуты назад, smartcoder сказал: чем не достаточно по NOT FOUND не достатчно Поточу что этот нотфаунд может быть случайным, а извините "срет" в лог ну наприре в шаблоны theme/*/template Все настраивается на дефолт, а на кастомную тему нет. А вот поиметь список затронутых файлов, с указание строки в оригинале это уже ближе к поиску конфликтов, т.е. нужен расширенный лог модификаторов Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... freelancer Опубликовано: 3 сентября 2018 Автор Поделиться Опубликовано: 3 сентября 2018 вот у меня фильтр например патчит sql запрос в getProducts() . как мне события помогут? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... spectre Опубликовано: 3 сентября 2018 Поделиться Опубликовано: 3 сентября 2018 8 минут назад, smartcoder сказал: чем не достаточно по NOT FOUND понять что что-то не так? Но со стороны нескольких модификаций конфликты не поймешь согласен Там же есть порядок применения дополнений сложного ничего в этом нет но времени конечно побольше тратится Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 3 сентября 2018 Поделиться Опубликовано: 3 сентября 2018 7 минут назад, freelancer сказал: вот у меня фильтр например патчит sql запрос в getProducts() . как мне события помогут? не помогут, до тех пока пока не будет конструктора запросов, т.е. НИКОГДА 2 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Einshtein Опубликовано: 3 сентября 2018 Поделиться Опубликовано: 3 сентября 2018 как-то же в том же WP обходятся без всяких окмодов, и работает все достаточно неплохо, при этом модификации достаточно серьезные, еще и обновляется все в один клик удаленно. ОСmod однозначно лучше чем vqmod, но хуже чем без него. Вручную переносить код в двиг я лично не люблю, потому что если нужно удалить какой-нибудь мод, или модифицировать - это задолбаешься искать концы, а еще хуже если мод отключаешь и сайт перестает работать, потому что где-то в файлах прописан код который стучит и не находит отключенный модуль, я молчу о усложнении обновления А какие альтернативы - я тоже давно голову ломаю и не могу придумать. Потому что при той же структуре движка которая сейчас можно придумать какой-нибудь механизм работы с моделями и контроллерами, например элементарно не вмешиваясь в работу дефолтных файлов, а моды инклюдить где-то в конфигах, а вот как модифицировать огромное разнообразие фронта - я хз. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... sv2109 Опубликовано: 3 сентября 2018 Поделиться Опубликовано: 3 сентября 2018 2 минуты назад, freelancer сказал: а как там? Вот тут для старой версии друпала, но довольно понятно написано как работаю хуки (аналог событий в друпале) https://graker.ru/news/2010/04/13/hooks_api Сейчас друпал переходит на симфони, с новой версией я не работал, но подозреваю что там используются уже события из симфони https://symfony.com.ua/doc/current/event_dispatcher.html 4 минуты назад, freelancer сказал: вот у меня фильтр например патчит sql запрос в getProducts() . как мне события помогут? В данной реализации опенкарта - никак, поэтому я и написал 18 минут назад, sv2109 сказал: при правильном подходе (но тут мало добавить события в движок, нужно также изменять сам движок под эти события) Если у нас есть напр. sql запрос размером с пол страницы то вы его никак событиями не измените. Но если бы у нас вместо голого SQL был бы даже не ORM, а хотя бы какой-то простейший конструктор запросов и все запросы создавались напр. через $query->select(..)->where(..)->order(..)->limit(..); ну как-то так, то через события перед выполнением этого запроса мы бы могли со своего модуля сделать напр. $query->leftJoin(..); ну или добавить какое-то условие итд. и тем самым бы изменили весь запрос не через изменение код sql запроса, а красиво через события. Мало того, в отличии от ocmod, где если всего один модуль изменит подобный запрос, то второй уже тупо не сможет, так как запрос уже изменен и найти его через ocmod не получится.. событиями один и тот же запрос могут изменить несколько модулей одновременно, кто-то добавить новый join, кто-то добавит новое условие или сортировку итд. и все будет работать, конечно конфликты, прежде всего логические, тут тоже возможны, но их будет в десятки раз меньше, чем при ocmod, где больше одного модуля такой запрос вообще изменить не получится. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... freelancer Опубликовано: 3 сентября 2018 Автор Поделиться Опубликовано: 3 сентября 2018 @sv2109 хуки это события в opencart Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... sv2109 Опубликовано: 3 сентября 2018 Поделиться Опубликовано: 3 сентября 2018 вот посмотрите как просто работа с базой реализована в codeigniter, куда уже проще! почему чего-то такого нельзя добавить в опенкарт?? https://www.codeigniter.com/userguide3/database/query_builder.html 1 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... sv2109 Опубликовано: 3 сентября 2018 Поделиться Опубликовано: 3 сентября 2018 2 минуты назад, freelancer сказал: @sv2109 хуки это события в opencart да, но как я уже писал выше - система событий не будет полноценно работать если под нее не будет правильно переделан движок. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 3 сентября 2018 Поделиться Опубликовано: 3 сентября 2018 @sv2109 наличие, даже простого orm уже обсасывалось много раз, но ежики плакали, кололись .. Кроме того 22 минуты назад, sv2109 сказал: $query->select(..)->where(..)->order(..)->limit(..); тогда такой хук применяется на всю систему, и нужно знать инициатора, а инициатор - окмод. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... AlexDW Опубликовано: 3 сентября 2018 Поделиться Опубликовано: 3 сентября 2018 совместимость могут быть и другие модули Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... sv2109 Опубликовано: 3 сентября 2018 Поделиться Опубликовано: 3 сентября 2018 52 минуты назад, chukcha сказал: тогда такой хук применяется на всю систему, и нужно знать инициатора, а инициатор - окмод. десятки движков отлично работаю через события и знать не знают что такое окмод, но вот только почему-то разработчики опенкарт вбили себе в голову, что без окмод ничего работать не сможет.. Нужен инициатор? Без проблем, что мешает каждому запросу присвоить свой идентификатор, напр. $query->id = "уникальный идентификатор"; Или что мешает объекту $query присвоить этот идентификатор автоматически из напр. названия класса и метода, что его вызвал? будет напр. $query->id = "model_catalog_product_getProduct"; После чего из своего модуля подключиться к событию, которое будет вызываться перед выполнением каждого запроса, напр. query_pre_execute(&$query) и сделать if ($query->id == "model_catalog_product_getProduct") { // изменяем запрос как нам угодно } Все, это первое что пришло в голову пока писал это сообщение, на самом деле реализовать все можно как угодно и никакой окмод тут вообще не нужен. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... OCdevWizard Опубликовано: 3 сентября 2018 Поделиться Опубликовано: 3 сентября 2018 4 часа назад, freelancer сказал: считаю, что ocmod это костыль, который упрощает жизнь разработчикам, но усложняет владельцам ИМ. со стороны разработчика - написал ocmod, выложил, люди скачивают, сами устанавливают и вроде как все довольны, но до поры до времени. через какое-то время ocmod'ы могут пересекаться или в оригинальные файлы добавляется новый код и тогда, по сути, магазин может начать вести себя непредсказуемо. часть функционала может отвалиться без каких-либо уведомлений (если не считать полотно ocmod log'а, который никто не читает), магазин вообще может уйти в технический режим и администратор даже не заподозрит проблем, потому как он залогинен в админке. юзайте event`s в версии 2.x они правда еще сыроваты. но вот с 3.x уже можно присматриватся. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 3 сентября 2018 Поделиться Опубликовано: 3 сентября 2018 1 минуту назад, OCdevWizard сказал: юзайте event`s В какое место? Ведь они в модели не дают подменить "ядерный" запрос. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Назад 1 2 3 4 5 Вперёд Страница 1 из 5 Создайте аккаунт или войдите в него для комментирования Вы должны быть пользователем, чтобы оставить комментарий Создать аккаунт Зарегистрируйтесь для получения аккаунта. Это просто! Зарегистрировать аккаунт Войти Уже зарегистрированы? Войдите здесь. Войти сейчас Поделиться Больше способов поделиться... Подписчики 0 Перейти к списку тем Сейчас на странице 0 пользователей Нет пользователей, просматривающих эту страницу. Последние темы Последние дополнения Последние новости Вся активность Главная Поддержка и ответы на вопросы Помощь программистам и разработчикам ocmod - зло. мнение Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Deals – адаптивный универсальный шаблон Автор: octemplates Динамичесткая инфострока в шапке + позиция в макете для opencart\ocstore 2x, 3x Автор: Lito911 Единицы Измерения Товара Автор: RoS Opencart Product Search by Image Автор: slavoglo Простой массовый редактор цен. Fast Price Edit Автор: Sha × Уже зарегистрированы? Войти Регистрация Раздел покупок Назад Приобретенные дополнения Ваши счета Список желаний Альтернативные контакты Форум Новости ocStore Назад Официальный сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Скачать ocStore Документация История версий ocStore Блоги Модули Шаблоны Назад Бесплатные шаблоны Платные шаблоны Где покупать модули? Услуги FAQ OpenCart.Pro Назад Демо Купить Сравнение × Создать... Важная информация На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности. Я принимаю
chukcha Опубликовано: 3 сентября 2018 Поделиться Опубликовано: 3 сентября 2018 4 минуты назад, smartcoder сказал: чем не достаточно по NOT FOUND не достатчно Поточу что этот нотфаунд может быть случайным, а извините "срет" в лог ну наприре в шаблоны theme/*/template Все настраивается на дефолт, а на кастомную тему нет. А вот поиметь список затронутых файлов, с указание строки в оригинале это уже ближе к поиску конфликтов, т.е. нужен расширенный лог модификаторов Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... freelancer Опубликовано: 3 сентября 2018 Автор Поделиться Опубликовано: 3 сентября 2018 вот у меня фильтр например патчит sql запрос в getProducts() . как мне события помогут? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... spectre Опубликовано: 3 сентября 2018 Поделиться Опубликовано: 3 сентября 2018 8 минут назад, smartcoder сказал: чем не достаточно по NOT FOUND понять что что-то не так? Но со стороны нескольких модификаций конфликты не поймешь согласен Там же есть порядок применения дополнений сложного ничего в этом нет но времени конечно побольше тратится Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 3 сентября 2018 Поделиться Опубликовано: 3 сентября 2018 7 минут назад, freelancer сказал: вот у меня фильтр например патчит sql запрос в getProducts() . как мне события помогут? не помогут, до тех пока пока не будет конструктора запросов, т.е. НИКОГДА 2 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Einshtein Опубликовано: 3 сентября 2018 Поделиться Опубликовано: 3 сентября 2018 как-то же в том же WP обходятся без всяких окмодов, и работает все достаточно неплохо, при этом модификации достаточно серьезные, еще и обновляется все в один клик удаленно. ОСmod однозначно лучше чем vqmod, но хуже чем без него. Вручную переносить код в двиг я лично не люблю, потому что если нужно удалить какой-нибудь мод, или модифицировать - это задолбаешься искать концы, а еще хуже если мод отключаешь и сайт перестает работать, потому что где-то в файлах прописан код который стучит и не находит отключенный модуль, я молчу о усложнении обновления А какие альтернативы - я тоже давно голову ломаю и не могу придумать. Потому что при той же структуре движка которая сейчас можно придумать какой-нибудь механизм работы с моделями и контроллерами, например элементарно не вмешиваясь в работу дефолтных файлов, а моды инклюдить где-то в конфигах, а вот как модифицировать огромное разнообразие фронта - я хз. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... sv2109 Опубликовано: 3 сентября 2018 Поделиться Опубликовано: 3 сентября 2018 2 минуты назад, freelancer сказал: а как там? Вот тут для старой версии друпала, но довольно понятно написано как работаю хуки (аналог событий в друпале) https://graker.ru/news/2010/04/13/hooks_api Сейчас друпал переходит на симфони, с новой версией я не работал, но подозреваю что там используются уже события из симфони https://symfony.com.ua/doc/current/event_dispatcher.html 4 минуты назад, freelancer сказал: вот у меня фильтр например патчит sql запрос в getProducts() . как мне события помогут? В данной реализации опенкарта - никак, поэтому я и написал 18 минут назад, sv2109 сказал: при правильном подходе (но тут мало добавить события в движок, нужно также изменять сам движок под эти события) Если у нас есть напр. sql запрос размером с пол страницы то вы его никак событиями не измените. Но если бы у нас вместо голого SQL был бы даже не ORM, а хотя бы какой-то простейший конструктор запросов и все запросы создавались напр. через $query->select(..)->where(..)->order(..)->limit(..); ну как-то так, то через события перед выполнением этого запроса мы бы могли со своего модуля сделать напр. $query->leftJoin(..); ну или добавить какое-то условие итд. и тем самым бы изменили весь запрос не через изменение код sql запроса, а красиво через события. Мало того, в отличии от ocmod, где если всего один модуль изменит подобный запрос, то второй уже тупо не сможет, так как запрос уже изменен и найти его через ocmod не получится.. событиями один и тот же запрос могут изменить несколько модулей одновременно, кто-то добавить новый join, кто-то добавит новое условие или сортировку итд. и все будет работать, конечно конфликты, прежде всего логические, тут тоже возможны, но их будет в десятки раз меньше, чем при ocmod, где больше одного модуля такой запрос вообще изменить не получится. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... freelancer Опубликовано: 3 сентября 2018 Автор Поделиться Опубликовано: 3 сентября 2018 @sv2109 хуки это события в opencart Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... sv2109 Опубликовано: 3 сентября 2018 Поделиться Опубликовано: 3 сентября 2018 вот посмотрите как просто работа с базой реализована в codeigniter, куда уже проще! почему чего-то такого нельзя добавить в опенкарт?? https://www.codeigniter.com/userguide3/database/query_builder.html 1 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... sv2109 Опубликовано: 3 сентября 2018 Поделиться Опубликовано: 3 сентября 2018 2 минуты назад, freelancer сказал: @sv2109 хуки это события в opencart да, но как я уже писал выше - система событий не будет полноценно работать если под нее не будет правильно переделан движок. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 3 сентября 2018 Поделиться Опубликовано: 3 сентября 2018 @sv2109 наличие, даже простого orm уже обсасывалось много раз, но ежики плакали, кололись .. Кроме того 22 минуты назад, sv2109 сказал: $query->select(..)->where(..)->order(..)->limit(..); тогда такой хук применяется на всю систему, и нужно знать инициатора, а инициатор - окмод. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... AlexDW Опубликовано: 3 сентября 2018 Поделиться Опубликовано: 3 сентября 2018 совместимость могут быть и другие модули Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... sv2109 Опубликовано: 3 сентября 2018 Поделиться Опубликовано: 3 сентября 2018 52 минуты назад, chukcha сказал: тогда такой хук применяется на всю систему, и нужно знать инициатора, а инициатор - окмод. десятки движков отлично работаю через события и знать не знают что такое окмод, но вот только почему-то разработчики опенкарт вбили себе в голову, что без окмод ничего работать не сможет.. Нужен инициатор? Без проблем, что мешает каждому запросу присвоить свой идентификатор, напр. $query->id = "уникальный идентификатор"; Или что мешает объекту $query присвоить этот идентификатор автоматически из напр. названия класса и метода, что его вызвал? будет напр. $query->id = "model_catalog_product_getProduct"; После чего из своего модуля подключиться к событию, которое будет вызываться перед выполнением каждого запроса, напр. query_pre_execute(&$query) и сделать if ($query->id == "model_catalog_product_getProduct") { // изменяем запрос как нам угодно } Все, это первое что пришло в голову пока писал это сообщение, на самом деле реализовать все можно как угодно и никакой окмод тут вообще не нужен. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... OCdevWizard Опубликовано: 3 сентября 2018 Поделиться Опубликовано: 3 сентября 2018 4 часа назад, freelancer сказал: считаю, что ocmod это костыль, который упрощает жизнь разработчикам, но усложняет владельцам ИМ. со стороны разработчика - написал ocmod, выложил, люди скачивают, сами устанавливают и вроде как все довольны, но до поры до времени. через какое-то время ocmod'ы могут пересекаться или в оригинальные файлы добавляется новый код и тогда, по сути, магазин может начать вести себя непредсказуемо. часть функционала может отвалиться без каких-либо уведомлений (если не считать полотно ocmod log'а, который никто не читает), магазин вообще может уйти в технический режим и администратор даже не заподозрит проблем, потому как он залогинен в админке. юзайте event`s в версии 2.x они правда еще сыроваты. но вот с 3.x уже можно присматриватся. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 3 сентября 2018 Поделиться Опубликовано: 3 сентября 2018 1 минуту назад, OCdevWizard сказал: юзайте event`s В какое место? Ведь они в модели не дают подменить "ядерный" запрос. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Назад 1 2 3 4 5 Вперёд Страница 1 из 5 Создайте аккаунт или войдите в него для комментирования Вы должны быть пользователем, чтобы оставить комментарий Создать аккаунт Зарегистрируйтесь для получения аккаунта. Это просто! Зарегистрировать аккаунт Войти Уже зарегистрированы? Войдите здесь. Войти сейчас Поделиться Больше способов поделиться... Подписчики 0 Перейти к списку тем Сейчас на странице 0 пользователей Нет пользователей, просматривающих эту страницу. Последние темы Последние дополнения Последние новости Вся активность Главная Поддержка и ответы на вопросы Помощь программистам и разработчикам ocmod - зло. мнение Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Deals – адаптивный универсальный шаблон Автор: octemplates Динамичесткая инфострока в шапке + позиция в макете для opencart\ocstore 2x, 3x Автор: Lito911 Единицы Измерения Товара Автор: RoS Opencart Product Search by Image Автор: slavoglo Простой массовый редактор цен. Fast Price Edit Автор: Sha × Уже зарегистрированы? Войти Регистрация Раздел покупок Назад Приобретенные дополнения Ваши счета Список желаний Альтернативные контакты Форум Новости ocStore Назад Официальный сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Скачать ocStore Документация История версий ocStore Блоги Модули Шаблоны Назад Бесплатные шаблоны Платные шаблоны Где покупать модули? Услуги FAQ OpenCart.Pro Назад Демо Купить Сравнение × Создать... Важная информация На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности. Я принимаю
freelancer Опубликовано: 3 сентября 2018 Автор Поделиться Опубликовано: 3 сентября 2018 вот у меня фильтр например патчит sql запрос в getProducts() . как мне события помогут? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... spectre Опубликовано: 3 сентября 2018 Поделиться Опубликовано: 3 сентября 2018 8 минут назад, smartcoder сказал: чем не достаточно по NOT FOUND понять что что-то не так? Но со стороны нескольких модификаций конфликты не поймешь согласен Там же есть порядок применения дополнений сложного ничего в этом нет но времени конечно побольше тратится Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 3 сентября 2018 Поделиться Опубликовано: 3 сентября 2018 7 минут назад, freelancer сказал: вот у меня фильтр например патчит sql запрос в getProducts() . как мне события помогут? не помогут, до тех пока пока не будет конструктора запросов, т.е. НИКОГДА 2 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Einshtein Опубликовано: 3 сентября 2018 Поделиться Опубликовано: 3 сентября 2018 как-то же в том же WP обходятся без всяких окмодов, и работает все достаточно неплохо, при этом модификации достаточно серьезные, еще и обновляется все в один клик удаленно. ОСmod однозначно лучше чем vqmod, но хуже чем без него. Вручную переносить код в двиг я лично не люблю, потому что если нужно удалить какой-нибудь мод, или модифицировать - это задолбаешься искать концы, а еще хуже если мод отключаешь и сайт перестает работать, потому что где-то в файлах прописан код который стучит и не находит отключенный модуль, я молчу о усложнении обновления А какие альтернативы - я тоже давно голову ломаю и не могу придумать. Потому что при той же структуре движка которая сейчас можно придумать какой-нибудь механизм работы с моделями и контроллерами, например элементарно не вмешиваясь в работу дефолтных файлов, а моды инклюдить где-то в конфигах, а вот как модифицировать огромное разнообразие фронта - я хз. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... sv2109 Опубликовано: 3 сентября 2018 Поделиться Опубликовано: 3 сентября 2018 2 минуты назад, freelancer сказал: а как там? Вот тут для старой версии друпала, но довольно понятно написано как работаю хуки (аналог событий в друпале) https://graker.ru/news/2010/04/13/hooks_api Сейчас друпал переходит на симфони, с новой версией я не работал, но подозреваю что там используются уже события из симфони https://symfony.com.ua/doc/current/event_dispatcher.html 4 минуты назад, freelancer сказал: вот у меня фильтр например патчит sql запрос в getProducts() . как мне события помогут? В данной реализации опенкарта - никак, поэтому я и написал 18 минут назад, sv2109 сказал: при правильном подходе (но тут мало добавить события в движок, нужно также изменять сам движок под эти события) Если у нас есть напр. sql запрос размером с пол страницы то вы его никак событиями не измените. Но если бы у нас вместо голого SQL был бы даже не ORM, а хотя бы какой-то простейший конструктор запросов и все запросы создавались напр. через $query->select(..)->where(..)->order(..)->limit(..); ну как-то так, то через события перед выполнением этого запроса мы бы могли со своего модуля сделать напр. $query->leftJoin(..); ну или добавить какое-то условие итд. и тем самым бы изменили весь запрос не через изменение код sql запроса, а красиво через события. Мало того, в отличии от ocmod, где если всего один модуль изменит подобный запрос, то второй уже тупо не сможет, так как запрос уже изменен и найти его через ocmod не получится.. событиями один и тот же запрос могут изменить несколько модулей одновременно, кто-то добавить новый join, кто-то добавит новое условие или сортировку итд. и все будет работать, конечно конфликты, прежде всего логические, тут тоже возможны, но их будет в десятки раз меньше, чем при ocmod, где больше одного модуля такой запрос вообще изменить не получится. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... freelancer Опубликовано: 3 сентября 2018 Автор Поделиться Опубликовано: 3 сентября 2018 @sv2109 хуки это события в opencart Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... sv2109 Опубликовано: 3 сентября 2018 Поделиться Опубликовано: 3 сентября 2018 вот посмотрите как просто работа с базой реализована в codeigniter, куда уже проще! почему чего-то такого нельзя добавить в опенкарт?? https://www.codeigniter.com/userguide3/database/query_builder.html 1 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... sv2109 Опубликовано: 3 сентября 2018 Поделиться Опубликовано: 3 сентября 2018 2 минуты назад, freelancer сказал: @sv2109 хуки это события в opencart да, но как я уже писал выше - система событий не будет полноценно работать если под нее не будет правильно переделан движок. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 3 сентября 2018 Поделиться Опубликовано: 3 сентября 2018 @sv2109 наличие, даже простого orm уже обсасывалось много раз, но ежики плакали, кололись .. Кроме того 22 минуты назад, sv2109 сказал: $query->select(..)->where(..)->order(..)->limit(..); тогда такой хук применяется на всю систему, и нужно знать инициатора, а инициатор - окмод. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... AlexDW Опубликовано: 3 сентября 2018 Поделиться Опубликовано: 3 сентября 2018 совместимость могут быть и другие модули Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... sv2109 Опубликовано: 3 сентября 2018 Поделиться Опубликовано: 3 сентября 2018 52 минуты назад, chukcha сказал: тогда такой хук применяется на всю систему, и нужно знать инициатора, а инициатор - окмод. десятки движков отлично работаю через события и знать не знают что такое окмод, но вот только почему-то разработчики опенкарт вбили себе в голову, что без окмод ничего работать не сможет.. Нужен инициатор? Без проблем, что мешает каждому запросу присвоить свой идентификатор, напр. $query->id = "уникальный идентификатор"; Или что мешает объекту $query присвоить этот идентификатор автоматически из напр. названия класса и метода, что его вызвал? будет напр. $query->id = "model_catalog_product_getProduct"; После чего из своего модуля подключиться к событию, которое будет вызываться перед выполнением каждого запроса, напр. query_pre_execute(&$query) и сделать if ($query->id == "model_catalog_product_getProduct") { // изменяем запрос как нам угодно } Все, это первое что пришло в голову пока писал это сообщение, на самом деле реализовать все можно как угодно и никакой окмод тут вообще не нужен. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... OCdevWizard Опубликовано: 3 сентября 2018 Поделиться Опубликовано: 3 сентября 2018 4 часа назад, freelancer сказал: считаю, что ocmod это костыль, который упрощает жизнь разработчикам, но усложняет владельцам ИМ. со стороны разработчика - написал ocmod, выложил, люди скачивают, сами устанавливают и вроде как все довольны, но до поры до времени. через какое-то время ocmod'ы могут пересекаться или в оригинальные файлы добавляется новый код и тогда, по сути, магазин может начать вести себя непредсказуемо. часть функционала может отвалиться без каких-либо уведомлений (если не считать полотно ocmod log'а, который никто не читает), магазин вообще может уйти в технический режим и администратор даже не заподозрит проблем, потому как он залогинен в админке. юзайте event`s в версии 2.x они правда еще сыроваты. но вот с 3.x уже можно присматриватся. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 3 сентября 2018 Поделиться Опубликовано: 3 сентября 2018 1 минуту назад, OCdevWizard сказал: юзайте event`s В какое место? Ведь они в модели не дают подменить "ядерный" запрос. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Назад 1 2 3 4 5 Вперёд Страница 1 из 5 Создайте аккаунт или войдите в него для комментирования Вы должны быть пользователем, чтобы оставить комментарий Создать аккаунт Зарегистрируйтесь для получения аккаунта. Это просто! Зарегистрировать аккаунт Войти Уже зарегистрированы? Войдите здесь. Войти сейчас Поделиться Больше способов поделиться... Подписчики 0 Перейти к списку тем Сейчас на странице 0 пользователей Нет пользователей, просматривающих эту страницу. Последние темы Последние дополнения Последние новости Вся активность Главная Поддержка и ответы на вопросы Помощь программистам и разработчикам ocmod - зло. мнение Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Deals – адаптивный универсальный шаблон Автор: octemplates Динамичесткая инфострока в шапке + позиция в макете для opencart\ocstore 2x, 3x Автор: Lito911 Единицы Измерения Товара Автор: RoS Opencart Product Search by Image Автор: slavoglo Простой массовый редактор цен. Fast Price Edit Автор: Sha × Уже зарегистрированы? Войти Регистрация Раздел покупок Назад Приобретенные дополнения Ваши счета Список желаний Альтернативные контакты Форум Новости ocStore Назад Официальный сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Скачать ocStore Документация История версий ocStore Блоги Модули Шаблоны Назад Бесплатные шаблоны Платные шаблоны Где покупать модули? Услуги FAQ OpenCart.Pro Назад Демо Купить Сравнение × Создать... Важная информация На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности. Я принимаю
spectre Опубликовано: 3 сентября 2018 Поделиться Опубликовано: 3 сентября 2018 8 минут назад, smartcoder сказал: чем не достаточно по NOT FOUND понять что что-то не так? Но со стороны нескольких модификаций конфликты не поймешь согласен Там же есть порядок применения дополнений сложного ничего в этом нет но времени конечно побольше тратится Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 3 сентября 2018 Поделиться Опубликовано: 3 сентября 2018 7 минут назад, freelancer сказал: вот у меня фильтр например патчит sql запрос в getProducts() . как мне события помогут? не помогут, до тех пока пока не будет конструктора запросов, т.е. НИКОГДА 2 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Einshtein Опубликовано: 3 сентября 2018 Поделиться Опубликовано: 3 сентября 2018 как-то же в том же WP обходятся без всяких окмодов, и работает все достаточно неплохо, при этом модификации достаточно серьезные, еще и обновляется все в один клик удаленно. ОСmod однозначно лучше чем vqmod, но хуже чем без него. Вручную переносить код в двиг я лично не люблю, потому что если нужно удалить какой-нибудь мод, или модифицировать - это задолбаешься искать концы, а еще хуже если мод отключаешь и сайт перестает работать, потому что где-то в файлах прописан код который стучит и не находит отключенный модуль, я молчу о усложнении обновления А какие альтернативы - я тоже давно голову ломаю и не могу придумать. Потому что при той же структуре движка которая сейчас можно придумать какой-нибудь механизм работы с моделями и контроллерами, например элементарно не вмешиваясь в работу дефолтных файлов, а моды инклюдить где-то в конфигах, а вот как модифицировать огромное разнообразие фронта - я хз. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... sv2109 Опубликовано: 3 сентября 2018 Поделиться Опубликовано: 3 сентября 2018 2 минуты назад, freelancer сказал: а как там? Вот тут для старой версии друпала, но довольно понятно написано как работаю хуки (аналог событий в друпале) https://graker.ru/news/2010/04/13/hooks_api Сейчас друпал переходит на симфони, с новой версией я не работал, но подозреваю что там используются уже события из симфони https://symfony.com.ua/doc/current/event_dispatcher.html 4 минуты назад, freelancer сказал: вот у меня фильтр например патчит sql запрос в getProducts() . как мне события помогут? В данной реализации опенкарта - никак, поэтому я и написал 18 минут назад, sv2109 сказал: при правильном подходе (но тут мало добавить события в движок, нужно также изменять сам движок под эти события) Если у нас есть напр. sql запрос размером с пол страницы то вы его никак событиями не измените. Но если бы у нас вместо голого SQL был бы даже не ORM, а хотя бы какой-то простейший конструктор запросов и все запросы создавались напр. через $query->select(..)->where(..)->order(..)->limit(..); ну как-то так, то через события перед выполнением этого запроса мы бы могли со своего модуля сделать напр. $query->leftJoin(..); ну или добавить какое-то условие итд. и тем самым бы изменили весь запрос не через изменение код sql запроса, а красиво через события. Мало того, в отличии от ocmod, где если всего один модуль изменит подобный запрос, то второй уже тупо не сможет, так как запрос уже изменен и найти его через ocmod не получится.. событиями один и тот же запрос могут изменить несколько модулей одновременно, кто-то добавить новый join, кто-то добавит новое условие или сортировку итд. и все будет работать, конечно конфликты, прежде всего логические, тут тоже возможны, но их будет в десятки раз меньше, чем при ocmod, где больше одного модуля такой запрос вообще изменить не получится. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... freelancer Опубликовано: 3 сентября 2018 Автор Поделиться Опубликовано: 3 сентября 2018 @sv2109 хуки это события в opencart Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... sv2109 Опубликовано: 3 сентября 2018 Поделиться Опубликовано: 3 сентября 2018 вот посмотрите как просто работа с базой реализована в codeigniter, куда уже проще! почему чего-то такого нельзя добавить в опенкарт?? https://www.codeigniter.com/userguide3/database/query_builder.html 1 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... sv2109 Опубликовано: 3 сентября 2018 Поделиться Опубликовано: 3 сентября 2018 2 минуты назад, freelancer сказал: @sv2109 хуки это события в opencart да, но как я уже писал выше - система событий не будет полноценно работать если под нее не будет правильно переделан движок. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 3 сентября 2018 Поделиться Опубликовано: 3 сентября 2018 @sv2109 наличие, даже простого orm уже обсасывалось много раз, но ежики плакали, кололись .. Кроме того 22 минуты назад, sv2109 сказал: $query->select(..)->where(..)->order(..)->limit(..); тогда такой хук применяется на всю систему, и нужно знать инициатора, а инициатор - окмод. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... AlexDW Опубликовано: 3 сентября 2018 Поделиться Опубликовано: 3 сентября 2018 совместимость могут быть и другие модули Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... sv2109 Опубликовано: 3 сентября 2018 Поделиться Опубликовано: 3 сентября 2018 52 минуты назад, chukcha сказал: тогда такой хук применяется на всю систему, и нужно знать инициатора, а инициатор - окмод. десятки движков отлично работаю через события и знать не знают что такое окмод, но вот только почему-то разработчики опенкарт вбили себе в голову, что без окмод ничего работать не сможет.. Нужен инициатор? Без проблем, что мешает каждому запросу присвоить свой идентификатор, напр. $query->id = "уникальный идентификатор"; Или что мешает объекту $query присвоить этот идентификатор автоматически из напр. названия класса и метода, что его вызвал? будет напр. $query->id = "model_catalog_product_getProduct"; После чего из своего модуля подключиться к событию, которое будет вызываться перед выполнением каждого запроса, напр. query_pre_execute(&$query) и сделать if ($query->id == "model_catalog_product_getProduct") { // изменяем запрос как нам угодно } Все, это первое что пришло в голову пока писал это сообщение, на самом деле реализовать все можно как угодно и никакой окмод тут вообще не нужен. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... OCdevWizard Опубликовано: 3 сентября 2018 Поделиться Опубликовано: 3 сентября 2018 4 часа назад, freelancer сказал: считаю, что ocmod это костыль, который упрощает жизнь разработчикам, но усложняет владельцам ИМ. со стороны разработчика - написал ocmod, выложил, люди скачивают, сами устанавливают и вроде как все довольны, но до поры до времени. через какое-то время ocmod'ы могут пересекаться или в оригинальные файлы добавляется новый код и тогда, по сути, магазин может начать вести себя непредсказуемо. часть функционала может отвалиться без каких-либо уведомлений (если не считать полотно ocmod log'а, который никто не читает), магазин вообще может уйти в технический режим и администратор даже не заподозрит проблем, потому как он залогинен в админке. юзайте event`s в версии 2.x они правда еще сыроваты. но вот с 3.x уже можно присматриватся. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 3 сентября 2018 Поделиться Опубликовано: 3 сентября 2018 1 минуту назад, OCdevWizard сказал: юзайте event`s В какое место? Ведь они в модели не дают подменить "ядерный" запрос. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Назад 1 2 3 4 5 Вперёд Страница 1 из 5 Создайте аккаунт или войдите в него для комментирования Вы должны быть пользователем, чтобы оставить комментарий Создать аккаунт Зарегистрируйтесь для получения аккаунта. Это просто! Зарегистрировать аккаунт Войти Уже зарегистрированы? Войдите здесь. Войти сейчас Поделиться Больше способов поделиться... Подписчики 0 Перейти к списку тем Сейчас на странице 0 пользователей Нет пользователей, просматривающих эту страницу. Последние темы Последние дополнения Последние новости Вся активность Главная Поддержка и ответы на вопросы Помощь программистам и разработчикам ocmod - зло. мнение Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Deals – адаптивный универсальный шаблон Автор: octemplates Динамичесткая инфострока в шапке + позиция в макете для opencart\ocstore 2x, 3x Автор: Lito911 Единицы Измерения Товара Автор: RoS Opencart Product Search by Image Автор: slavoglo Простой массовый редактор цен. Fast Price Edit Автор: Sha × Уже зарегистрированы? Войти Регистрация Раздел покупок Назад Приобретенные дополнения Ваши счета Список желаний Альтернативные контакты Форум Новости ocStore Назад Официальный сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Скачать ocStore Документация История версий ocStore Блоги Модули Шаблоны Назад Бесплатные шаблоны Платные шаблоны Где покупать модули? Услуги FAQ OpenCart.Pro Назад Демо Купить Сравнение × Создать... Важная информация На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности. Я принимаю
chukcha Опубликовано: 3 сентября 2018 Поделиться Опубликовано: 3 сентября 2018 7 минут назад, freelancer сказал: вот у меня фильтр например патчит sql запрос в getProducts() . как мне события помогут? не помогут, до тех пока пока не будет конструктора запросов, т.е. НИКОГДА 2 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Einshtein Опубликовано: 3 сентября 2018 Поделиться Опубликовано: 3 сентября 2018 как-то же в том же WP обходятся без всяких окмодов, и работает все достаточно неплохо, при этом модификации достаточно серьезные, еще и обновляется все в один клик удаленно. ОСmod однозначно лучше чем vqmod, но хуже чем без него. Вручную переносить код в двиг я лично не люблю, потому что если нужно удалить какой-нибудь мод, или модифицировать - это задолбаешься искать концы, а еще хуже если мод отключаешь и сайт перестает работать, потому что где-то в файлах прописан код который стучит и не находит отключенный модуль, я молчу о усложнении обновления А какие альтернативы - я тоже давно голову ломаю и не могу придумать. Потому что при той же структуре движка которая сейчас можно придумать какой-нибудь механизм работы с моделями и контроллерами, например элементарно не вмешиваясь в работу дефолтных файлов, а моды инклюдить где-то в конфигах, а вот как модифицировать огромное разнообразие фронта - я хз. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... sv2109 Опубликовано: 3 сентября 2018 Поделиться Опубликовано: 3 сентября 2018 2 минуты назад, freelancer сказал: а как там? Вот тут для старой версии друпала, но довольно понятно написано как работаю хуки (аналог событий в друпале) https://graker.ru/news/2010/04/13/hooks_api Сейчас друпал переходит на симфони, с новой версией я не работал, но подозреваю что там используются уже события из симфони https://symfony.com.ua/doc/current/event_dispatcher.html 4 минуты назад, freelancer сказал: вот у меня фильтр например патчит sql запрос в getProducts() . как мне события помогут? В данной реализации опенкарта - никак, поэтому я и написал 18 минут назад, sv2109 сказал: при правильном подходе (но тут мало добавить события в движок, нужно также изменять сам движок под эти события) Если у нас есть напр. sql запрос размером с пол страницы то вы его никак событиями не измените. Но если бы у нас вместо голого SQL был бы даже не ORM, а хотя бы какой-то простейший конструктор запросов и все запросы создавались напр. через $query->select(..)->where(..)->order(..)->limit(..); ну как-то так, то через события перед выполнением этого запроса мы бы могли со своего модуля сделать напр. $query->leftJoin(..); ну или добавить какое-то условие итд. и тем самым бы изменили весь запрос не через изменение код sql запроса, а красиво через события. Мало того, в отличии от ocmod, где если всего один модуль изменит подобный запрос, то второй уже тупо не сможет, так как запрос уже изменен и найти его через ocmod не получится.. событиями один и тот же запрос могут изменить несколько модулей одновременно, кто-то добавить новый join, кто-то добавит новое условие или сортировку итд. и все будет работать, конечно конфликты, прежде всего логические, тут тоже возможны, но их будет в десятки раз меньше, чем при ocmod, где больше одного модуля такой запрос вообще изменить не получится. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... freelancer Опубликовано: 3 сентября 2018 Автор Поделиться Опубликовано: 3 сентября 2018 @sv2109 хуки это события в opencart Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... sv2109 Опубликовано: 3 сентября 2018 Поделиться Опубликовано: 3 сентября 2018 вот посмотрите как просто работа с базой реализована в codeigniter, куда уже проще! почему чего-то такого нельзя добавить в опенкарт?? https://www.codeigniter.com/userguide3/database/query_builder.html 1 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... sv2109 Опубликовано: 3 сентября 2018 Поделиться Опубликовано: 3 сентября 2018 2 минуты назад, freelancer сказал: @sv2109 хуки это события в opencart да, но как я уже писал выше - система событий не будет полноценно работать если под нее не будет правильно переделан движок. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 3 сентября 2018 Поделиться Опубликовано: 3 сентября 2018 @sv2109 наличие, даже простого orm уже обсасывалось много раз, но ежики плакали, кололись .. Кроме того 22 минуты назад, sv2109 сказал: $query->select(..)->where(..)->order(..)->limit(..); тогда такой хук применяется на всю систему, и нужно знать инициатора, а инициатор - окмод. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... AlexDW Опубликовано: 3 сентября 2018 Поделиться Опубликовано: 3 сентября 2018 совместимость могут быть и другие модули Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... sv2109 Опубликовано: 3 сентября 2018 Поделиться Опубликовано: 3 сентября 2018 52 минуты назад, chukcha сказал: тогда такой хук применяется на всю систему, и нужно знать инициатора, а инициатор - окмод. десятки движков отлично работаю через события и знать не знают что такое окмод, но вот только почему-то разработчики опенкарт вбили себе в голову, что без окмод ничего работать не сможет.. Нужен инициатор? Без проблем, что мешает каждому запросу присвоить свой идентификатор, напр. $query->id = "уникальный идентификатор"; Или что мешает объекту $query присвоить этот идентификатор автоматически из напр. названия класса и метода, что его вызвал? будет напр. $query->id = "model_catalog_product_getProduct"; После чего из своего модуля подключиться к событию, которое будет вызываться перед выполнением каждого запроса, напр. query_pre_execute(&$query) и сделать if ($query->id == "model_catalog_product_getProduct") { // изменяем запрос как нам угодно } Все, это первое что пришло в голову пока писал это сообщение, на самом деле реализовать все можно как угодно и никакой окмод тут вообще не нужен. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... OCdevWizard Опубликовано: 3 сентября 2018 Поделиться Опубликовано: 3 сентября 2018 4 часа назад, freelancer сказал: считаю, что ocmod это костыль, который упрощает жизнь разработчикам, но усложняет владельцам ИМ. со стороны разработчика - написал ocmod, выложил, люди скачивают, сами устанавливают и вроде как все довольны, но до поры до времени. через какое-то время ocmod'ы могут пересекаться или в оригинальные файлы добавляется новый код и тогда, по сути, магазин может начать вести себя непредсказуемо. часть функционала может отвалиться без каких-либо уведомлений (если не считать полотно ocmod log'а, который никто не читает), магазин вообще может уйти в технический режим и администратор даже не заподозрит проблем, потому как он залогинен в админке. юзайте event`s в версии 2.x они правда еще сыроваты. но вот с 3.x уже можно присматриватся. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 3 сентября 2018 Поделиться Опубликовано: 3 сентября 2018 1 минуту назад, OCdevWizard сказал: юзайте event`s В какое место? Ведь они в модели не дают подменить "ядерный" запрос. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Назад 1 2 3 4 5 Вперёд Страница 1 из 5 Создайте аккаунт или войдите в него для комментирования Вы должны быть пользователем, чтобы оставить комментарий Создать аккаунт Зарегистрируйтесь для получения аккаунта. Это просто! Зарегистрировать аккаунт Войти Уже зарегистрированы? Войдите здесь. Войти сейчас Поделиться Больше способов поделиться... Подписчики 0 Перейти к списку тем Сейчас на странице 0 пользователей Нет пользователей, просматривающих эту страницу. Последние темы Последние дополнения Последние новости Вся активность Главная Поддержка и ответы на вопросы Помощь программистам и разработчикам ocmod - зло. мнение Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Deals – адаптивный универсальный шаблон Автор: octemplates Динамичесткая инфострока в шапке + позиция в макете для opencart\ocstore 2x, 3x Автор: Lito911 Единицы Измерения Товара Автор: RoS Opencart Product Search by Image Автор: slavoglo Простой массовый редактор цен. Fast Price Edit Автор: Sha × Уже зарегистрированы? Войти Регистрация Раздел покупок Назад Приобретенные дополнения Ваши счета Список желаний Альтернативные контакты Форум Новости ocStore Назад Официальный сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Скачать ocStore Документация История версий ocStore Блоги Модули Шаблоны Назад Бесплатные шаблоны Платные шаблоны Где покупать модули? Услуги FAQ OpenCart.Pro Назад Демо Купить Сравнение × Создать... Важная информация На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности. Я принимаю
Einshtein Опубликовано: 3 сентября 2018 Поделиться Опубликовано: 3 сентября 2018 как-то же в том же WP обходятся без всяких окмодов, и работает все достаточно неплохо, при этом модификации достаточно серьезные, еще и обновляется все в один клик удаленно. ОСmod однозначно лучше чем vqmod, но хуже чем без него. Вручную переносить код в двиг я лично не люблю, потому что если нужно удалить какой-нибудь мод, или модифицировать - это задолбаешься искать концы, а еще хуже если мод отключаешь и сайт перестает работать, потому что где-то в файлах прописан код который стучит и не находит отключенный модуль, я молчу о усложнении обновления А какие альтернативы - я тоже давно голову ломаю и не могу придумать. Потому что при той же структуре движка которая сейчас можно придумать какой-нибудь механизм работы с моделями и контроллерами, например элементарно не вмешиваясь в работу дефолтных файлов, а моды инклюдить где-то в конфигах, а вот как модифицировать огромное разнообразие фронта - я хз. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться...
sv2109 Опубликовано: 3 сентября 2018 Поделиться Опубликовано: 3 сентября 2018 2 минуты назад, freelancer сказал: а как там? Вот тут для старой версии друпала, но довольно понятно написано как работаю хуки (аналог событий в друпале) https://graker.ru/news/2010/04/13/hooks_api Сейчас друпал переходит на симфони, с новой версией я не работал, но подозреваю что там используются уже события из симфони https://symfony.com.ua/doc/current/event_dispatcher.html 4 минуты назад, freelancer сказал: вот у меня фильтр например патчит sql запрос в getProducts() . как мне события помогут? В данной реализации опенкарта - никак, поэтому я и написал 18 минут назад, sv2109 сказал: при правильном подходе (но тут мало добавить события в движок, нужно также изменять сам движок под эти события) Если у нас есть напр. sql запрос размером с пол страницы то вы его никак событиями не измените. Но если бы у нас вместо голого SQL был бы даже не ORM, а хотя бы какой-то простейший конструктор запросов и все запросы создавались напр. через $query->select(..)->where(..)->order(..)->limit(..); ну как-то так, то через события перед выполнением этого запроса мы бы могли со своего модуля сделать напр. $query->leftJoin(..); ну или добавить какое-то условие итд. и тем самым бы изменили весь запрос не через изменение код sql запроса, а красиво через события. Мало того, в отличии от ocmod, где если всего один модуль изменит подобный запрос, то второй уже тупо не сможет, так как запрос уже изменен и найти его через ocmod не получится.. событиями один и тот же запрос могут изменить несколько модулей одновременно, кто-то добавить новый join, кто-то добавит новое условие или сортировку итд. и все будет работать, конечно конфликты, прежде всего логические, тут тоже возможны, но их будет в десятки раз меньше, чем при ocmod, где больше одного модуля такой запрос вообще изменить не получится. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... freelancer Опубликовано: 3 сентября 2018 Автор Поделиться Опубликовано: 3 сентября 2018 @sv2109 хуки это события в opencart Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... sv2109 Опубликовано: 3 сентября 2018 Поделиться Опубликовано: 3 сентября 2018 вот посмотрите как просто работа с базой реализована в codeigniter, куда уже проще! почему чего-то такого нельзя добавить в опенкарт?? https://www.codeigniter.com/userguide3/database/query_builder.html 1 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... sv2109 Опубликовано: 3 сентября 2018 Поделиться Опубликовано: 3 сентября 2018 2 минуты назад, freelancer сказал: @sv2109 хуки это события в opencart да, но как я уже писал выше - система событий не будет полноценно работать если под нее не будет правильно переделан движок. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 3 сентября 2018 Поделиться Опубликовано: 3 сентября 2018 @sv2109 наличие, даже простого orm уже обсасывалось много раз, но ежики плакали, кололись .. Кроме того 22 минуты назад, sv2109 сказал: $query->select(..)->where(..)->order(..)->limit(..); тогда такой хук применяется на всю систему, и нужно знать инициатора, а инициатор - окмод. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... AlexDW Опубликовано: 3 сентября 2018 Поделиться Опубликовано: 3 сентября 2018 совместимость могут быть и другие модули Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... sv2109 Опубликовано: 3 сентября 2018 Поделиться Опубликовано: 3 сентября 2018 52 минуты назад, chukcha сказал: тогда такой хук применяется на всю систему, и нужно знать инициатора, а инициатор - окмод. десятки движков отлично работаю через события и знать не знают что такое окмод, но вот только почему-то разработчики опенкарт вбили себе в голову, что без окмод ничего работать не сможет.. Нужен инициатор? Без проблем, что мешает каждому запросу присвоить свой идентификатор, напр. $query->id = "уникальный идентификатор"; Или что мешает объекту $query присвоить этот идентификатор автоматически из напр. названия класса и метода, что его вызвал? будет напр. $query->id = "model_catalog_product_getProduct"; После чего из своего модуля подключиться к событию, которое будет вызываться перед выполнением каждого запроса, напр. query_pre_execute(&$query) и сделать if ($query->id == "model_catalog_product_getProduct") { // изменяем запрос как нам угодно } Все, это первое что пришло в голову пока писал это сообщение, на самом деле реализовать все можно как угодно и никакой окмод тут вообще не нужен. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... OCdevWizard Опубликовано: 3 сентября 2018 Поделиться Опубликовано: 3 сентября 2018 4 часа назад, freelancer сказал: считаю, что ocmod это костыль, который упрощает жизнь разработчикам, но усложняет владельцам ИМ. со стороны разработчика - написал ocmod, выложил, люди скачивают, сами устанавливают и вроде как все довольны, но до поры до времени. через какое-то время ocmod'ы могут пересекаться или в оригинальные файлы добавляется новый код и тогда, по сути, магазин может начать вести себя непредсказуемо. часть функционала может отвалиться без каких-либо уведомлений (если не считать полотно ocmod log'а, который никто не читает), магазин вообще может уйти в технический режим и администратор даже не заподозрит проблем, потому как он залогинен в админке. юзайте event`s в версии 2.x они правда еще сыроваты. но вот с 3.x уже можно присматриватся. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 3 сентября 2018 Поделиться Опубликовано: 3 сентября 2018 1 минуту назад, OCdevWizard сказал: юзайте event`s В какое место? Ведь они в модели не дают подменить "ядерный" запрос. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Назад 1 2 3 4 5 Вперёд Страница 1 из 5 Создайте аккаунт или войдите в него для комментирования Вы должны быть пользователем, чтобы оставить комментарий Создать аккаунт Зарегистрируйтесь для получения аккаунта. Это просто! Зарегистрировать аккаунт Войти Уже зарегистрированы? Войдите здесь. Войти сейчас Поделиться Больше способов поделиться... Подписчики 0 Перейти к списку тем Сейчас на странице 0 пользователей Нет пользователей, просматривающих эту страницу. Последние темы Последние дополнения Последние новости Вся активность Главная Поддержка и ответы на вопросы Помощь программистам и разработчикам ocmod - зло. мнение Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Deals – адаптивный универсальный шаблон Автор: octemplates Динамичесткая инфострока в шапке + позиция в макете для opencart\ocstore 2x, 3x Автор: Lito911 Единицы Измерения Товара Автор: RoS Opencart Product Search by Image Автор: slavoglo Простой массовый редактор цен. Fast Price Edit Автор: Sha × Уже зарегистрированы? Войти Регистрация Раздел покупок Назад Приобретенные дополнения Ваши счета Список желаний Альтернативные контакты Форум Новости ocStore Назад Официальный сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Скачать ocStore Документация История версий ocStore Блоги Модули Шаблоны Назад Бесплатные шаблоны Платные шаблоны Где покупать модули? Услуги FAQ OpenCart.Pro Назад Демо Купить Сравнение × Создать... Важная информация На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности. Я принимаю
freelancer Опубликовано: 3 сентября 2018 Автор Поделиться Опубликовано: 3 сентября 2018 @sv2109 хуки это события в opencart Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... sv2109 Опубликовано: 3 сентября 2018 Поделиться Опубликовано: 3 сентября 2018 вот посмотрите как просто работа с базой реализована в codeigniter, куда уже проще! почему чего-то такого нельзя добавить в опенкарт?? https://www.codeigniter.com/userguide3/database/query_builder.html 1 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... sv2109 Опубликовано: 3 сентября 2018 Поделиться Опубликовано: 3 сентября 2018 2 минуты назад, freelancer сказал: @sv2109 хуки это события в opencart да, но как я уже писал выше - система событий не будет полноценно работать если под нее не будет правильно переделан движок. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 3 сентября 2018 Поделиться Опубликовано: 3 сентября 2018 @sv2109 наличие, даже простого orm уже обсасывалось много раз, но ежики плакали, кололись .. Кроме того 22 минуты назад, sv2109 сказал: $query->select(..)->where(..)->order(..)->limit(..); тогда такой хук применяется на всю систему, и нужно знать инициатора, а инициатор - окмод. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... AlexDW Опубликовано: 3 сентября 2018 Поделиться Опубликовано: 3 сентября 2018 совместимость могут быть и другие модули Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... sv2109 Опубликовано: 3 сентября 2018 Поделиться Опубликовано: 3 сентября 2018 52 минуты назад, chukcha сказал: тогда такой хук применяется на всю систему, и нужно знать инициатора, а инициатор - окмод. десятки движков отлично работаю через события и знать не знают что такое окмод, но вот только почему-то разработчики опенкарт вбили себе в голову, что без окмод ничего работать не сможет.. Нужен инициатор? Без проблем, что мешает каждому запросу присвоить свой идентификатор, напр. $query->id = "уникальный идентификатор"; Или что мешает объекту $query присвоить этот идентификатор автоматически из напр. названия класса и метода, что его вызвал? будет напр. $query->id = "model_catalog_product_getProduct"; После чего из своего модуля подключиться к событию, которое будет вызываться перед выполнением каждого запроса, напр. query_pre_execute(&$query) и сделать if ($query->id == "model_catalog_product_getProduct") { // изменяем запрос как нам угодно } Все, это первое что пришло в голову пока писал это сообщение, на самом деле реализовать все можно как угодно и никакой окмод тут вообще не нужен. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... OCdevWizard Опубликовано: 3 сентября 2018 Поделиться Опубликовано: 3 сентября 2018 4 часа назад, freelancer сказал: считаю, что ocmod это костыль, который упрощает жизнь разработчикам, но усложняет владельцам ИМ. со стороны разработчика - написал ocmod, выложил, люди скачивают, сами устанавливают и вроде как все довольны, но до поры до времени. через какое-то время ocmod'ы могут пересекаться или в оригинальные файлы добавляется новый код и тогда, по сути, магазин может начать вести себя непредсказуемо. часть функционала может отвалиться без каких-либо уведомлений (если не считать полотно ocmod log'а, который никто не читает), магазин вообще может уйти в технический режим и администратор даже не заподозрит проблем, потому как он залогинен в админке. юзайте event`s в версии 2.x они правда еще сыроваты. но вот с 3.x уже можно присматриватся. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 3 сентября 2018 Поделиться Опубликовано: 3 сентября 2018 1 минуту назад, OCdevWizard сказал: юзайте event`s В какое место? Ведь они в модели не дают подменить "ядерный" запрос. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Назад 1 2 3 4 5 Вперёд Страница 1 из 5 Создайте аккаунт или войдите в него для комментирования Вы должны быть пользователем, чтобы оставить комментарий Создать аккаунт Зарегистрируйтесь для получения аккаунта. Это просто! Зарегистрировать аккаунт Войти Уже зарегистрированы? Войдите здесь. Войти сейчас Поделиться Больше способов поделиться... Подписчики 0 Перейти к списку тем Сейчас на странице 0 пользователей Нет пользователей, просматривающих эту страницу. Последние темы Последние дополнения Последние новости Вся активность Главная Поддержка и ответы на вопросы Помощь программистам и разработчикам ocmod - зло. мнение Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Deals – адаптивный универсальный шаблон Автор: octemplates Динамичесткая инфострока в шапке + позиция в макете для opencart\ocstore 2x, 3x Автор: Lito911 Единицы Измерения Товара Автор: RoS Opencart Product Search by Image Автор: slavoglo Простой массовый редактор цен. Fast Price Edit Автор: Sha × Уже зарегистрированы? Войти Регистрация Раздел покупок Назад Приобретенные дополнения Ваши счета Список желаний Альтернативные контакты Форум Новости ocStore Назад Официальный сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Скачать ocStore Документация История версий ocStore Блоги Модули Шаблоны Назад Бесплатные шаблоны Платные шаблоны Где покупать модули? Услуги FAQ OpenCart.Pro Назад Демо Купить Сравнение × Создать... Важная информация На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности. Я принимаю
sv2109 Опубликовано: 3 сентября 2018 Поделиться Опубликовано: 3 сентября 2018 вот посмотрите как просто работа с базой реализована в codeigniter, куда уже проще! почему чего-то такого нельзя добавить в опенкарт?? https://www.codeigniter.com/userguide3/database/query_builder.html 1 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... sv2109 Опубликовано: 3 сентября 2018 Поделиться Опубликовано: 3 сентября 2018 2 минуты назад, freelancer сказал: @sv2109 хуки это события в opencart да, но как я уже писал выше - система событий не будет полноценно работать если под нее не будет правильно переделан движок. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 3 сентября 2018 Поделиться Опубликовано: 3 сентября 2018 @sv2109 наличие, даже простого orm уже обсасывалось много раз, но ежики плакали, кололись .. Кроме того 22 минуты назад, sv2109 сказал: $query->select(..)->where(..)->order(..)->limit(..); тогда такой хук применяется на всю систему, и нужно знать инициатора, а инициатор - окмод. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... AlexDW Опубликовано: 3 сентября 2018 Поделиться Опубликовано: 3 сентября 2018 совместимость могут быть и другие модули Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... sv2109 Опубликовано: 3 сентября 2018 Поделиться Опубликовано: 3 сентября 2018 52 минуты назад, chukcha сказал: тогда такой хук применяется на всю систему, и нужно знать инициатора, а инициатор - окмод. десятки движков отлично работаю через события и знать не знают что такое окмод, но вот только почему-то разработчики опенкарт вбили себе в голову, что без окмод ничего работать не сможет.. Нужен инициатор? Без проблем, что мешает каждому запросу присвоить свой идентификатор, напр. $query->id = "уникальный идентификатор"; Или что мешает объекту $query присвоить этот идентификатор автоматически из напр. названия класса и метода, что его вызвал? будет напр. $query->id = "model_catalog_product_getProduct"; После чего из своего модуля подключиться к событию, которое будет вызываться перед выполнением каждого запроса, напр. query_pre_execute(&$query) и сделать if ($query->id == "model_catalog_product_getProduct") { // изменяем запрос как нам угодно } Все, это первое что пришло в голову пока писал это сообщение, на самом деле реализовать все можно как угодно и никакой окмод тут вообще не нужен. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... OCdevWizard Опубликовано: 3 сентября 2018 Поделиться Опубликовано: 3 сентября 2018 4 часа назад, freelancer сказал: считаю, что ocmod это костыль, который упрощает жизнь разработчикам, но усложняет владельцам ИМ. со стороны разработчика - написал ocmod, выложил, люди скачивают, сами устанавливают и вроде как все довольны, но до поры до времени. через какое-то время ocmod'ы могут пересекаться или в оригинальные файлы добавляется новый код и тогда, по сути, магазин может начать вести себя непредсказуемо. часть функционала может отвалиться без каких-либо уведомлений (если не считать полотно ocmod log'а, который никто не читает), магазин вообще может уйти в технический режим и администратор даже не заподозрит проблем, потому как он залогинен в админке. юзайте event`s в версии 2.x они правда еще сыроваты. но вот с 3.x уже можно присматриватся. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 3 сентября 2018 Поделиться Опубликовано: 3 сентября 2018 1 минуту назад, OCdevWizard сказал: юзайте event`s В какое место? Ведь они в модели не дают подменить "ядерный" запрос. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Назад 1 2 3 4 5 Вперёд Страница 1 из 5 Создайте аккаунт или войдите в него для комментирования Вы должны быть пользователем, чтобы оставить комментарий Создать аккаунт Зарегистрируйтесь для получения аккаунта. Это просто! Зарегистрировать аккаунт Войти Уже зарегистрированы? Войдите здесь. Войти сейчас Поделиться Больше способов поделиться... Подписчики 0 Перейти к списку тем Сейчас на странице 0 пользователей Нет пользователей, просматривающих эту страницу. Последние темы Последние дополнения Последние новости Вся активность Главная Поддержка и ответы на вопросы Помощь программистам и разработчикам ocmod - зло. мнение Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Deals – адаптивный универсальный шаблон Автор: octemplates Динамичесткая инфострока в шапке + позиция в макете для opencart\ocstore 2x, 3x Автор: Lito911 Единицы Измерения Товара Автор: RoS Opencart Product Search by Image Автор: slavoglo Простой массовый редактор цен. Fast Price Edit Автор: Sha × Уже зарегистрированы? Войти Регистрация Раздел покупок Назад Приобретенные дополнения Ваши счета Список желаний Альтернативные контакты Форум Новости ocStore Назад Официальный сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Скачать ocStore Документация История версий ocStore Блоги Модули Шаблоны Назад Бесплатные шаблоны Платные шаблоны Где покупать модули? Услуги FAQ OpenCart.Pro Назад Демо Купить Сравнение × Создать... Важная информация На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности. Я принимаю
sv2109 Опубликовано: 3 сентября 2018 Поделиться Опубликовано: 3 сентября 2018 2 минуты назад, freelancer сказал: @sv2109 хуки это события в opencart да, но как я уже писал выше - система событий не будет полноценно работать если под нее не будет правильно переделан движок. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 3 сентября 2018 Поделиться Опубликовано: 3 сентября 2018 @sv2109 наличие, даже простого orm уже обсасывалось много раз, но ежики плакали, кололись .. Кроме того 22 минуты назад, sv2109 сказал: $query->select(..)->where(..)->order(..)->limit(..); тогда такой хук применяется на всю систему, и нужно знать инициатора, а инициатор - окмод. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... AlexDW Опубликовано: 3 сентября 2018 Поделиться Опубликовано: 3 сентября 2018 совместимость могут быть и другие модули Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... sv2109 Опубликовано: 3 сентября 2018 Поделиться Опубликовано: 3 сентября 2018 52 минуты назад, chukcha сказал: тогда такой хук применяется на всю систему, и нужно знать инициатора, а инициатор - окмод. десятки движков отлично работаю через события и знать не знают что такое окмод, но вот только почему-то разработчики опенкарт вбили себе в голову, что без окмод ничего работать не сможет.. Нужен инициатор? Без проблем, что мешает каждому запросу присвоить свой идентификатор, напр. $query->id = "уникальный идентификатор"; Или что мешает объекту $query присвоить этот идентификатор автоматически из напр. названия класса и метода, что его вызвал? будет напр. $query->id = "model_catalog_product_getProduct"; После чего из своего модуля подключиться к событию, которое будет вызываться перед выполнением каждого запроса, напр. query_pre_execute(&$query) и сделать if ($query->id == "model_catalog_product_getProduct") { // изменяем запрос как нам угодно } Все, это первое что пришло в голову пока писал это сообщение, на самом деле реализовать все можно как угодно и никакой окмод тут вообще не нужен. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... OCdevWizard Опубликовано: 3 сентября 2018 Поделиться Опубликовано: 3 сентября 2018 4 часа назад, freelancer сказал: считаю, что ocmod это костыль, который упрощает жизнь разработчикам, но усложняет владельцам ИМ. со стороны разработчика - написал ocmod, выложил, люди скачивают, сами устанавливают и вроде как все довольны, но до поры до времени. через какое-то время ocmod'ы могут пересекаться или в оригинальные файлы добавляется новый код и тогда, по сути, магазин может начать вести себя непредсказуемо. часть функционала может отвалиться без каких-либо уведомлений (если не считать полотно ocmod log'а, который никто не читает), магазин вообще может уйти в технический режим и администратор даже не заподозрит проблем, потому как он залогинен в админке. юзайте event`s в версии 2.x они правда еще сыроваты. но вот с 3.x уже можно присматриватся. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 3 сентября 2018 Поделиться Опубликовано: 3 сентября 2018 1 минуту назад, OCdevWizard сказал: юзайте event`s В какое место? Ведь они в модели не дают подменить "ядерный" запрос. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Назад 1 2 3 4 5 Вперёд Страница 1 из 5 Создайте аккаунт или войдите в него для комментирования Вы должны быть пользователем, чтобы оставить комментарий Создать аккаунт Зарегистрируйтесь для получения аккаунта. Это просто! Зарегистрировать аккаунт Войти Уже зарегистрированы? Войдите здесь. Войти сейчас Поделиться Больше способов поделиться... Подписчики 0 Перейти к списку тем Сейчас на странице 0 пользователей Нет пользователей, просматривающих эту страницу. Последние темы Последние дополнения Последние новости Вся активность Главная Поддержка и ответы на вопросы Помощь программистам и разработчикам ocmod - зло. мнение Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Deals – адаптивный универсальный шаблон Автор: octemplates Динамичесткая инфострока в шапке + позиция в макете для opencart\ocstore 2x, 3x Автор: Lito911 Единицы Измерения Товара Автор: RoS Opencart Product Search by Image Автор: slavoglo Простой массовый редактор цен. Fast Price Edit Автор: Sha × Уже зарегистрированы? Войти Регистрация Раздел покупок Назад Приобретенные дополнения Ваши счета Список желаний Альтернативные контакты Форум Новости ocStore Назад Официальный сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Скачать ocStore Документация История версий ocStore Блоги Модули Шаблоны Назад Бесплатные шаблоны Платные шаблоны Где покупать модули? Услуги FAQ OpenCart.Pro Назад Демо Купить Сравнение × Создать... Важная информация На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности. Я принимаю
chukcha Опубликовано: 3 сентября 2018 Поделиться Опубликовано: 3 сентября 2018 @sv2109 наличие, даже простого orm уже обсасывалось много раз, но ежики плакали, кололись .. Кроме того 22 минуты назад, sv2109 сказал: $query->select(..)->where(..)->order(..)->limit(..); тогда такой хук применяется на всю систему, и нужно знать инициатора, а инициатор - окмод. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... AlexDW Опубликовано: 3 сентября 2018 Поделиться Опубликовано: 3 сентября 2018 совместимость могут быть и другие модули Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... sv2109 Опубликовано: 3 сентября 2018 Поделиться Опубликовано: 3 сентября 2018 52 минуты назад, chukcha сказал: тогда такой хук применяется на всю систему, и нужно знать инициатора, а инициатор - окмод. десятки движков отлично работаю через события и знать не знают что такое окмод, но вот только почему-то разработчики опенкарт вбили себе в голову, что без окмод ничего работать не сможет.. Нужен инициатор? Без проблем, что мешает каждому запросу присвоить свой идентификатор, напр. $query->id = "уникальный идентификатор"; Или что мешает объекту $query присвоить этот идентификатор автоматически из напр. названия класса и метода, что его вызвал? будет напр. $query->id = "model_catalog_product_getProduct"; После чего из своего модуля подключиться к событию, которое будет вызываться перед выполнением каждого запроса, напр. query_pre_execute(&$query) и сделать if ($query->id == "model_catalog_product_getProduct") { // изменяем запрос как нам угодно } Все, это первое что пришло в голову пока писал это сообщение, на самом деле реализовать все можно как угодно и никакой окмод тут вообще не нужен. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... OCdevWizard Опубликовано: 3 сентября 2018 Поделиться Опубликовано: 3 сентября 2018 4 часа назад, freelancer сказал: считаю, что ocmod это костыль, который упрощает жизнь разработчикам, но усложняет владельцам ИМ. со стороны разработчика - написал ocmod, выложил, люди скачивают, сами устанавливают и вроде как все довольны, но до поры до времени. через какое-то время ocmod'ы могут пересекаться или в оригинальные файлы добавляется новый код и тогда, по сути, магазин может начать вести себя непредсказуемо. часть функционала может отвалиться без каких-либо уведомлений (если не считать полотно ocmod log'а, который никто не читает), магазин вообще может уйти в технический режим и администратор даже не заподозрит проблем, потому как он залогинен в админке. юзайте event`s в версии 2.x они правда еще сыроваты. но вот с 3.x уже можно присматриватся. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 3 сентября 2018 Поделиться Опубликовано: 3 сентября 2018 1 минуту назад, OCdevWizard сказал: юзайте event`s В какое место? Ведь они в модели не дают подменить "ядерный" запрос. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Назад 1 2 3 4 5 Вперёд Страница 1 из 5 Создайте аккаунт или войдите в него для комментирования Вы должны быть пользователем, чтобы оставить комментарий Создать аккаунт Зарегистрируйтесь для получения аккаунта. Это просто! Зарегистрировать аккаунт Войти Уже зарегистрированы? Войдите здесь. Войти сейчас Поделиться Больше способов поделиться... Подписчики 0 Перейти к списку тем Сейчас на странице 0 пользователей Нет пользователей, просматривающих эту страницу. Последние темы Последние дополнения Последние новости Вся активность Главная Поддержка и ответы на вопросы Помощь программистам и разработчикам ocmod - зло. мнение Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Deals – адаптивный универсальный шаблон Автор: octemplates Динамичесткая инфострока в шапке + позиция в макете для opencart\ocstore 2x, 3x Автор: Lito911 Единицы Измерения Товара Автор: RoS Opencart Product Search by Image Автор: slavoglo Простой массовый редактор цен. Fast Price Edit Автор: Sha × Уже зарегистрированы? Войти Регистрация Раздел покупок Назад Приобретенные дополнения Ваши счета Список желаний Альтернативные контакты Форум Новости ocStore Назад Официальный сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Скачать ocStore Документация История версий ocStore Блоги Модули Шаблоны Назад Бесплатные шаблоны Платные шаблоны Где покупать модули? Услуги FAQ OpenCart.Pro Назад Демо Купить Сравнение × Создать... Важная информация На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности. Я принимаю
AlexDW Опубликовано: 3 сентября 2018 Поделиться Опубликовано: 3 сентября 2018 совместимость могут быть и другие модули Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... sv2109 Опубликовано: 3 сентября 2018 Поделиться Опубликовано: 3 сентября 2018 52 минуты назад, chukcha сказал: тогда такой хук применяется на всю систему, и нужно знать инициатора, а инициатор - окмод. десятки движков отлично работаю через события и знать не знают что такое окмод, но вот только почему-то разработчики опенкарт вбили себе в голову, что без окмод ничего работать не сможет.. Нужен инициатор? Без проблем, что мешает каждому запросу присвоить свой идентификатор, напр. $query->id = "уникальный идентификатор"; Или что мешает объекту $query присвоить этот идентификатор автоматически из напр. названия класса и метода, что его вызвал? будет напр. $query->id = "model_catalog_product_getProduct"; После чего из своего модуля подключиться к событию, которое будет вызываться перед выполнением каждого запроса, напр. query_pre_execute(&$query) и сделать if ($query->id == "model_catalog_product_getProduct") { // изменяем запрос как нам угодно } Все, это первое что пришло в голову пока писал это сообщение, на самом деле реализовать все можно как угодно и никакой окмод тут вообще не нужен. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... OCdevWizard Опубликовано: 3 сентября 2018 Поделиться Опубликовано: 3 сентября 2018 4 часа назад, freelancer сказал: считаю, что ocmod это костыль, который упрощает жизнь разработчикам, но усложняет владельцам ИМ. со стороны разработчика - написал ocmod, выложил, люди скачивают, сами устанавливают и вроде как все довольны, но до поры до времени. через какое-то время ocmod'ы могут пересекаться или в оригинальные файлы добавляется новый код и тогда, по сути, магазин может начать вести себя непредсказуемо. часть функционала может отвалиться без каких-либо уведомлений (если не считать полотно ocmod log'а, который никто не читает), магазин вообще может уйти в технический режим и администратор даже не заподозрит проблем, потому как он залогинен в админке. юзайте event`s в версии 2.x они правда еще сыроваты. но вот с 3.x уже можно присматриватся. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 3 сентября 2018 Поделиться Опубликовано: 3 сентября 2018 1 минуту назад, OCdevWizard сказал: юзайте event`s В какое место? Ведь они в модели не дают подменить "ядерный" запрос. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Назад 1 2 3 4 5 Вперёд Страница 1 из 5 Создайте аккаунт или войдите в него для комментирования Вы должны быть пользователем, чтобы оставить комментарий Создать аккаунт Зарегистрируйтесь для получения аккаунта. Это просто! Зарегистрировать аккаунт Войти Уже зарегистрированы? Войдите здесь. Войти сейчас Поделиться Больше способов поделиться... Подписчики 0 Перейти к списку тем Сейчас на странице 0 пользователей Нет пользователей, просматривающих эту страницу. Последние темы Последние дополнения Последние новости Вся активность Главная Поддержка и ответы на вопросы Помощь программистам и разработчикам ocmod - зло. мнение Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Deals – адаптивный универсальный шаблон Автор: octemplates Динамичесткая инфострока в шапке + позиция в макете для opencart\ocstore 2x, 3x Автор: Lito911 Единицы Измерения Товара Автор: RoS Opencart Product Search by Image Автор: slavoglo Простой массовый редактор цен. Fast Price Edit Автор: Sha
sv2109 Опубликовано: 3 сентября 2018 Поделиться Опубликовано: 3 сентября 2018 52 минуты назад, chukcha сказал: тогда такой хук применяется на всю систему, и нужно знать инициатора, а инициатор - окмод. десятки движков отлично работаю через события и знать не знают что такое окмод, но вот только почему-то разработчики опенкарт вбили себе в голову, что без окмод ничего работать не сможет.. Нужен инициатор? Без проблем, что мешает каждому запросу присвоить свой идентификатор, напр. $query->id = "уникальный идентификатор"; Или что мешает объекту $query присвоить этот идентификатор автоматически из напр. названия класса и метода, что его вызвал? будет напр. $query->id = "model_catalog_product_getProduct"; После чего из своего модуля подключиться к событию, которое будет вызываться перед выполнением каждого запроса, напр. query_pre_execute(&$query) и сделать if ($query->id == "model_catalog_product_getProduct") { // изменяем запрос как нам угодно } Все, это первое что пришло в голову пока писал это сообщение, на самом деле реализовать все можно как угодно и никакой окмод тут вообще не нужен. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... OCdevWizard Опубликовано: 3 сентября 2018 Поделиться Опубликовано: 3 сентября 2018 4 часа назад, freelancer сказал: считаю, что ocmod это костыль, который упрощает жизнь разработчикам, но усложняет владельцам ИМ. со стороны разработчика - написал ocmod, выложил, люди скачивают, сами устанавливают и вроде как все довольны, но до поры до времени. через какое-то время ocmod'ы могут пересекаться или в оригинальные файлы добавляется новый код и тогда, по сути, магазин может начать вести себя непредсказуемо. часть функционала может отвалиться без каких-либо уведомлений (если не считать полотно ocmod log'а, который никто не читает), магазин вообще может уйти в технический режим и администратор даже не заподозрит проблем, потому как он залогинен в админке. юзайте event`s в версии 2.x они правда еще сыроваты. но вот с 3.x уже можно присматриватся. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 3 сентября 2018 Поделиться Опубликовано: 3 сентября 2018 1 минуту назад, OCdevWizard сказал: юзайте event`s В какое место? Ведь они в модели не дают подменить "ядерный" запрос. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Назад 1 2 3 4 5 Вперёд Страница 1 из 5 Создайте аккаунт или войдите в него для комментирования Вы должны быть пользователем, чтобы оставить комментарий Создать аккаунт Зарегистрируйтесь для получения аккаунта. Это просто! Зарегистрировать аккаунт Войти Уже зарегистрированы? Войдите здесь. Войти сейчас Поделиться Больше способов поделиться... Подписчики 0 Перейти к списку тем Сейчас на странице 0 пользователей Нет пользователей, просматривающих эту страницу. Последние темы Последние дополнения Последние новости Вся активность Главная Поддержка и ответы на вопросы Помощь программистам и разработчикам ocmod - зло. мнение
OCdevWizard Опубликовано: 3 сентября 2018 Поделиться Опубликовано: 3 сентября 2018 4 часа назад, freelancer сказал: считаю, что ocmod это костыль, который упрощает жизнь разработчикам, но усложняет владельцам ИМ. со стороны разработчика - написал ocmod, выложил, люди скачивают, сами устанавливают и вроде как все довольны, но до поры до времени. через какое-то время ocmod'ы могут пересекаться или в оригинальные файлы добавляется новый код и тогда, по сути, магазин может начать вести себя непредсказуемо. часть функционала может отвалиться без каких-либо уведомлений (если не считать полотно ocmod log'а, который никто не читает), магазин вообще может уйти в технический режим и администратор даже не заподозрит проблем, потому как он залогинен в админке. юзайте event`s в версии 2.x они правда еще сыроваты. но вот с 3.x уже можно присматриватся. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 3 сентября 2018 Поделиться Опубликовано: 3 сентября 2018 1 минуту назад, OCdevWizard сказал: юзайте event`s В какое место? Ведь они в модели не дают подменить "ядерный" запрос. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Назад 1 2 3 4 5 Вперёд Страница 1 из 5 Создайте аккаунт или войдите в него для комментирования Вы должны быть пользователем, чтобы оставить комментарий Создать аккаунт Зарегистрируйтесь для получения аккаунта. Это просто! Зарегистрировать аккаунт Войти Уже зарегистрированы? Войдите здесь. Войти сейчас Поделиться Больше способов поделиться... Подписчики 0 Перейти к списку тем Сейчас на странице 0 пользователей Нет пользователей, просматривающих эту страницу.
chukcha Опубликовано: 3 сентября 2018 Поделиться Опубликовано: 3 сентября 2018 1 минуту назад, OCdevWizard сказал: юзайте event`s В какое место? Ведь они в модели не дают подменить "ядерный" запрос. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Назад 1 2 3 4 5 Вперёд Страница 1 из 5 Создайте аккаунт или войдите в него для комментирования Вы должны быть пользователем, чтобы оставить комментарий Создать аккаунт Зарегистрируйтесь для получения аккаунта. Это просто! Зарегистрировать аккаунт Войти Уже зарегистрированы? Войдите здесь. Войти сейчас Поделиться Больше способов поделиться... Подписчики 0
Рекомендованные сообщения