{"id":384645,"date":"2024-08-05T05:39:25","date_gmt":"2024-08-05T05:39:25","guid":{"rendered":"https:\/\/webkul.com\/blog\/?p=384645"},"modified":"2024-08-05T05:39:29","modified_gmt":"2024-08-05T05:39:29","slug":"how-to-use-custom-product-datagrid-in-akeneo-without-a-repository","status":"publish","type":"post","link":"https:\/\/webkul.com\/blog\/how-to-use-custom-product-datagrid-in-akeneo-without-a-repository\/","title":{"rendered":"How to use custom product  datagrid in Akeneo without a repository"},"content":{"rendered":"\n<p><strong>Create a custom product data datagrid in Akeneo:<\/strong> Define columns &amp; configure data source. Use Akeneo UI or YAML file in custom bundle. Integrate datagrid into Akeneo UI via custom tab or section. Using custom datagrids in Akeneo, combining the best aspects of UI and YAML configurations and PHP. A datagrid in Akeneo is a configurable UI component that displays tabular data. <\/p>\n\n\n\n<p><\/p>\n\n\n\n<p>Display the custom product data grid: Integrate the custom product data grid into the Akeneo UI by creating a custom tab or section within the product view page and rendering the grid there. Extend existing Akeneo views or create a custom UI extension. <\/p>\n\n\n\n<p>Akeneo provides a <a href=\"https:\/\/api.akeneo.com\/api-reference-index.html#Products\" target=\"_blank\" rel=\"noreferrer noopener\">REST API<\/a> that allows you to connect external systems or custom applications&#8217; product data. You can use the API to fetch product information from external sources and synchronize it with Akeneo.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">DataGrid<\/h2>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"yaml\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">datagrid:\n    acme_testbundle-product-picker-grid:\n        options:\n            entityHint: product\n            requireJSModules:\n                - pim\/datagrid\/column-form-listener\n            columnListener:\n                dataField: identifier\n                columnName: is_checked\n            routerEnabled: false\n        source:\n            type:              acme_testbundle_datasource_product\n            entity:            '%pim_catalog.entity.product.class%'\n        columns:\n            is_checked:\n                frontend_type: boolean\n                data_name:     is_checked\n                editable:      true\n            identifier:\n                label: ID\n                data_name:     identifier\n                type:          field\n            image:\n                label:         Image\n                data_name:     image\n                frontend_type: product-and-product-model-image\n            label:\n                label:         Label\n                data_name:     label\n                type:          field\n                frontend_type: product-and-product-model-label\n            \n        properties:\n            id: ~\n            technical_id: ~\n            document_type: ~<\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Add <strong>DataSource<\/strong> Type<\/h2>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"yaml\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">parameters:\n    acme_testbundle_datagrid.datasource.product.class: Acme\\TestBundle\\Datasource\\ProductDatasource # Pim\\Bundle\\DataGridBundle\\Datasource\\ProductDatasource #\n\nservices:  \n    acme_testbundle_datagrid.datasource.product:\n        class: '%acme_testbundle_datagrid.datasource.product.class%'\n        arguments:\n             - '@pim_catalog.object_manager.product'\n             - '@pim_enrich.query.product_and_product_model_query_builder_from_size_factory'\n              - '@pim_datagrid_serializer'\n              - '@pim_datagrid.event_subscriber.filter_entity_with_values_subscriber'\n        calls:\n            - [ setMassActionRepository,   ['@pim_catalog.repository.product_mass_action'] ]\n        tags:\n            - { name: oro_datagrid.datasource, type: acme_testbundle_datasource_product }<\/pre>\n\n\n\n<p><br><strong>DataSourceAdapterResolver<\/strong><\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"yaml\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">pim_datagrid.datasource.adapter_resolver:&lt;br&gt;        class: '%pim_datagrid.datasource.adapter_resolver.class%'&lt;br&gt;        arguments:&lt;br&gt;            - '%pim_filter.datasource.orm_adapter.class%'&lt;br&gt;            - '%pim_filter.datasource.product_orm_adapter.class%'&lt;br&gt;        calls:&lt;br&gt;            - [addProductDatasource, ['pim_datasource_product']]&lt;br&gt;            - [addProductDatasource, ['pim_datasource_associated_product']]&lt;br&gt;            - [addProductDatasource, ['pim_datasource_associated_product_model']]&lt;br&gt;            - [addProductDatasource, ['pim_datasource_group_product']]&lt;br&gt;            - [addProductDatasource, ['wk_chatgpt_datasource_product']]&lt;br&gt;<\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Format data for data grid<\/h2>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"php\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">namespace Acme\\TestBundle\\Datasource;\n\nuse Doctrine\\Common\\Persistence\\ObjectManager;\nuse Oro\\Bundle\\DataGridBundle\\Datasource\\ResultRecord;\nuse Symfony\\Component\\Serializer\\Normalizer\\NormalizerInterface;\nuse Oro\\Bundle\\PimDataGridBundle\\Datasource\\ProductDatasource as BaseDataSource;\nuse Oro\\Bundle\\PimDataGridBundle\\EventSubscriber\\FilterEntityWithValuesSubscriberConfiguration;\nuse Akeneo\\Pim\\Enrichment\\Component\\Product\\Query\\ProductQueryBuilderFactoryInterface;\nuse Akeneo\\Pim\\Enrichment\\Component\\Product\\Model\\EntityWithValuesInterface;\nuse Oro\\Bundle\\PimDataGridBundle\\EventSubscriber\\FilterEntityWithValuesSubscriber;\n\n\/**\n * Product datasource, executes elasticsearch query\n *\n *\/\nclass ProductDatasource extends BaseDataSource\n{\n    \/** @var ProductQueryBuilderInterface *\/\n    protected $pqb;\n\n    \/** @var ProductQueryBuilderFactoryInterface *\/\n    protected $factory;\n\n    \/** @var NormalizerInterface *\/\n    protected $normalizer;\n\n    \/** @var FilterEntityWithValuesSubscriber *\/\n    protected $filterEntityWithValuesSubscriber;\n\n    \/**\n     * @param ObjectManager                       $om\n     * @param ProductQueryBuilderFactoryInterface $factory\n     * @param NormalizerInterface                 $serializer\n     * @param FilterEntityWithValuesSubscriber    $filterEntityWithValuesSubscriber\n     *\/\n    public function __construct(\n        ObjectManager $om,\n        ProductQueryBuilderFactoryInterface $factory,\n        NormalizerInterface $serializer,\n        FilterEntityWithValuesSubscriber $filterEntityWithValuesSubscriber,\n    ) {\n        parent::__construct($om, $factory, $serializer, $filterEntityWithValuesSubscriber);\n    }\n\n    \/**\n     * {@inheritdoc}\n     *\/\n    public function getResults()\n    {\n        $productList = []; \/\/ set product list\n        $productModelList = [] set product model list;\n        \n        $rows = ['data' =&amp;gt; []];\n        $entitiesWithValues =  $productList-&amp;gt;getItems();\n        $modelEntitiesWithValues =  $productModelList-&amp;gt;getItems();\n        \n        foreach ($entitiesWithValues as $entityWithValue) {\n            $normalizedItem = $this-&amp;gt;normalizeEntityWithValues($entityWithValue);\n            \n            $rows['data'][] = new ResultRecord($normalizedItem);\n        }\n\n        foreach ($modelEntitiesWithValues as $modelEntityWithValue) {\n            $normalizedItem = $this-&amp;gt;normalizeEntityWithValues($modelEntityWithValue);\n            $rows['data'][] = new ResultRecord($normalizedItem);\n        }\n        \n        $rows['totalRecords'] = $productList-&amp;gt;getCount() + $productModelList-&amp;gt;getCount();\n        \n        \n        return $rows;\n    }\n\n    \/**\n     * Normalizes an entity with values with the complete set of fields required to show it.\n     *\n     * @param array $item\n     *\n     * @return array\n     *\/\n    private function normalizeEntityWithValues($item): array\n    {\n        $productId = $this-&amp;gt;getProductId($item);\n        $normalizedItem = [\n            \"identifier\" =&amp;gt; $item['identifier'] ?? $item['code'],\n            \"family\" =&amp;gt; $item['family'],\n            \"groups\" =&amp;gt; \"\",\n            \"enabled\" =&amp;gt; $item['enabled'],\n            \"values\" =&amp;gt;  $item['value'],\n            \"created\" =&amp;gt; $item['created'],\n            \"updated\" =&amp;gt; $item['updated'],\n            \"label\" =&amp;gt; $item['identifier'] ?? $item['code'],\n            \"image\" =&amp;gt; null,\n            \"document_type\" =&amp;gt; \"product\",\n            \"technical_id\" =&amp;gt; $productId,\n            \"id\" =&amp;gt; $productId,\n            \"search_id\" =&amp;gt; \"product_\".$productId,\n            \"is_checked\" =&amp;gt; true,\n          ] ;\n        \n\n        return $normalizedItem;\n    }\n}\n<\/pre>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1200\" height=\"750\" src=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2024\/08\/product-datagrid-1200x750.webp\" alt=\"\" class=\"wp-image-456175\" srcset=\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2024\/08\/product-datagrid-1200x750.webp 1200w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2024\/08\/product-datagrid-300x188.webp 300w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2024\/08\/product-datagrid-250x156.webp 250w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2024\/08\/product-datagrid-768x480.webp 768w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2024\/08\/product-datagrid-1536x960.webp 1536w, https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2024\/08\/product-datagrid.webp 1680w\" sizes=\"(max-width: 1200px) 100vw, 1200px\" loading=\"lazy\" \/><\/figure>\n\n\n\n<p>Please be aware that the provided code is a simplified example and it may be necessary for you to modify and extend it according to your specific requirements and the structure of your custom data source.<\/p>\n\n\n\n<p>Remember to adjust the namespace and class names in the example to match your project&#8217;s structure.<\/p>\n\n\n\n<p>It&#8217;s worth noting that Akeneo provides a flexible and extensible framework, allowing you to adapt and customize the data sources based on your business needs. The data source selected is determined by the unique integration needs, the type of data to be imported, and the frequency of updates.<\/p>\n\n\n\n<p>The best fo example for Create a custom product datagrid in Akeneo  <a href=\"https:\/\/webkul.com\/blog\/akeneo-shareable-product-url-generator-documenation\/\">https:\/\/webkul.com\/blog\/akeneo-shareable-product-url-generator-documenation\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Create a custom product data datagrid in Akeneo: Define columns &amp; configure data source. Use Akeneo UI or YAML file in custom bundle. Integrate datagrid into Akeneo UI via custom tab or section. Using custom datagrids in Akeneo, combining the best aspects of UI and YAML configurations and PHP. A datagrid in Akeneo is a <a href=\"https:\/\/webkul.com\/blog\/how-to-use-custom-product-datagrid-in-akeneo-without-a-repository\/\">[&#8230;]<\/a><\/p>\n","protected":false},"author":460,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-384645","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v24.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Create a custom product datagrid in Akeneo<\/title>\n<meta name=\"description\" content=\"Create a custom product data datagrid: First, create a new data grid for your custom product data In Akeneo.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/webkul.com\/blog\/how-to-use-custom-product-datagrid-in-akeneo-without-a-repository\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Create a custom product datagrid in Akeneo\" \/>\n<meta property=\"og:description\" content=\"Create a custom product data datagrid: First, create a new data grid for your custom product data In Akeneo.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/webkul.com\/blog\/how-to-use-custom-product-datagrid-in-akeneo-without-a-repository\/\" \/>\n<meta property=\"og:site_name\" content=\"Webkul Blog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/webkul\/\" \/>\n<meta property=\"article:published_time\" content=\"2024-08-05T05:39:25+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-08-05T05:39:29+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/webkul.com\/blog\/wp-content\/uploads\/2024\/08\/product-datagrid-1200x750.webp\" \/>\n<meta name=\"author\" content=\"Vipin Yadav\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@webkul\" \/>\n<meta name=\"twitter:site\" content=\"@webkul\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Vipin Yadav\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/webkul.com\/blog\/how-to-use-custom-product-datagrid-in-akeneo-without-a-repository\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/webkul.com\/blog\/how-to-use-custom-product-datagrid-in-akeneo-without-a-repository\/\"},\"author\":{\"name\":\"Vipin Yadav\",\"@id\":\"https:\/\/webkul.com\/blog\/#\/schema\/person\/f02cd102f4b3819f40243c149504d86c\"},\"headline\":\"How to use custom product datagrid in Akeneo without a repository\",\"datePublished\":\"2024-08-05T05:39:25+00:00\",\"dateModified\":\"2024-08-05T05:39:29+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/webkul.com\/blog\/how-to-use-custom-product-datagrid-in-akeneo-without-a-repository\/\"},\"wordCount\":277,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/webkul.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/webkul.com\/blog\/how-to-use-custom-product-datagrid-in-akeneo-without-a-repository\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/webkul.com\/blog\/wp-content\/uploads\/2024\/08\/product-datagrid-1200x750.webp\",\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/webkul.com\/blog\/how-to-use-custom-product-datagrid-in-akeneo-without-a-repository\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/webkul.com\/blog\/how-to-use-custom-product-datagrid-in-akeneo-without-a-repository\/\",\"url\":\"https:\/\/webkul.com\/blog\/how-to-use-custom-product-datagrid-in-akeneo-without-a-repository\/\",\"name\":\"Create a custom product datagrid in Akeneo\",\"isPartOf\":{\"@id\":\"https:\/\/webkul.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/webkul.com\/blog\/how-to-use-custom-product-datagrid-in-akeneo-without-a-repository\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/webkul.com\/blog\/how-to-use-custom-product-datagrid-in-akeneo-without-a-repository\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/webkul.com\/blog\/wp-content\/uploads\/2024\/08\/product-datagrid-1200x750.webp\",\"datePublished\":\"2024-08-05T05:39:25+00:00\",\"dateModified\":\"2024-08-05T05:39:29+00:00\",\"description\":\"Create a custom product data datagrid: First, create a new data grid for your custom product data In Akeneo.\",\"breadcrumb\":{\"@id\":\"https:\/\/webkul.com\/blog\/how-to-use-custom-product-datagrid-in-akeneo-without-a-repository\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/webkul.com\/blog\/how-to-use-custom-product-datagrid-in-akeneo-without-a-repository\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/webkul.com\/blog\/how-to-use-custom-product-datagrid-in-akeneo-without-a-repository\/#primaryimage\",\"url\":\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2024\/08\/product-datagrid.webp\",\"contentUrl\":\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2024\/08\/product-datagrid.webp\",\"width\":1680,\"height\":1050},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/webkul.com\/blog\/how-to-use-custom-product-datagrid-in-akeneo-without-a-repository\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/webkul.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"How to use custom product datagrid in Akeneo without a repository\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/webkul.com\/blog\/#website\",\"url\":\"https:\/\/webkul.com\/blog\/\",\"name\":\"Webkul Blog\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/webkul.com\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/webkul.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/webkul.com\/blog\/#organization\",\"name\":\"WebKul Software Private Limited\",\"url\":\"https:\/\/webkul.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/webkul.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2021\/08\/webkul-logo-accent-sq.png\",\"contentUrl\":\"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2021\/08\/webkul-logo-accent-sq.png\",\"width\":380,\"height\":380,\"caption\":\"WebKul Software Private Limited\"},\"image\":{\"@id\":\"https:\/\/webkul.com\/blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/webkul\/\",\"https:\/\/x.com\/webkul\",\"https:\/\/www.instagram.com\/webkul\/\",\"https:\/\/www.linkedin.com\/company\/webkul\",\"https:\/\/www.youtube.com\/user\/webkul\/\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/webkul.com\/blog\/#\/schema\/person\/f02cd102f4b3819f40243c149504d86c\",\"name\":\"Vipin Yadav\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/webkul.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/bc438188cd8679430881b3f44cd6e63b9feab1b29fcecb3e9720356e68bd4e5d?s=96&d=https%3A%2F%2Fcdnblog.webkul.com%2Fblog%2Fwp-content%2Fuploads%2F2019%2F10%2Fmike.png&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/bc438188cd8679430881b3f44cd6e63b9feab1b29fcecb3e9720356e68bd4e5d?s=96&d=https%3A%2F%2Fcdnblog.webkul.com%2Fblog%2Fwp-content%2Fuploads%2F2019%2F10%2Fmike.png&r=g\",\"caption\":\"Vipin Yadav\"},\"description\":\"Vipin Yadav is a Software Engineer specializing in the Akeneo platform, with expertise in CMS Integration and Digital Asset Management services. Proficient in jQuery and eCommerce marketplace development, Vipin delivers seamless, innovative solutions that enhance digital operations and drive business growth.\",\"url\":\"https:\/\/webkul.com\/blog\/author\/vipinyadav-akeneo432\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Create a custom product datagrid in Akeneo","description":"Create a custom product data datagrid: First, create a new data grid for your custom product data In Akeneo.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/webkul.com\/blog\/how-to-use-custom-product-datagrid-in-akeneo-without-a-repository\/","og_locale":"en_US","og_type":"article","og_title":"Create a custom product datagrid in Akeneo","og_description":"Create a custom product data datagrid: First, create a new data grid for your custom product data In Akeneo.","og_url":"https:\/\/webkul.com\/blog\/how-to-use-custom-product-datagrid-in-akeneo-without-a-repository\/","og_site_name":"Webkul Blog","article_publisher":"https:\/\/www.facebook.com\/webkul\/","article_published_time":"2024-08-05T05:39:25+00:00","article_modified_time":"2024-08-05T05:39:29+00:00","og_image":[{"url":"https:\/\/webkul.com\/blog\/wp-content\/uploads\/2024\/08\/product-datagrid-1200x750.webp","type":"","width":"","height":""}],"author":"Vipin Yadav","twitter_card":"summary_large_image","twitter_creator":"@webkul","twitter_site":"@webkul","twitter_misc":{"Written by":"Vipin Yadav","Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/webkul.com\/blog\/how-to-use-custom-product-datagrid-in-akeneo-without-a-repository\/#article","isPartOf":{"@id":"https:\/\/webkul.com\/blog\/how-to-use-custom-product-datagrid-in-akeneo-without-a-repository\/"},"author":{"name":"Vipin Yadav","@id":"https:\/\/webkul.com\/blog\/#\/schema\/person\/f02cd102f4b3819f40243c149504d86c"},"headline":"How to use custom product datagrid in Akeneo without a repository","datePublished":"2024-08-05T05:39:25+00:00","dateModified":"2024-08-05T05:39:29+00:00","mainEntityOfPage":{"@id":"https:\/\/webkul.com\/blog\/how-to-use-custom-product-datagrid-in-akeneo-without-a-repository\/"},"wordCount":277,"commentCount":0,"publisher":{"@id":"https:\/\/webkul.com\/blog\/#organization"},"image":{"@id":"https:\/\/webkul.com\/blog\/how-to-use-custom-product-datagrid-in-akeneo-without-a-repository\/#primaryimage"},"thumbnailUrl":"https:\/\/webkul.com\/blog\/wp-content\/uploads\/2024\/08\/product-datagrid-1200x750.webp","inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/webkul.com\/blog\/how-to-use-custom-product-datagrid-in-akeneo-without-a-repository\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/webkul.com\/blog\/how-to-use-custom-product-datagrid-in-akeneo-without-a-repository\/","url":"https:\/\/webkul.com\/blog\/how-to-use-custom-product-datagrid-in-akeneo-without-a-repository\/","name":"Create a custom product datagrid in Akeneo","isPartOf":{"@id":"https:\/\/webkul.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/webkul.com\/blog\/how-to-use-custom-product-datagrid-in-akeneo-without-a-repository\/#primaryimage"},"image":{"@id":"https:\/\/webkul.com\/blog\/how-to-use-custom-product-datagrid-in-akeneo-without-a-repository\/#primaryimage"},"thumbnailUrl":"https:\/\/webkul.com\/blog\/wp-content\/uploads\/2024\/08\/product-datagrid-1200x750.webp","datePublished":"2024-08-05T05:39:25+00:00","dateModified":"2024-08-05T05:39:29+00:00","description":"Create a custom product data datagrid: First, create a new data grid for your custom product data In Akeneo.","breadcrumb":{"@id":"https:\/\/webkul.com\/blog\/how-to-use-custom-product-datagrid-in-akeneo-without-a-repository\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/webkul.com\/blog\/how-to-use-custom-product-datagrid-in-akeneo-without-a-repository\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/webkul.com\/blog\/how-to-use-custom-product-datagrid-in-akeneo-without-a-repository\/#primaryimage","url":"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2024\/08\/product-datagrid.webp","contentUrl":"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2024\/08\/product-datagrid.webp","width":1680,"height":1050},{"@type":"BreadcrumbList","@id":"https:\/\/webkul.com\/blog\/how-to-use-custom-product-datagrid-in-akeneo-without-a-repository\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/webkul.com\/blog\/"},{"@type":"ListItem","position":2,"name":"How to use custom product datagrid in Akeneo without a repository"}]},{"@type":"WebSite","@id":"https:\/\/webkul.com\/blog\/#website","url":"https:\/\/webkul.com\/blog\/","name":"Webkul Blog","description":"","publisher":{"@id":"https:\/\/webkul.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/webkul.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/webkul.com\/blog\/#organization","name":"WebKul Software Private Limited","url":"https:\/\/webkul.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/webkul.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2021\/08\/webkul-logo-accent-sq.png","contentUrl":"https:\/\/cdnblog.webkul.com\/blog\/wp-content\/uploads\/2021\/08\/webkul-logo-accent-sq.png","width":380,"height":380,"caption":"WebKul Software Private Limited"},"image":{"@id":"https:\/\/webkul.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/webkul\/","https:\/\/x.com\/webkul","https:\/\/www.instagram.com\/webkul\/","https:\/\/www.linkedin.com\/company\/webkul","https:\/\/www.youtube.com\/user\/webkul\/"]},{"@type":"Person","@id":"https:\/\/webkul.com\/blog\/#\/schema\/person\/f02cd102f4b3819f40243c149504d86c","name":"Vipin Yadav","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/webkul.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/bc438188cd8679430881b3f44cd6e63b9feab1b29fcecb3e9720356e68bd4e5d?s=96&d=https%3A%2F%2Fcdnblog.webkul.com%2Fblog%2Fwp-content%2Fuploads%2F2019%2F10%2Fmike.png&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/bc438188cd8679430881b3f44cd6e63b9feab1b29fcecb3e9720356e68bd4e5d?s=96&d=https%3A%2F%2Fcdnblog.webkul.com%2Fblog%2Fwp-content%2Fuploads%2F2019%2F10%2Fmike.png&r=g","caption":"Vipin Yadav"},"description":"Vipin Yadav is a Software Engineer specializing in the Akeneo platform, with expertise in CMS Integration and Digital Asset Management services. Proficient in jQuery and eCommerce marketplace development, Vipin delivers seamless, innovative solutions that enhance digital operations and drive business growth.","url":"https:\/\/webkul.com\/blog\/author\/vipinyadav-akeneo432\/"}]}},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/posts\/384645","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/users\/460"}],"replies":[{"embeddable":true,"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/comments?post=384645"}],"version-history":[{"count":28,"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/posts\/384645\/revisions"}],"predecessor-version":[{"id":456180,"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/posts\/384645\/revisions\/456180"}],"wp:attachment":[{"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/media?parent=384645"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/categories?post=384645"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/webkul.com\/blog\/wp-json\/wp\/v2\/tags?post=384645"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}