setono / sylius-partner-ads-plugin
Sylius 插件,集成了合作伙伴广告跟踪功能。
Requires
- php: >=7.4
- ext-mbstring: *
- knplabs/knp-menu: ^3.1
- psr/http-client: ^1.0
- psr/http-factory: ^1.0
- psr/http-message: ^1.0
- sylius/resource-bundle: ^1.6
- symfony/config: ^5.4 || ^6.0
- symfony/dependency-injection: ^5.4 || ^6.0
- symfony/event-dispatcher: ^5.4 || ^6.0
- symfony/form: ^5.4 || ^6.0
- symfony/http-foundation: ^5.4 || ^6.0
- symfony/http-kernel: ^5.4 || ^6.0
- symfony/messenger: ^5.4 || ^6.0
- webmozart/assert: ^1.11
Requires (Dev)
- api-platform/core: ^2.7
- friendsofsymfony/oauth-server-bundle: >2.0.0-alpha.0 ^2.0@dev
- kriswallsmith/buzz: ^1.2
- lexik/jwt-authentication-bundle: ^2.16
- matthiasnoback/symfony-config-test: ^4.3
- matthiasnoback/symfony-dependency-injection-test: ^4.3
- phpspec/phpspec: ^7.2
- phpunit/phpunit: ^9.5
- psalm/plugin-symfony: ^5.0
- setono/code-quality-pack: ^2.2
- sylius/admin-api-bundle: ^1.11
- sylius/sylius: ~1.10.14
- symfony/debug-bundle: ^5.4 || ^6.0
- symfony/dotenv: ^5.4 || ^6.0
- symfony/intl: ^5.4 || ^6.0
- symfony/serializer-pack: ^1.0
- symfony/web-profiler-bundle: ^5.4 || ^6.0
- symfony/webpack-encore-bundle: ^1.15
- 3.x-dev
- 2.x-dev
- v2.2.1
- v2.2.0
- v2.1.1
- v2.1.0
- v2.0.0
- v2.0.0-alpha
- v1.2.1
- v1.2.0
- v1.1.0
- v1.0.0
- dev-dependabot/composer/lexik/jwt-authentication-bundle-tw-2.18
- dev-dependabot/composer/phpunit/phpunit-tw-9.6
- dev-dependabot/composer/setono/code-quality-pack-tw-2.4
- dev-dependabot/composer/phpspec/phpspec-tw-7.3
- dev-dependabot/composer/psalm/plugin-symfony-tw-5.0
- dev-rewrite
This package is auto-updated.
Last update: 2024-09-19 13:55:45 UTC
README
此插件将跟踪由合作伙伴广告联盟产生的销售。
它通过在访问者访问您商店的任何页面时保存联盟伙伴 ID 来工作。然后,当用户成功完成订单时,它将向合作伙伴广告发送一个 HTTP 请求,告诉他们给联盟伙伴计费。
安装
步骤 1:下载插件
composer require setono/sylius-partner-ads-plugin
步骤 2:启用插件
然后,通过将插件添加到项目 config/bundles.php
文件中注册的插件/包列表中,在 SyliusGridBundle
之前启用插件。
<?php # config/bundles.php return [ Setono\SyliusPartnerAdsPlugin\SetonoSyliusPartnerAdsPlugin::class => ['all' => true], Sylius\Bundle\GridBundle\SyliusGridBundle::class => ['all' => true], ];
步骤 3:配置插件
# config/packages/_sylius.yaml imports: # ... - { resource: "@SetonoSyliusPartnerAdsPlugin/Resources/config/app/config.yaml" } # ...
步骤 4:导入路由
# config/routes/setono_sylius_partner_ads.yaml setono_partner_ads_plugin: resource: "@SetonoSyliusPartnerAdsPlugin/Resources/config/routing.yaml"
步骤 5:HTTP 客户端
如果您已经使用了一个 PSR18 HTTP 客户端,则需要注入该服务
setono_sylius_partner_ads: http_client: '@http_client_service_id'
如果没有,您可以直接使用 composer Buzz 库,它将自动将 Buzz 客户端注册为 HTTP 客户端
$ composer require kriswallsmith/buzz
步骤 6:更新数据库模式
$ php bin/console doctrine:migrations:diff $ php bin/console doctrine:migrations:migrate
步骤 7:设置程序
登录到您的 Sylius 应用程序管理员界面,转到合作伙伴广告页面,点击“创建”以创建一个新的程序。填写您的合作伙伴广告程序程序 ID,确保“启用”已切换开,并选择程序应用到的渠道。请注意,您应该为每个渠道创建一个程序,否则您可能会遇到未定义的行为。
步骤 8(可选,但推荐):配置异步 HTTP 请求
此插件会在客户完成订单时向合作伙伴广告发送一个 HTTP 请求。这将使“感谢”页面加载变慢。为了解决这个问题,您可以使用 RabbitMQ 与 Symfony Messenger 来异步发送此 HTTP 请求。
请按照以下安装说明操作:[如何使用 Messenger](https://symfony.com.cn/doc/current/messenger.html) 以及 [配置传输](https://symfony.com.cn/doc/current/messenger.html#transports)。
基本操作应该是
$ composer req messenger symfony/serializer-pack
然后配置 Messenger 组件
# config/packages/messenger.yaml framework: messenger: transports: amqp: "%env(MESSENGER_TRANSPORT_DSN)%"
# .env ###> symfony/messenger ### MESSENGER_TRANSPORT_DSN=amqp://guest:guest@localhost:5672/%2f/messages ###< symfony/messenger ###
最后配置插件以使用您的传输
setono_sylius_partner_ads: messenger: transport: amqp
在此之后,Messenger 将自动在此插件中启用,并随后将发送异步请求到合作伙伴广告而不是同步请求。
出于测试目的,您可以在以下位置注册免费的 RabbitMQ 云服务:[CloudAMQP](https://www.cloudamqp.com/plans.html)。