From $22K to $118K/Month: How CedCommerce Helped The Drive Clothing Turn TikTok Shop Into a Scalable Revenue Engine
Reading Time: 3 minutes About the Client The Drive Clothing is a lifestyle apparel brand…
Let’s imagine walking into a clothing store. What is the first thing that will grab your attention? It is most likely to be the product that stands out amongst the rest. Similarly, when you visit a webpage, the banner image will grab your attention first. Magento allows you to use different texts and images to make banners that are visually appealing to your customers. Learning how to add a banner on the category page in Magento PWA studio is something you should know.
This is the second blog in the series dedicated to Magento PWA Studio, the first one being how to add a newsletter to the footer in Magento PWA studio.
Banner images are a great way to connect with your audience. It helps to create a positive impression on the visitors. Magento PWA studio includes different illustrations, backgrounds, and videos to make your banner images appealing.
Without wasting much time, let’s have a look at how it’s done.
Let us help you create your own PWA to stay ahead of the game
The first step to follow on how to add a banner on the category page in PWA Studio is that you need to create a Venia project through scaffolding
https://magento.github.io/pwa-studio/pwa-buildpack/scaffolding/
yarn create @magento/pwa
Once you have your scaffolded Venia project Then go inside your project directory.
First, we need to add our custom component for the category banner in the category root component.
For this we need to add our code in:
local-intercept.js [YOUR_PROJECT_NAME/local-intercept.js]
function localIntercept(targets) {
const { Targetables } = require('@magento/pwa-buildpack');
const targetables = Targetables.using(targets);
// load the component to be customized
const CategoryContentComponent = targetables.reactComponent(
'@magento/venia-ui/lib/RootComponents/Category/categoryContent.js'
);
// import the custom component in the component to be modified
const CategoryBanner = CategoryContentComponent.addImport(
"CategoryBanner from '/src/components/CategoryBanner/categoryBanner.js'"
);
// insert the custom component that renders category banner
CategoryContentComponent.insertBeforeJSX(
' <Breadcrumbs categoryId={categoryId} />',
`<${CategoryBanner} categoryId={categoryId} />`
);
}
module.exports = localIntercept;
Interesting reads-
PWA for eCommerce: Why Magento Merchants need to go for it?
ROI of PWA for eCommerce businesses: Profits, growth and sustainability
The second step to follow on how to add a banner on the category page in PWA Studio is that we need to add our component inside src directory
Click here to get a free demo of our theme!
index.js [YOUR_PROJECT_NAME/src/components/CategoryBanner/index.js]
export { default } from ‘./CategoryBanner’;
categoryBanner.js [YOUR_PROJECT_NAME/src/components/CategoryBanner/categoryBanner.js]
import React from 'react';
import { GET_CATEGORY_BANNER } from './categoryBanner.gql';
import { useCategoryBanner } from '../../peregrine/talons/CategoryBanner/useCategoryBanner';
import Image from '@magento/venia-ui/lib/components/Image';
const IMAGE_WIDTH = 1240;
const IMAGE_HEIGHT = 400;
const CategoryBanner = props => {
const { categoryId } = props;
const { bannerData } = useCategoryBanner({
query: GET_CATEGORY_BANNER,
categoryId
});
console.log(bannerData);
return (
<div>
{bannerData && bannerData.image && (
<Image
alt={name}
height={IMAGE_HEIGHT}
resource={bannerData.image}
width={IMAGE_WIDTH}
/>
)}
</div>
);
};
export default CategoryBanner;
The third step to follow on how to add a banner on the category page in PWA Studio is:
Click here to get a free demo of our theme!
categoryBanner.gql.js [YOUR_PROJECT_NAME/src/components/CategoryBanner/categoryBanner.gql.js]
import { gql } from '@apollo/client';
export const GET_CATEGORY_BANNER = gql`
query getCategoryBanner($id: Int!) {
category(id: $id) {
image
}
}
`;
The fourth step to follow on how to add a banner on the category page in PWA Studio is:
useCategoryBanner.js [YOUR_PROJECT_NAME/src/peregrine/lib/talons/CategoryBanner/useCategoryBanner.js]
import { useCallback, useEffect, useState } from 'react';
import { useQuery } from '@apollo/client';
export const useCategoryBanner = props => {
const { query, categoryId } = props;
const { data: bannerData } = useQuery(query, {
variables: {
id: categoryId
},
fetchPolicy: 'cache-and-network',
nextFetchPolicy: 'cache-first'
});
return {
bannerData: bannerData && bannerData.category
};
};
After that run your project
yarn build
yarn start
Embrace the technological evolution with our Magento 2 PWA Theme For ECommerce
This is what your end result should look like:
I hope this blog on how to add banners on category pages in Venia has been of help to you. Banner images play an important role in making conversions happen. They attract customers and positively impact them to make a purchase decision.
You are most welcome to drop your queries and share your thoughts and you can also contact us for any additional information. CedCommerce will be more than happy to help you.
Reading Time: 3 minutes About the Client The Drive Clothing is a lifestyle apparel brand…
Reading Time: 3 minutes Amazon is updating its reference pricing rules in two phases that…
Reading Time: 4 minutes Temu has become a General Member of the International AntiCounterfeiting Coalition,…
Reading Time: 3 minutes eBay has shared early results from its 24 Hours of Drops…
Reading Time: 3 minutes eBay has been revealed as a beta partner in Meta’s new…
Reading Time: 3 minutes Etsy is updating its Purchase Protection programme from 7 May, and…
Reading Time: 2 minutes Walmart is doubling down on creator-driven social commerce, turning influencer content…
Reading Time: 2 minutes In a major follow-up to our earlier coverage — “Amazon Confirms:…
Reading Time: 12 minutes From Etsy policy changes, such as fees and payments, to creativity…
Reading Time: 1 minuteDigital Commerce 360 reports that eCommerce accounted for 25% of total retail…
Reading Time: 1 minuteA coalition of 23 WTO member countries, including the United States, Britain,…
Reading Time: 2 minutes Amazon has announced a 3.5% surcharge for sellers using its fulfilment network…
Reading Time: 2 minutes Amazon has officially expanded its free, box-free, label-free returns network by…
Reading Time: 2 minutes Walmart is bringing Sparky, its proprietary shopping assistant, into ChatGPT, marking…
Reading Time: 2 minutes Visa has rolled out six AI-powered dispute resolution tools aimed at…
Reading Time: 3 minutes On March 26, 2026, the European Parliament and the Council reached…
Reading Time: 4 minutes Kanzen Skincare and six other brands are preparing for what is…
Reading Time: 5 minutes When a seller expands to a new Walmart market, the first…
Reading Time: 11 minutes What if reaching hundreds of millions of Amazon customers didn’t mean…
Reading Time: 2 minutes Alibaba’s latest update shows that AI is becoming a much bigger…