Automattic\WooCommerce\Blocks\BlockTypes
AllProducts{}
AllProducts class.
Хуков нет.
Использование
$AllProducts = new AllProducts(); // use class methods
Методы
- protected enqueue_data( array $attributes = [] )
- protected hydrate_from_api()
- protected register_block_type_assets()
Код AllProducts{} AllProducts{} WC 7.3.0
class AllProducts extends AbstractBlock { /** * Block name. * * @var string */ protected $block_name = 'all-products'; /** * Extra data passed through from server to client for block. * * @param array $attributes Any attributes that currently are available from the block. * Note, this will be empty in the editor context when the block is * not in the post content on editor load. */ protected function enqueue_data( array $attributes = [] ) { parent::enqueue_data( $attributes ); // Set this so filter blocks being used as widgets know when to render. $this->asset_data_registry->add( 'has_filterable_products', true, true ); $this->asset_data_registry->add( 'min_columns', wc_get_theme_support( 'product_blocks::min_columns', 1 ), true ); $this->asset_data_registry->add( 'max_columns', wc_get_theme_support( 'product_blocks::max_columns', 6 ), true ); $this->asset_data_registry->add( 'default_columns', wc_get_theme_support( 'product_blocks::default_columns', 3 ), true ); $this->asset_data_registry->add( 'min_rows', wc_get_theme_support( 'product_blocks::min_rows', 1 ), true ); $this->asset_data_registry->add( 'max_rows', wc_get_theme_support( 'product_blocks::max_rows', 6 ), true ); $this->asset_data_registry->add( 'default_rows', wc_get_theme_support( 'product_blocks::default_rows', 3 ), true ); $this->hydrate_from_api(); } /** * Hydrate the All Product block with data from the API. */ protected function hydrate_from_api() { $this->asset_data_registry->hydrate_api_request( '/wc/store/v1/cart' ); } /** * It is necessary to register and enqueue assets during the render phase because we want to load assets only if the block has the content. */ protected function register_block_type_assets() { parent::register_block_type_assets(); $this->register_chunk_translations( [ $this->block_name ] ); } }