Reading list Switch to dark mode

    How to create a New Attribute Type in Akeneo

    Updated 24 August 2022

    How to create a New Attribute Type in Akeneo
    Choose attribute type in Akeneo

    Introduction

    An attribute is a product’s characteristic. A product is usually composed of several attributes: an identification number, a name, a description, a price, a color… Depending on your Akeneo Edition version (Community or Enterprise), you can choose from 18 attribute types.

    A product family is the collection of attributes that will be the same for all products related to that family. After creating the attribute and attribute group we assign them to a product family., check our What is family? article.

    View Post

    You can easily create attribute groups to gather your attributes and ease their enrichment in the product form. Read the article to get more information about attribute groups: How to Create Attributes and Attributes Groups in Akeneo?

    let’s start with how to create a new attribute type in Akeneo

    Start your headless eCommerce
    now.
    Find out More

    How to create a new attribute type in Akeneo

    1. The first thing we need is to declare a new service for the New Attribute Type (below attribute type name taken as ‘url_media’)

    Make sure that the file containing your declaration is correctly loaded by your bundle extension.

    parameters:
        acme_catalog.attribute_type.url_media.class: Acme\Bundle\AttributeTypeBundle\Component\AttributeType\UrlMediaType
        
    services:
        acme_catalog.attributetype.url_media:
            class: '%acme_catalog.attribute_type.url_media.class%'
            arguments:
                - 'text'
            tags:
                - { name: pim_catalog.attribute_type, alias: pim_catalog_url_media, entity: '%pim_catalog.entity.product.class% }

    2. Create a class of above register attribute type service

    <?php
    
    namespace  Acme\Bundle\AttributeTypeBundle\Component\AttributeType;
    
    use Akeneo\Pim\Structure\Component\AttributeType\AbstractAttributeType;
    
    class UrlMediaType extends AbstractAttributeType
    {
         /**
          * {@inheritdoc}
          */
         public function getName()
         {
             return 'pim_catalog_url_media';
         }
     }

    3. Add Attribute Type custom icon 

    a) Add the below configuration in ‘Acme/Bundle/AttributeTypeBundle/Resources/config/requirejs.yml’

    config:
        config:
            pim/form/common/attributes/create-button:
                attribute_icons:
                    pim_catalog_url_media: url_media

    b) Create less file in ‘Acme/Bundle/AttributeTypeBundle/Resources/public/less/index.less’ and add icon path as given below reference

    .AknButton-squareIcon--url_media {
        background-image: url("../bundles/attributetype/images/icon-url_media.svg");
    }

    4. Run the following command using the terminal at your PIM root directory.

    ( Note: Please note that neither the Apache user or the CLI should be the root user of the system. )

    php bin/console cache:clear --env=prod && php bin/console pim:installer:assets --symlink --clean --env=prod && yarn run webpack && php bin/console d:s:u --force

    Please explore our Akeneo Development Services and Quality Akeneo Extensions.

    For more Akeneo blogs click here

    . . .

    Leave a Comment

    Your email address will not be published. Required fields are marked*


    Be the first to comment.

    Back to Top

    Message Sent!

    If you have more details or questions, you can reply to the received confirmation email.

    Back to Home