Viking Axe Amulet Necklace

$39.99
Quantity

Description

Product Details

This necklace is a bold blend of history and style. The pendant, crafted from pure tin, features a detailed Viking axe design—6.7cm tall, 2.3cm wide, and 15g (light but impactful). The chain? Durable titanium steel, 65cm long (60 + 5cm) and 15g total. It’s built to last, just like the real Viking axes of old ⚒️.

History of Viking Axes

Vikings were fearsome seafarers, and their axes? Essential tools of survival and battle. Inspired by The History of the Archbishops of Hamburg, these axes were cheap, easy to make, and deadly—perfect for Vikings (tall, strong, fast - swinging warriors). They doubled as hooks for boarding ships, too! Axes weren’t just weapons; they were symbols of power, resourcefulness, and the Viking spirit of conquest 🏴‍☠️.

Design Story

Every detail matters: the axe’s curved blade, textured handle, and battle - worn look mirror ancient Viking craftsmanship. It’s not just a pendant—it’s a miniature tribute to history, designed to make a statement. Wear it, and you carry a piece of the Vikings’ fearless legacy with you ⚔️.

Protection & Energy

In Viking lore, axes were “protectors”—tools to defend, hunt, and conquer. This necklace channels that energy: it’s a reminder to be bold, resilient, and resourceful. Think of it as a modern “talisman”—warding off doubt, fueling ambition, and bringing the Vikings’ “never back down” spirit to your daily life. Plus, legend says it symbolizes prosperity—for your career and home 🍀.

Wear history, wear courage—let this axe be your daily dose of Viking - style strength. 🔥
class SpzCustomDiscountFlashsale extends SPZ.BaseElement { constructor(element) { super(element); this.xhr_ = SPZServices.xhrFor(this.win); this.getFlashSaleApi = "\/api\/storefront\/promotion\/flashsale\/display_setting\/product_setting"; this.timer = null; this.variantId = "59e93f99-5e47-48df-8bcb-9254416a8497"; // 促销活动数据 this.flashsaleData = {} } isLayoutSupported(layout) { return layout == SPZCore.Layout.CONTAINER; } buildCallback() { this.templates_ = SPZServices.templatesForDoc(); this.viewport_ = this.getViewport(); // 挂载bind函数 解决this指向问题 this.render = this.render.bind(this); this.resize = this.resize.bind(this); this.switchVariant = this.switchVariant.bind(this); } mountCallback() { // 获取数据 this.getData(); this.element.onclick = (e) => { const cur = this.win.document.querySelector(".app_discount_flashsale_desc"); if (this.flashsaleData.product_setting.is_redirection && appDiscountUtils.inProductBody(this.element) && e.target !== cur) { this.win.open(`/promotions/discount-default/${this.flashsaleData.discount_info.id}`); } } // 绑定 this.viewport_.onResize(this.resize); // 监听子款式切换,重新渲染 this.win.document.addEventListener('dj.variantChange', this.switchVariant); } unmountCallback() { // 解绑 this.viewport_.removeResize(this.resize); this.win.document.removeEventListener('dj.variantChange', this.switchVariant); // 清除定时器 if (this.timer) { clearTimeout(this.timer); this.timer = null; } } resize() { if (this.timer) { clearTimeout(this.timer) this.timer = null; } this.timer = setTimeout(() => { this.render(); }, 200) } switchVariant(event) { const variant = event.detail.selected; if (variant.product_id == '000964e6-4744-48cf-8cf2-f7eab2bfd714' && variant.id != this.variantId) { this.variantId = variant.id; this.getData(); } } getData() { const reqBody = { product_id: "000964e6-4744-48cf-8cf2-f7eab2bfd714", product_type: "default", variant_id: this.variantId } this.flashsaleData = {}; this.win.fetch(this.getFlashSaleApi, { method: "POST", body: JSON.stringify(reqBody), headers: { "Content-Type": "application/json" } }).then(async (response) => { if (response.ok) { this.flashsaleData = await response.json(); this.render(); } else { this.clearDom(); } }).catch(err => { this.clearDom(); }); } clearDom() { const children = this.element.querySelector('*:not(template)'); children && SPZCore.Dom.removeElement(children); } render() { this.templates_ .findAndRenderTemplate(this.element, { isMobile: appDiscountUtils.judgeMobile(), isRTL: appDiscountUtils.judgeRTL(), inProductDetail: appDiscountUtils.inProductBody(this.element), flashsaleData: this.flashsaleData, image_domain: this.win.SHOPLAZZA.image_domain, }) .then((el) => { this.clearDom(); this.element.appendChild(el); }) } } SPZ.defineElement('spz-custom-discount-flashsale', SpzCustomDiscountFlashsale);