Module adds custom frontend layout handles\extension points for easier frontend customization of configurable product.
- product card - handles basing on product super attributes, pattern:
catalog_product_view_type_configurable_super_{{attribute_code}}
- product card - specific templates for configurable options block. Block
vendor/magento/module-swatches/Block/Product/Renderer/Configurable.php:443
allows only two templates (one fromMagento_Swatches
and the default one fromMagento_ConfigurableProduct
), ignoring any layout instructions. By adding some data in layout, we can change template for custom one, based on product super attributes:
<referenceBlock name="product.info.options.swatches">
<arguments>
<argument name="configurable_super_templates" xsi:type="array">
<item name="configurable_super_colour" xsi:type="string">Vendor_Module::product/view/type/options/configurable-super-colour.phtml</item>
</argument>
</arguments>
</referenceBlock>
Such an instruction can be combined with product super attributes handles, but it doesn't have to be.
- product listing - possibility to define additional renderers for configurable super products, pattern:
configurable_super_{{attribute_code}}'
. Usage example:
<block name="category.product.type.details.renderers.configurable_super_example_attribute" as="configurable_super_example_attribute"
template="Vendor_Module::product/listing/super-example-attribute-renderer.phtml"/>
Don't forget to add alias for renderer, as it is used for renderer picking.
Please see attached module to fully understand possible usage of these features.
- PHP 7.3|7.4
To install the extension use the following commands:
composer require bkubicki/module-configurable-product-attribute-handles
We use SemVer for versioning. For the versions available, see the tags on this repository.
See changelog here.
This project is licensed under the MIT License - see the LICENSE file for details.