【问题标题】:Magento: Link to product tabsMagento:链接到产品标签
【发布时间】:2021-07-07 03:46:45
【问题描述】:

我们的大多数产品在其页面上都有标签(描述、视频、下载等)

我希望能够在我们的类别页面上创建一个链接,该链接链接到产品页面,并使用它的锚点打开适当的选项卡。类似http://www.example.com/product.html#tab-downloads

使用该类型的 url 将转到产品页面并滚动到选项卡部分,但它没有打开链接的选项卡。

我正在为 Magento 使用 Ultimo 主题

我确定页面上需要包含一些 js,但我不确定从哪里开始。任何帮助都会很棒!

【问题讨论】:

    标签: jquery magento


    【解决方案1】:

    不是真正与 Magento 相关的问题,而是更多 JS,是关于在页面中跳转到哈希位置并打开选项卡/单击元素。

    对于给定的实时示例,您可以使用 jQuery:

    <script type="text/javascript">
    $( document ).ready(function() {
         var hash = window.location.hash;
         jQuery(hash).children().click();
    
        });
    </script>
    

    您可以在您的实时示例上测试此代码,方法是加载您的实时示例 url 并在 Inspect Element Console 中运行 document.ready 中的两行代码。

    children() 在这种情况下存在,因为您必须在具有 #idli 元素内使用 click() anchor。根据实际网页 DOM 结构的需要进行调整。

    【讨论】:

      【解决方案2】:

      尝试在 app/design/frontend/ultimo/default/template/catalog/product/view.phtml 中添加此代码

      在 line: 324 附近你会看到一个 标签。把这段代码复制进去。然后上传。

      jQuery(document).ready(function() { 
                  if(location.hash == '#tab-downloads') {
                      if(jQuery("#product-tabs").hasClass("accor")){jQuery("#product-tabs .tabs-panels").data("tabs").click(jQuery(".tabs-panels .acctab").index(jQuery("#acctab-downloads")))}else{jQuery("#product-tabs .tabs").data("tabs").click(jQuery("#tab-downloads").index())};
                  }
              });
      

      【讨论】:

        【解决方案3】:

        我也在使用 Magento Ultimo 主题,并且能够为自定义选项卡 (#tab2) 完成这项工作。

        1. 我将 custom.js 添加到我的子主题 local.xml

        2. 还有这个到 custom.js 文件。

          jQuery(document).ready(function(){
              jQuery("#rq-product").click(function(){
                  jQuery("#tab2").find("a").addClass("current");
                  if(jQuery("#product-tabs").hasClass("accor")){
                      jQuery("#product-tabs .tabs-panels").data("tabs").click(jQuery(".tabs-panels .acctab").index(jQuery("#acctab2")))
                  }
                  else {
                      jQuery("#product-tabs .tabs").data("tabs").click(jQuery("#tab2").index())
                  };
              }); 
          });
          
        3. 我放置在静态块中的链接带有 id="rq-product"href="#tab2"

        似乎对我有用。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2011-12-06
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2014-11-28
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多