Skip to content

Instantly share code, notes, and snippets.

View stefbowerman's full-sized avatar

Stefan Bowerman stefbowerman

View GitHub Profile
// Alter this function with this last line
var xsappinitfrontend = function(jQueryxsAppxsApp) {
// Main function code...
// ends with..
// jQueryxsApp('#cross-sell').append(settingsoutput);
// Add the following line
jQueryxsApp(window).trigger('xselldone');
function _defineProperty(e, t, i) {
return t in e ? Object.defineProperty(e, t, {
value: i,
enumerable: !0,
configurable: !0,
writable: !0
}) : e[t] = i, e
}
function onYouTubeIframeAPIReady() {
{%- comment %}
Customer order history template.
Requires:
- page-sidebar.liquid
- account-page-title.liquid
- account.scss
- page.scss
- bootstrap.scss
- customers-login.js
// Palette Step 1 - each item is a different product. data-variant maps to `product.variants.first.id`
.palette-choice[data-size="9/16"][data-price="44/64"]
...
.palette-item[data-variant]
// Shadow Item
.shadow-item[data-variant][data-description][data-quantity]
::before - content: attr(data-quantity)
img.shadow-item__image
{% include 'banner-panel',
id: { string } - optional
content_alignment: { string } - optional
vertical_padding: { number } - optional
vertical_padding_mobile: { number } - optional
content_max_width: { number } - optional
background_image: { image } - optional
background_vertical_alignment: { string } - optional - defaults to "center"
background_image_medium: { image } - optional
background_image_medium_vertical_alignment: { string } - optional - defaults to "center"
function globalNavDropdowns(t) {
var n = this;
this.container = document.querySelector(t),
this.root = this.container.querySelector(".navRoot"),
this.primaryNav = this.root.querySelector(".navSection.primary"),
this.primaryNavItem = this.root.querySelector(".navSection.primary .rootLink:last-child"),
this.secondaryNavItem = this.root.querySelector(".navSection.secondary .rootLink:first-child"),
this.checkCollision(),
window.addEventListener("load", this.checkCollision.bind(this)),
window.addEventListener("resize", this.checkCollision.bind(this)),
var snowStorm = function(t, e) {
function i(t, e) {
return isNaN(e) && (e = 0),
Math.random() * t + e
}
function n(t) {
return 1 === parseInt(i(2), 10) ? t * -1 : t
}
function o() {
t.setTimeout(function() {
{% if template.name == "collection" %}
{% comment %}
// COLLECTION FILTERING
=====================
We're using prefixing to categorize our tags
- Color - prefixed with "Color:"
- Size - prefixed with "Size:"

Migrating simple / configurable products

All configurable products need to be imported over. All simple products with no associated configurable product need to be imported over. All simple products with an associated configurable product (these will be invisible to catalog / search on Magento) need to be added as variants to that configurable product inside Shopify.

Magento Product descriptions need to be parsed and split into 4 fields (if possible):

  • Description
  • Metafields.details_fabric
  • Metafields.details_detailing
  • Metafields.details_model