Есть ли способ получить текущий URL-адрес или путь запроса в Handlebars? Мне нужно иметь возможность переключать загружаемые части темы в зависимости от путей. Я пробовал {{url}}... безрезультатно. Использование последней версии Stencil с Cornerstone.
Получить текущий URL-адрес запроса страницы в руле?
03.06.2016
Ответы:
1
Мне пришлось сделать что-то подобное для проекта с тремя разными макетами страниц категорий. Без пользовательских шаблонов категорий в Stencil вам придется проявить немного творчества.
Во-первых, вставьте URL-адрес руля в файл category.js с помощью помощника ручного ввода BigCommerce, который можно увидеть здесь< /а>. Затем проанализируйте его, чтобы получить только уникальные части, а затем выполните некоторую логику, основанную на том, что вы хотите сделать.
Я использовал длину хлебной крошки li как индикатор того, насколько глубоко я был в дереве категорий. Вероятно, есть лучший способ, но это то, о чем я подумал в первую очередь, и это сработало просто отлично.
категория.html
{{inject "currentPage" category.url}}
категория.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...
03.06.2016
Новые материалы
Кластеризация: более глубокий взгляд
Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..
Как написать эффективное резюме
Предложения по дизайну и макету, чтобы представить себя профессионально
Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..
Частный метод Python: улучшение инкапсуляции и безопасности
Введение
Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..
Как я автоматизирую тестирование с помощью Jest
Шутка для победы, когда дело касается автоматизации тестирования
Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..
Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv)
Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..
Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..
Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..