我目前正在 Salesforce Commerce Cloud (SFCC) 中从事一个项目,需要在主页上实现轮播。据我了解,SFCC 鼓励使用内容资产和插槽将动态内容添加到 ISML 模板。
这是我到目前为止所做的:
放置必要的文件:
我无法在我的主页上看到轮播。我怀疑我可能缺少一些步骤或配置。有人可以提供通过 Business Manager 在 SFCC 中使用 Slick Slider 实施轮播的详细步骤或最佳实践吗?任何帮助将不胜感激。
要在 SFCC 中使用 Slick Slider 实现轮播并确保其正常工作,请按照以下详细步骤操作:
确保以下静态文件正确放置:
slick.css
,slick-theme.css
在static/default/css
。slick.min.js
在static/default/js
。使用正确的文件命名约定和文件夹结构以避免路径错误。
在您的
home.isml
模板或在主页上呈现的布局模板中包含所需的 CSS 和 JS 文件:
<link rel="stylesheet" href="${URLUtils.staticURL('/css/slick.css')}" />
<link rel="stylesheet" href="${URLUtils.staticURL('/css/slick-theme.css')}" />
<script src="${URLUtils.staticURL('/js/slick.min.js')}" defer></script>
最佳实践: 使用
defer
或将 <script>
标签放在 </body>
之前,以确保正确的加载顺序。
在业务经理中:
home-carousel-slot
)。轮播 HTML 示例:
<div class="carousel">
<div><img src="${URLUtils.staticURL('/images/image1.jpg')}" alt="Slide 1"></div>
<div><img src="${URLUtils.staticURL('/images/image2.jpg')}" alt="Slide 2"></div>
<div><img src="${URLUtils.staticURL('/images/image3.jpg')}" alt="Slide 3"></div>
</div>
使用
home.isml
中的以下内容来渲染插槽:
<isinclude template="components/slot" >
<isparam name="id" value="home-carousel-slot" />
</isinclude>
创建自定义 JS 文件来初始化 Slick:
custom-carousel.js
中创建 static/default/js
并将其包含在 slick.min.js
中的 home.isml
之后。$(document).ready(function () {
$('.carousel').slick({
dots: true,
infinite: true,
speed: 500,
slidesToShow: 1,
slidesToScroll: 1,
autoplay: true,
autoplaySpeed: 3000,
});
});
slick.css
、slick.min.js
)是否正确加载。.carousel
容器有足够的宽度和高度以容纳可见的幻灯片。我个人的建议如下:
如今,品牌通常对使用内容资产和内容槽位不太感兴趣。原因是业务经理不是很有技术的人,他们通常会破坏内容资产和内容槽中的 html。
SFRA 鼓励使用 pageDesigner 组件。 以下是有关页面设计者如何实现这一点的详细信息。 https://developer.salesforce.com/docs/commerce/b2c-commerce/guide/b2c-dev-for-page-designer.html