성공을 위한 스킬
Ask the Community
Page Designer와 PWA Kit 통합
구성요소 맞춤화
페이지 맞춤화
암호 재설정 구현
암호 없는 로그인 구현
소셜 로그인 구현
쿠키를 사용한 개인화
구매자 컨텍스트를 사용한 개인화
매장 찾기로 매장 매출 증대를 참조하십시오.
Tracking Consent Banner(추적 동의 배너)로 개인정보보호를 참조하십시오.
캐시 적중률 극대화
사이트맵으로 SEO 개선
이 튜토리얼에서는 템플릿 확장성을 사용하여 사이트에 대한 맞춤형 구성요소를 만듭니다. 이 예제에서는 맞춤형 바닥글을 만듭니다. 바닥글은 기본 템플릿의 기존 구성요소이고, 저희는 페이지 레이아웃을 변경하지 않으려고 하므로 구성요소 수준에서 바닥글을 재정의합니다.
자세한 지침은 다음 설명서를 참조하십시오. 모범 사례 및 문제 해결.
이 튜토리얼의 명령을 실행하기 전에 Placeholder를 실제 값으로 바꿉니다. 자리 표시자는 $PLACEHOLDER와 같은 형식입니다.
페이지 오른쪽에 있는 제목을 사용하여 이 튜토리얼의 다른 위치로 이동합니다.
Tip
이 튜토리얼을 완료하려면 다음 중 하나를 수행합니다.
PWA Kit 버전 3.x로 생성한 프로젝트를 사용합니다.
또는
프로젝트가 없는 경우 다음을 실행하여 PWA Kit 프로젝트를 생성합니다.
npx @salesforce/pwa-kit-create-app@latest ——outputDir $PATH/TO/NEW/LOCAL/PROJECT
overrides/app에 components라는 폴더를 만듭니다.components 폴더에 footer라는 폴더를 만듭니다.footer 폴더에 index.jsx.라는 파일을 만듭니다.새 폴더와 파일의 구조는 다음과 같습니다.

overrides/components/footer/index.jsx에 다음 코드를 추가합니다.
1import React from "react";
2
3import {
4 Box,
5 Container,
6 Stack,
7 Text,
8 Link,
9 Icon,
10 Input,
11 Button,
12 useColorModeValue,
13} from "@chakra-ui/react";
14import {
15 SocialFacebookIcon,
16 SocialTwitterIcon,
17 SocialInstagramIcon,
18} from "@salesforce/retail-react-app/app/components/icons";
19
20const Footer = () => {
21 return (
22 <Box
23 bg={useColorModeValue("gray.50", "gray.900")}
24 color={useColorModeValue("gray.700", "gray.200")}
25 >
26 <Container as={Stack} maxW={"6xl"} py={10}>
27 <Stack direction={{ base: "column", md: "row" }} spacing={4}>
28 <Link href="/about">About Us</Link>
29 <Link href="/contact">Contact</Link>
30 <Link href="/faq">FAQ</Link>
31 </Stack>
32 <Stack
33 direction={{ base: "column", md: "row" }}
34 justifyContent={"space-between"}
35 alignItems={"center"}
36 >
37 <Text>
38 © {new Date().getFullYear()} Your Company Name. All rights reserved
39 </Text>
40 <Stack direction={"row"} spacing={6}>
41 <Icon as={SocialFacebookIcon} />
42 <Icon as={SocialTwitterIcon} />
43 <Icon as={SocialInstagramIcon} />
44 </Stack>
45 </Stack>
46 <Stack
47 direction={{ base: "column", md: "row" }}
48 spacing={4}
49 mt={10}
50 alignItems={"center"}
51 >
52 <Text>Subscribe to our newsletter</Text>
53 <Input placeholder="Your email address" />
54 <Button>Subscribe</Button>
55 </Stack>
56 </Container>
57 </Box>
58 );
59};
60
61export default Footer;npm start를 실행합니다.
overrides 폴더에 필수 프로젝트 파일이 포함되어 있는지 확인합니다.