sulu / sulu-sales
Sulu的电子商务组件
Requires
- php: >=5.4
- doctrine/orm: ~2.5
- massive/pdf-bundle: ~0.1
- oro/doctrine-extensions: 1.0.*
- sulu/contact-extension-bundle: ~0.6
- sulu/pricing-bundle: ~0.5
- sulu/product-bundle: 0.17.*
- sulu/sulu: ~1.2
- symfony-cmf/routing-bundle: 1.2.*
- willdurand/hateoas-bundle: >=0.3 <2.0
Requires (Dev)
- evenement/evenement: 2.0.0 as 1.0.0
- phpunit/phpunit: ~4.0.0
- sensio/framework-extra-bundle: ~3.0
- symfony-cmf/testing: ~1.2
- symfony/monolog-bundle: 2.4.*
- symfony/symfony: ~2.8
- zendframework/zend-stdlib: ~2.3
- zendframework/zendsearch: @dev
Replaces
- sulu/sales-core-bundle: 0.10.6
- sulu/sales-order-bundle: 0.10.6
- sulu/sales-shipping-bundle: 0.10.6
- dev-develop
- 0.10.6
- 0.10.5
- 0.10.4
- 0.10.3
- 0.10.2
- 0.10.1
- 0.10.0
- 0.9.0
- 0.8.10
- 0.8.9
- 0.8.8
- 0.8.7
- 0.8.6
- 0.8.5
- 0.8.4
- 0.8.3
- 0.8.2
- 0.8.1
- 0.8.0
- 0.7.2
- 0.7.1
- 0.7.0
- 0.6.3
- 0.6.2
- 0.6.1
- 0.6.0
- 0.5.1
- 0.5.0
- 0.4.4
- 0.4.3
- 0.4.2
- 0.4.1
- 0.4.0
- 0.3.1
- 0.3.0
- 0.2.1
- 0.2.0
- 0.1.0
- 0.0.4
- 0.0.3
- 0.0.2
- 0.0.1
- dev-master
- dev-release/0.6.3
- dev-feature/unsubmitted-pdf
- dev-feature/pdf-naming-fallback
- dev-bugfix/editable-data-row
- dev-feature/item-table
- dev-feature/shppingcart-pdf-featurebranch
- dev-hotfix/datepicker
- dev-feature/transition-overlay
This package is auto-updated.
Last update: 2020-10-21 14:08:28 UTC
README
配置
以下描述包含不同销售组件的默认配置。
SuluSalesCoreBundle
sulu_sales_core:
priceformatter_digits: 2
shop_location: ~ # Is used for calculating correct tax
email_from: ~ # Originator of sales emails like an order confirmation
email_templates: # Footer templates for email
footer_txt: ~
footer_html: ~
SuluSalesOrderBundle
仅当使用CartManager创建订单时才发送确认电子邮件。
sulu_sales_order:
pdf_templates:
confirmation: SuluSalesOrderBundle:Pdf:order.confirmation.html.twig
base: SuluSalesCoreBundle:Pdf:pdf-base.html.twig
header: SuluSalesCoreBundle:Pdf:pdf-base-header.html.twig
footer: SuluSalesCoreBundle:Pdf:pdf-base-footer.html.twig
macros: SuluSalesCoreBundle:Pdf:pdf-macros.html.twig
dynamically: SuluSalesOrderBundle:Pdf:order.dynamically.html.twig
dynamically_base: SuluSalesOrderBundle:Pdf:order.confirmation.html.twig
pdf_response_type: 'inline'
pdf_order_confirmation_name_prefix: order_confirmation
pdf_order_dynamically_name_prefix: order_pdf
email_templates:
footer_txt: ~
footer_html: ~
shop_email_from: ~ # Originator of confirmation email
shop_email_confirmation_to: ~ # Defines an extra recipient for confirmation email
send_email_confirmation_to_customer: false # Defines if a confirmation mail should be sent to customer
objects:
sales_order:
model: Sulu\Bundle\Sales\OrderBundle\Entity\Order
repository: Sulu\Bundle\Sales\OrderBundle\Entity\OrderRepository
您还需要告诉doctrine如何解析目标实体
doctrine:
orm:
resolve_target_entities:
Sulu\Bundle\Sales\CoreBundle\Entity\ItemInterface: Sulu\Bundle\Sales\CoreBundle\Entity\Item
Sulu\Bundle\Sales\OrderBundle\Entity\OrderStatusInterface: Sulu\Bundle\Sales\OrderBundle\Entity\OrderStatus
动态PDF模板
可以通过配置轻松设置dynamically
PDF模板。这样,可以动态地更改从特定订单对象生成的PDF的外观。为了增加更多的灵活性,可以配置dynamically_base
模板,该模板将被dynamically
扩展。例如:dynamically extends dynamically_base。
由于已指定默认值并在组件中存在默认模板,因此严格来说不需要配置这些参数。
PDF响应类型
订单组件对返回PDF的http请求的反应方式。可以配置响应,例如,将其返回为inline
,这样PDF文件将在新标签页中显示,或者作为attachment
。作为一个附件,它将开始下载而不在浏览器中打开文件。
这些配置可以在应用程序的parameters.yml
文件中设置,在键下
sulu_sales_orderbundle_pdf_responsetype: inline
此键的组件侧配置默认为inline
。
PDF命名前缀
可以配置的命名前缀是:pdf_order_confirmation_name_prefix
和pdf_order_dynamically_name_prefix
。这样,可以轻松地配置返回的文件命名方式。因此,如果渲染动态模板,将使用pdf_order_dynamically_name_prefix
并将其附加到订单号。应用相同的逻辑,确认PDF的文件名也将生成。
如果没有配置,则应用默认值。这些值与上面的示例配置中的值相同。
路由
组件的路由取决于位于相应Resources/config/routing
目录中的路由文件。
这些文件按组件分组
- SuluSalesOrderBundle
- routing.xml
- routing_api.xml
- routing_website.xml
- SuluSalesCoreBundle
- routing.xml
- SuluSalesShippingBundle
- routing.xml
- routing_api.xml
了解这一点也很重要,即测试的路由是单独配置的。(检查Tests/目录)
如何运行测试
以下命令将运行所有销售组件的测试
composer install
tests/app/console doctrine:schema:update --force
phpunit
文档
扩展销售订单
您可以使用sulu持久性来扩展订单实体和存储库。
事件
以下事件由系统触发
常量 | 参数 | 触发 | 参数 |
---|---|---|---|
SalesOrderEvents:StatusChanged | slu_sales_order.events.status_changed | 当订单状态改变时触发。 | SuluSalesOrderStatusChangeEvent |