День добрый!
Можно ли при сохранении настроек плагина изменять его файл /lib/config/plugin.php?
Меня интересует возможность добавления туда создаваемых вручную статусов заказов, которых изначально в магазине нет, то есть добавление элементов в массив
'handlers' => array(
'order_action.create' => 'sync',
'order_action.process' => 'sync',
'order_action.pay' => 'sync',
'order_action.ship' => 'sync',
'order_action.complete' => 'sync',
'order_action.refund' => 'sync',
'order_action.delete' => 'sync',
'order_action.restore' => 'sync'
)
Допускается ли такое правилами, и, если допускается, то, наверное, нужен сброс кеша после этого, а как сделать это автоматически?
Динамически их добавлять нельзя, необходимо сразу сформировать нужный список и далее в обработчике использовать или пропускать их.
Как же тогда?
Ведь при установке плагина предполагается, что магазин чистый и доступны только основные статусы заказов, которые установлены по-умолчанию.
Пользователь, добавляет свои статусы вручную, как ему удобнее работать. Но в плагине они не будут учитываться, из-за чего почти полностью теряется смысл этих статусов!
В моем случае речь идет о плагине синхронизации с amoCRM, который без возможности динамически изменять список хуков, передает только стандартные статусы.
Неужели нет решения?
На пользовательские статусы нет хуков в списке https://developers.webasyst.ru/hooks/shop/
Как вариант можете использовать что-то из backend_order, backend_order_edit
Так понимаю, что изменение статуса заказа в админке путем нажатия на соответствующую кнопку, не вызывает ни один из этих хуков?
Большое спасибо за разъяснение! Думаю, это решает мою проблему.
Только в документации-то этого универсального хука нет. Может, есть какая-то еще документация, о которой я не знаю?) Потому что в этой далеко не все.
В документации описания этого хука пока нет. Как только решим технические проблемы с добавлением его описания, обязательно добавим.
Пока что попробуйте прицепиться к этому хуку и в обработчике хука посмотрите содержимое переменной с параметрами.
Используйте эти данные, как вам нужно.
Это я уже попробовал и решил, что различие значений параметров before_state_id и after_state_id как раз будет указывать именно на изменение статуса. Верно мыслю?
Выглядит именно так.
Огромная Вам благодарность за такую подробную и качественную поддержку!
Я правильно понял, что хук order_action.* появился только в 7 версии shop-script?
Нет, неправильно: в 6-й версии он уже был.
В версии 6.3.0.44568 хук 'order_action.*' точно не работает. Ваша ссылка, к сожалению, открывает 404.
По ссылке нужно авторизоваться, чтобы увидеть содержимое. Если у вас нет доступа, получите его тут: http://www.shop-script.ru/platform/download/.
С доступом разобрался, спасибо.
Но в любом случае, я проверял на установленной версии, как написал выше.