2016-06-03 2 views
0

Есть ли способ для текущего URL-адреса запроса или пути в Handlebars? Мне нужно иметь возможность переключать те части темы, которые загружаются на основе путей. Я пробовал {{url}} ... не повезло. Использование последнего трафарета с помощью Cornerstone.Получить текущий URL запроса страницы в рулях?

ответ

2

Мне нужно было сделать что-то подобное для проекта с 3-мя макетами различных категорий. Без шаблонов пользовательских категорий в Stencil вам нужно немного поработать.

Сначала введите URL-адрес руля в файл category.js, используя вспомогательный помощник рулевого управления BigCommerce, указанный here. Затем проанализируйте его, чтобы получить только уникальные части, а затем выполните некоторую логику, основанную на том, что вы хотите сделать.

Я использовал длину пачки, как показатель того, насколько глубоко я был в дереве категории. Вероятно, лучший способ, но это то, о чем я думал в первую очередь, и это сработало отлично.

category.html

{{inject "currentPage" category.url}} 

category.js

var pageURL = this.context.currentPage; 
    var pageURL = pageURL.replace(/\//g," ").replace("http:","").replace("storeurl.mybigcommerce.com","").replace("storeurl.com","").trim(); 
    var catName = pageURL.substr(0,pageURL.indexOf(' ')); 

    console.log('pageURL = ' + pageURL); 
    console.log('catName = ' + catName); 
    console.log($('ul.breadcrumbs li').length); 

    if($('ul.breadcrumbs li').length == 3){ 
      if(catName == "black-decker"){ 
       if($(".cat-img").length){ 
        $(".page").addClass("model-list"); 
        $(".cat-img").hide(); 
        $(".page").append("<div class='model-wrap'><div class='model-catalog' data-reveal-id='myModal'><a href='#'><img class='i-img' src='https://store-p3ubwr6cgq.mybigcommerce.com/product_images/uploaded_images/i-img.jpg'><span>Where is my model number?</span><img class='popup-click' src=" + catImg + "></a><span class='click-larger'>Click to view larger</span></div></div>"); 
        $(".sidebarBlock-heading").text("Select Your Model Number Below:"); 
        $(".brand-img").each(function(){ 
         $(this).addClass(catName); 
        }); 
       } else { 
        $(".page").addClass("model-list"); 
        $(".sidebarBlock-heading").text("Select Your Model Number Below:"); 
        $(".brand-img").each(function(){ 
         $(this).addClass(catName); 
        }); 
        // make page full width 
        $(".page-sidebar.cf.Left").addClass("full-width"); 
       } 
      } 
    // MORE CODE etc... 
+1

Спасибо за ответ, не так много док на этом материале! –

Смежные вопросы