davidroberto/sylius-extra-api-plugin

增强Sylius API,添加新端点等


README

扩展Sylius新API的插件:通过slug查找产品,搜索产品,添加Stripe网关...

如果您使用sylius next.js脚手架(https://github.com/davidroberto/sylius-next-boilerplate-theme),则此插件是必须的。这是第一个版本,因此有很多改进、错误修复等空间!

composer require davidroberto/sylius-extra-api-plugin

安装和配置Sylius API

imports:
    - { resource: "@DavidRobertoSyliusExtraApiPlugin/Resources/app/config.yml" }
# your stripe secret key
STRIPE_SECRET_KEY=sk_test_51IWnwaGhkxw8ABpLx60ZYzWcq2ffcxLkDaFPtZULJtBDyjQgOnaTHABSCzzIrbEL34EnJj5eVPRZBDAjDC4mpTaV00KAZYhe3n
# your stripe payment_intent.succeeded webhook secret key
STRIPE_SUCCESS_ENDPOINT_SECRET_KEY=whsec_3jwQgifKzj8TKoOQGwASPdEdPbPvgxvq
# the Next.js front end URL
CLIENT_URL=
# the front end url for the stripe payment success (by default "https://yourNextBoilerPlateThemeDomainName/cart/confirmation")
CLIENT_URL_PAYMENT_SUCCESS=
# the front end url for the stripe payment failure (by default "https://yourNextBoilerPlateThemeDomainName/cart/failed")
CLIENT_URL_PAYMENT_FAILED=
  • 配置nelmio cors bundle以匹配您的next js前端URL。

  • 在您的管理界面中,在"渠道"部分,设置以下值:-- "忽略仅存在一个运输方式时的运输选择步骤":TRUE -- "忽略仅存在一个支付方式时的支付选择步骤":TRUE -- "账户验证是强制性的":FALSE

  • 在您的管理界面中,对于每个产品,将"变体选择方法"设置为"变体选择"。

  • 该插件依赖于Nelmio Cors Bundle。因此,您需要将其与您的next js前端URL匹配(https://github.com/nelmio/NelmioCorsBundle

重要

  • 主题尚未很好地与包含斜杠的分税类slug协同工作,因此如果您想测试主题,请将其删除。
  • 根据您的nelmio cors配置,如果您的本地Sylius API URL使用https,则主题可能无法执行fetch请求。您可以使用http(仅限localhost)来修复它。
  • 此主题仅使用一种支付方式和一种运输方式创建。因此,如果您想测试主题,请保留一个支付方式和一种运输方式。如果您有多个,您必须自己实现选择逻辑。

安装和配置next.js脚手架主题

  • 克隆此存储库
  • 将.env变量填充到.env.local文件中
# Your Sylius API URL. Exemple: "https://yourSyliusAPIDomainName/api/v2/"
NEXT_PUBLIC_API_RESOURCE_BASE_URL=
# Your Sylius API base URL (without the /api/v2). Exemple: "https://yourSyliusAPIDomainName")
NEXT_PUBLIC_API_PUBLIC_URL=
# Your Sylius API Hostname (without the protocol). Exemple: "yourSyliusAPIDomainName"
API_HOST_NAME=
# your stripe public key
NEXT_PUBLIC_STRIPE_PUBLIC_KEY=
# Your Mailchimp Newsletter Form Action URL
MAILCHIMP_URL=
  • 安装依赖项
yarn install
  • 如果需要,在lib/config/locales.ts中更改默认区域设置
  • 启动本地开发服务器
yarn dev
  • 完成!您可以浏览您的商店了!