This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
|
public:apps:preorder:manual_installation [27.11.18 в 14:39] maximzasorin_gmail.com |
public:apps:preorder:manual_installation [17.03.22 в 04:29] (current) Дария Тяжлова |
||
|---|---|---|---|
| Line 1: | Line 1: | ||
| ====== Manual installation ====== | ====== Manual installation ====== | ||
| - | 1. Add a snippet "simple-preorder-bootstrap.liquid" with code: | + | 1. Add a snippet //"simple-preorder-bootstrap.liquid"// with next code: |
| <code> | <code> | ||
| + | <style id="simple_preorder_style"></style> | ||
| <script> | <script> | ||
| // Bootstrap for Simple Preorder app | // Bootstrap for Simple Preorder app | ||
| Line 30: | Line 32: | ||
| "inventory_quantity": '{{item.variant.inventory_quantity}}', | "inventory_quantity": '{{item.variant.inventory_quantity}}', | ||
| "inventory_management": '{{item.variant.inventory_management}}', | "inventory_management": '{{item.variant.inventory_management}}', | ||
| - | "inventory_policy": '{{item.variant.inventory_policy}}' | + | "inventory_policy": '{{item.variant.inventory_policy}}', |
| + | "properties": {{ item.properties | json }} | ||
| }, | }, | ||
| {% endfor %} | {% endfor %} | ||
| ] | ] | ||
| }, | }, | ||
| + | // "startupDelay": 100, | ||
| + | // "productFormSelector": '/cart/add', | ||
| // "productSelector": 'form[action="/cart/add"] [type="submit"]', | // "productSelector": 'form[action="/cart/add"] [type="submit"]', | ||
| // "variantsSelector": 'form[action="/cart/add"] .variants-selector', | // "variantsSelector": 'form[action="/cart/add"] .variants-selector', | ||
| + | // "nativeVariantsSelector": 'form[action="/cart"] [name^="id"]', | ||
| // "checkoutSelector": 'form[action="/cart"] [type="submit"][name="checkout"]', | // "checkoutSelector": 'form[action="/cart"] [type="submit"][name="checkout"]', | ||
| // "updateSelector": 'form[action="/cart"] [type="submit"][name="update"]', | // "updateSelector": 'form[action="/cart"] [type="submit"][name="update"]', | ||
| // "updateInputsSelector": 'form[action="/cart"] [name^="updates["]', | // "updateInputsSelector": 'form[action="/cart"] [name^="updates["]', | ||
| + | // "preorderBadgeContainerSelector": '.product-item__image-wrapper', | ||
| + | // "updateInputsSelector": 'input[name="quantity"]', | ||
| // "debug": true, | // "debug": true, | ||
| }; | }; | ||
| + | </script> | ||
| + | |||
| + | <script id="kad-preorder-config-loader"> | ||
| + | (() => { | ||
| + | try { | ||
| + | function loadPersonalConfig() { | ||
| + | let personalConfig = localStorage.getItem('SimplePreorderBootstrap') | ||
| + | if (typeof personalConfig === 'string') { | ||
| + | return JSON.parse(personalConfig) | ||
| + | } | ||
| + | } | ||
| + | |||
| + | function savePersonalConfig(config) { | ||
| + | localStorage.setItem('SimplePreorderBootstrap', JSON.stringify(config, null, 2)) | ||
| + | } | ||
| + | |||
| + | function isDevParamSpecified() { | ||
| + | return new URLSearchParams(window.location.search).get('kad-dev') !== null | ||
| + | } | ||
| + | |||
| + | let personalConfig = loadPersonalConfig() | ||
| + | |||
| + | if (isDevParamSpecified()) { | ||
| + | personalConfig = personalConfig || {} | ||
| + | personalConfig.dev = true | ||
| + | } | ||
| + | |||
| + | if (personalConfig) { | ||
| + | Object.assign(SimplePreorderBootstrap, personalConfig) | ||
| + | savePersonalConfig(personalConfig) | ||
| + | } | ||
| + | } catch (err) {} | ||
| + | })() | ||
| + | </script> | ||
| + | |||
| + | <script id="kad-preorder-injector"> | ||
| + | (() => { | ||
| + | let lastScript = document.getElementById('kad-preorder-injector') | ||
| + | |||
| + | function injectScript(url, type) { | ||
| + | const script = document.createElement('script') | ||
| + | script.src = url | ||
| + | script.type = type || '' | ||
| + | script.async = false | ||
| + | script.defer = true | ||
| + | lastScript = lastScript.parentNode.insertBefore(script, lastScript.nextSibling) | ||
| + | } | ||
| + | |||
| + | if (SimplePreorderBootstrap.dev && SimplePreorderBootstrap.devScriptUrl) { | ||
| + | injectScript(SimplePreorderBootstrap.devScriptUrl, SimplePreorderBootstrap.devScriptType) | ||
| + | } | ||
| + | |||
| + | if (SimplePreorderBootstrap.dataScriptUrl) { | ||
| + | injectScript(SimplePreorderBootstrap.dataScriptUrl, SimplePreorderBootstrap.dataScriptType) | ||
| + | } | ||
| + | |||
| + | if (SimplePreorderBootstrap.settingsScriptUrl) { | ||
| + | injectScript(SimplePreorderBootstrap.settingsScriptUrl, SimplePreorderBootstrap.settingsScriptType) | ||
| + | } | ||
| + | |||
| + | if (SimplePreorderBootstrap.appScriptUrl) { | ||
| + | injectScript(SimplePreorderBootstrap.appScriptUrl, SimplePreorderBootstrap.appScriptType) | ||
| + | } | ||
| + | })() | ||
| </script> | </script> | ||
| </code> | </code> | ||
| - | 2. In the product template "product.liquid" add the code to connect the snippet: | + | |
| - | <code> | + | > **Important:** At the very bottom of the snippet in the last line, replace the text "NAME-OF-YOUR-SHOP" with the address of your store from the address bar of the browser when you are in the admin area of the store (like "//**simple-pre-order-demo-shop**//.myshopify.com", and not, for example, "<del>spo-demo.shop</del>"). |
| - | <!-- Snippet for Simple Preorder app --> | + | |
| - | {% include 'simple-preorder-bootstrap' %} | + | 2. In the theme template //"theme.liquid"// right before the closing tag "</head>" add the code to connect the snippet: |
| - | </code> | + | |
| - | 3. In the cart template "cart.liquid" add the code to connect the snippet: | + | |
| <code> | <code> | ||
| <!-- Snippet for Simple Preorder app --> | <!-- Snippet for Simple Preorder app --> | ||
| {% include 'simple-preorder-bootstrap' %} | {% include 'simple-preorder-bootstrap' %} | ||
| </code> | </code> | ||
| - | 4. (Not mandatory) In the snippet adjust the selectors for following buttons: | + | 3. (Not mandatory) In the snippet adjust the selectors for following buttons: |
| * productSelector — add to cart button | * productSelector — add to cart button | ||
| Line 61: | Line 131: | ||
| * updateSelector — update cart button | * updateSelector — update cart button | ||
| - | If this does not work, please write to support@kad.systems | + | If this does not work, please write to [[support@kad.systems]] |