woocommerce/plugins/woocommerce-blocks/docs/third-party-developers/extensibility
Luigi Teschio 8c35002247 Single Product Template: Add compatibility layer (https://github.com/woocommerce/woocommerce-blocks/pull/8442)
* Add minimum structure for Single Product Details block

* Add Product Image Gallery woocommerce/woocommerce-blocks#8233

Add Product Image Gallery

* Add tests for Single Product Details block

* Add the initial basis for the Add to Cart button

* Trigger the single product add to cart action for each product type.

* wip: create block structure and add initial styles

* Add block details to the SingleProductDetails.php file

* Rename the block from add-to-cart-button to add-to-cart-form

* Update to use the cart icon.

* Implement the skeleton for the editor preview.

* Render tabs title with empty content

* Use woocommerce_output_product_data_tabs function to retrieve tabs data

* Update styles and add Notice for the display in the Editor.

* Update CSS.

* Add base tests for the new Add to Cart Form component.

* Add Product Image Gallery block

* remove support global styles

* remove support global styles

* Update the button CSS.

* Remove customizations for the Single Product Details block

* Update styles for the cart form.

* update td style.

* Update divs and CSS.

* Use conventional input instead of the experimental InputControl

* address CSS feedback

* add support for the custom classname

* remove save function

* Remove unnecessary console.log from the Edit.tsx file

* Remove block classname from block wrapper

* Remove unnecessary WooCommerce tabs filter from the BlockTemplatesController

* Remove attributes property from the block registration

* Remove isExperimental flag for the Single Product Details block

* Remove get_classes_and_styles_by_attributes method from SingleProductDetails block

* Prevent Single Product Details block from apppearing in Pages or Posts

* add second parameter to the subscribe function

* Implement the new design and copy provided for the editor.

* Make the notice compatible with dark themes.

* Some additional CSS tweaks

* adjust the padding for the input

* wrap the Single Product Template in a div with the product class

* Fix PHP Coding Standards warnings

* improve logic and increase coverage of unit test

* improve logic and increase coverage of unit test

* fix test

* format HTML

* fix edge case

* update @types/wordpress__data package

* update placeholder, icon and description

* update tsconfig

* update block name

* fix SCSS linter error

* address feedback

* create SingleProductTemplateCompatibility class

* Add Hooks compatibility

* remove not used file

* remove not used files

* Add compatibility layer for the Single Product template

* fix check

* address feedback

* remove unused import

* double empty line

* remove logic in the constructor

* remove hook

* generate the docs

* add missing hooks

* fix docs

* address feedback

* fix linter

* fix import

* Disable compatibility layer when the WooCommerce Product Grid Block block and WooCommerce Single Product Block are used (https://github.com/woocommerce/woocommerce-blocks/pull/8538)

* disable compatibility layer via hook

* update docs

* generate the docs

* fix version

* fix import

* fix code after merge

---------

Co-authored-by: Alexandre Lara <allexandrelara@gmail.com>
Co-authored-by: Patricia Hillebrandt <patriciahillebrandt@gmail.com>
2023-02-28 16:13:30 +01:00
..
checkout-block Bump woocommerce/woocommerce-sniffs from 0.1.0 to 0.1.3 (https://github.com/woocommerce/woocommerce-blocks/pull/8031) 2023-02-24 13:08:34 +01:00
checkout-payment-methods Bump woocommerce/woocommerce-sniffs from 0.1.0 to 0.1.3 (https://github.com/woocommerce/woocommerce-blocks/pull/8031) 2023-02-24 13:08:34 +01:00
data-store Bump woocommerce/woocommerce-sniffs from 0.1.0 to 0.1.3 (https://github.com/woocommerce/woocommerce-blocks/pull/8031) 2023-02-24 13:08:34 +01:00
hooks Single Product Template: Add compatibility layer (https://github.com/woocommerce/woocommerce-blocks/pull/8442) 2023-02-28 16:13:30 +01:00
rest-api Add woocommerce_blocks_loaded hook information to actions doc (https://github.com/woocommerce/woocommerce-blocks/pull/7600) 2022-11-10 09:52:04 +01:00
README.md Bump woocommerce/woocommerce-sniffs from 0.1.0 to 0.1.3 (https://github.com/woocommerce/woocommerce-blocks/pull/8031) 2023-02-24 13:08:34 +01:00

README.md

Extensibility in WooCommerce Blocks

Table of Contents

These documents are all dealing with extensibility in the various WooCommerce Blocks.

Hooks (actions and filters)

Document Description
Actions Documentation covering action hooks on the server side.
Filters Documentation covering filter hooks on the server side.

REST API

Document Description
Exposing your data in the Store API. Explains how you can add additional data to Store API endpoints.
Available endpoints to extend with ExtendSchema A list of all available endpoints to extend.
Adding an endpoint to ExtendSchema. A step by step process for contributors to expose a new endpoint via ExtendSchema.
Available Formatters Available Formatters to format data for use in the Store API.

Checkout Payment Methods

Document Description
Checkout Flow and Events All about the checkout flow in the checkout block and the various emitted events that can be subscribed to.
Payment Method Integration Information about implementing payment methods.
Filtering Payment Methods Information about filtering the payment methods available in the Checkout Block.

Checkout Block

In addition to the reference material below, please see the block-checkout package documentation which is used to extend checkout with Filters, Slot Fills, and Inner Blocks.

Document Description
How the Checkout Block processes an order The detailed inner workings of the Checkout Flow.
IntegrationInterface The IntegrationInterface class and how to use it to register scripts, styles, and data with WooCommerce Blocks.
Available Filters All about the filters that you may use to change values of certain elements of WooCommerce Blocks.
Slots and Fills Explains Slot Fills and how to use them to render your own components in Cart and Checkout.
Available Slot Fills Available Slots that you can use and their positions in Cart and Checkout.
DOM Events A list of DOM Events used by some blocks to communicate between them and with other parts of WooCommerce.
Filter Registry The filter registry allows callbacks to be registered to manipulate certain values.

We're hiring! Come work with us!

🐞 Found a mistake, or have a suggestion? Leave feedback about this document here.