paloma/shop-bundle

Paloma网店插件

v1.6.0 2023-11-02 13:27 UTC

README

为Paloma网店提供前端界面的Symfony插件。

创建新项目

查看 https://symfony.com.cn/doc/current/setup.html

composer create-project symfony/website-skeleton my-project

使用Composer安装Paloma网店插件

composer require paloma/shop-bundle

config/bundles.php 中添加插件以启用

<?php

return [
    // ...
    Paloma\ShopBundle\PalomaShopBundle::class => ['all' => true],
];

配置

后端配置

config/packages/paloma_shop.yaml 中配置插件

paloma_shop:
  client:
    # this URL probably differs for each environment 
    base_url: 'https://[project].paloma.one/api'

将Paloma API密钥添加到 .env.local

# .env.local
PALOMA_API_KEY=mysecretapikey

路由

config/routes.yaml 中加载路由配置

paloma:
  resource: '@PalomaShopBundle/Resources/config/routes/all.yaml'

安全

配置 config/packages/security.yaml 以使用Paloma进行安全

security:
  
  providers:
    paloma_shop.security.user_provider:
      id: paloma_shop.security.user_provider
    
  firewalls:
    
    # ...
      
    paloma:

      anonymous: true

      guard:
        authenticators:
          - paloma_shop.security.authenticator

      logout:
        path: paloma_security_logout
        success_handler: 'paloma_shop.security.logout_success_handler'
        invalidate_session: false

      remember_me:
        secret: '%kernel.secret%'
        lifetime: 604800
        path: /
      
  access_control:
    # Note: if you use locale prefixes for routes, this path needs to be something like '^/.+/customer/account'.
    - { path: '^/customer/account', roles: ROLE_CUSTOMER }

验证

确保加载了 validation.yaml

# config/packages/validator.yaml
framework:
    validation:
        mapping:
            paths:
                - "%kernel.project_dir%/vendor/paloma/shop-client/src/Paloma/Shop/Resources/validation.yaml"

网店前端

如果您想使用Paloma网店前端,还需要安装 Webpack Encore。请参阅 Symfony文档 获取详细说明。

composer require encore
yarn install

完成!

开发

通过运行以下命令启动开发PHP服务器:

bin/console server:start

运行Yarn以构建开发所需的前端资源

yarn run dev

yarn run watch

自定义前端

Twig模板

通过将模板文件放入 templates/bundles/PalomaShopBundle/ 来覆盖 PalomaShopBundle 中的模板。

要使用捆绑的错误页面模板,创建Twig模板并像这里描述的那样: https://symfony.com.cn/doc/current/controller/error_pages.html#overriding-the-default-error-templates

对于404错误

{# templates/bundles/TwigBundle/Exception/error404.html.twig #}
{% extends '@PalomaShop/error/error404.html.twig' %}

对于所有其他错误

{# templates/bundles/TwigBundle/Exception/error.html.twig #}
{% extends '@PalomaShop/error/error.html.twig' %}

CSS

assets/css/app.scss 中设置SCSS变量或覆盖CSS类。有关可用的变量,请参阅 vendor/paloma/shop-bundle/Resources/assets/css/_config.scss