Uutta Shopify-sovelluksemme ovat nyt App Storen arvioitavana Sovelluksemme App Storen arvioitavana Katso sovellukset

Älä muokkaa live-teemaa: kehitys- ja live-teema GitHubilla

Näin ammattimainen Shopify-teemakehitys toimii: live-teema ja esikatseluteema GitHubissa, jokainen muutos tarkistetaan ennen kuin asiakkaat näkevät sen, eikä mitään katoa päivityksessä.

Kaavio: työhaara yhdistetään dev-haaraan (esikatseluteema) ja hyväksynnän jälkeen main-haaraan (live-teema).

Lyhyt vastaus

Pidä Shopify-teema GitHubissa ja kytke Shopifyn GitHub-integraatiolla kaksi haaraa kahteen teemaan: main julkaistuun teemaan ja dev julkaisemattomaan esikatseluteemaan. Tee jokainen muutos omassa haarassaan, tarkista se Theme Checkillä, katso se esikatseluteemassa ja yhdistä se vasta sitten mainiin. Teemaeditorissa tallennetut muutokset tallentuvat myös GitHubiin, joten mitään ei katoa.

Testattu viimeksi

Julkaistun teeman muokkaaminen suoraan koodieditorissa tuntuu nopealta. Se on myös yleisin tapa, jolla verkkokauppa hajoaa kesken kampanjan. Puuttuva {% endif %} näkyy kaikille asiakkaille kerralla, kukaan ei tiedä kuka muutti mitä, ja seuraava teemapäivitys pyyhkii hiljaa pois vuosien pienet korjaukset.

Ammattimaiset Shopify-tiimit tekevät toisin. Tässä on malli, jolla kehitämme jokaisen asiakkaan teemaa, ja miksi se tekee kaupan kehittämisestä turvallista.

Miksi live-teeman muokkaaminen menee pieleen

  • Jokainen virhe näkyy heti kaikille. Tallennuksen ja asiakkaan välissä ei ole mitään.
  • Historiaa ei ole. Kun jokin hajoaa ensi viikolla, kukaan ei tiedä, mikä muutos sen aiheutti tai miten sen saa peruttua.
  • Päivityksiä aletaan pelätä. Kun teeman tekijä julkaisee uuden version, kukaan ei tiedä, mitä tiedostoja on muokattu, joten päivitys siirtyy vuosilla.
  • Kaksi ihmistä kirjoittaa toistensa päälle. Kehittäjä ja markkinoija samassa tiedostossa on arvauspeliä.

Näin Shopifyn GitHub-integraatio toimii

Shopifyn teemakirjastossa on virallinen GitHub-integraatio. Kun Shopifyn GitHub-sovellus on asennettu, haara kytketään teemakirjastosta (englanninkielisessä adminissa Online Store → Themes → Add theme → Connect from GitHub). Integraatio kytkee GitHub-repon haaran kaupan teemaan ja pitää ne samassa tilassa molempiin suuntiin:

  • Kun kytketty haara muuttuu GitHubissa, Shopify päivittää teeman.
  • Kun joku tallentaa muutoksia Shopify-adminissa, teemaeditorissa, koodieditorissa tai teemasovelluksen kautta, Shopify tallentaa ne haaraan. Commitissa näkyy kauppa ja henkilö, joka muokkasi teemaa viimeksi.

Jälkimmäistä suuntaa ei voi kytkeä pois, ja se on hyvä asia: kauppias käyttää teemaeditoria kuten ennenkin, ja GitHubissa on silti koko historia.

Vain teeman vakiokansiot synkronoituvat: assets, blocks, config, layout, locales, sections, snippets ja templates. Muut tiedostot, kuten dokumentaatio, pysyvät vain GitHubissa. Haarassa on oltava teema täsmälleen sellaisena kuin se ajetaan, ilman käännösvaihetta.

Kaksi haaraa, kaksi teemaa: main ja dev

Kytkemme saman repon kaksi haaraa kahteen teemaan:

HaaraTeema kaupassaKäyttö
mainjulkaistu teemase, minkä asiakkaat näkevät
devjulkaisematon kopiotyön esikatselu ja hyväksyntä

Esikatseluteemalla on oma esikatselulinkki. Kauppias näkee sen kautta, miltä kauppa näyttää muutoksen jälkeen puhelimella ja tietokoneella, eivätkä asiakkaat näe mitään.

Näin muutos kulkee live-kauppaan

  1. Oma haara jokaiselle muutokselle. Jokainen tehtävä saa oman haaransa, esimerkiksi uusi etusivun osio tai nopeampi tuotesivu.
  2. Ensin Theme Check. Shopifyn oma tarkistustyökalu, joka ajetaan Shopify CLI:llä (shopify theme check), löytää Liquid-virheet, puuttuvat käännökset ja suorituskykyongelmat. Ajamme sen jokaisessa pull requestissa, ja virhe pysäyttää muutoksen.
  3. Deviin. Kun tarkistus on vihreä, muutos yhdistetään dev-haaraan, ja esikatseluteema päivittyy sekunneissa.
  4. Katselmointi esikatseluteemassa. Kauppias avaa esikatselulinkin ja hyväksyy muutoksen tai pyytää korjauksia.
  5. Mainiin. Vasta hyväksynnän jälkeen dev yhdistetään main-haaraan, ja julkaistu teema päivittyy.

Ennen uutta työtä tuomme ensin main-haaran dev-haaraan. Silloin kauppiaan live-teemassa tallentamat muutokset ovat mukana, eikä mitään kaupassa tallennettua kirjoiteta yli.

Kunnioita kauppiaan sisältöä

Osa teeman tiedostoista on sisältöä, ei koodia. config/settings_data.json, templates-kansion JSON-pohjat, osioryhmät (ylä- ja alatunniste) ja locales-tiedostot sisältävät sen, mitä kauppias on asettanut teemaeditorissa: tekstit, kuvat, värit ja osioiden järjestyksen.

Muutamme näitä tiedostoja vain, kun tehtävä sitä vaatii, pidämme muutoksen pienenä ja ristiriidassa säilytämme kaupan version. Näin kauppias ja kehittäjä voivat työskennellä samassa teemassa ilman, että kumpikaan kumoaa toisen työtä.

Mitä tämä antaa kauppiaalle

  • Kauppa ei hajoa kesken myynnin. Jokainen muutos tarkistetaan ja esikatsellaan ensin.
  • Koko historia. Jokaisella muutoksella, myös teemaeditorissa tehdyllä, on päivämäärä, tekijä ja paluutie.
  • Päivitykset, jotka voi oikeasti tehdä. Muokkaukset näkyvät GitHubissa, joten teeman uuden version voi tuoda ja testata ensin esikatseluteemassa.
  • Tilaa useammalle tekijälle. Kehittäjä, suunnittelija ja kauppias voivat tehdä töitä yhtä aikaa.

Jos kauppasi on Basic- tai Plus-planilla

Työtapa on sama kaikilla planeilla, ja siitä on yhtä lailla hyötyä pienessä kuin isossa kaupassa. Pienessä kaupassa se suojaa ennen kaikkea hajoamiselta ja kadonneilta muutoksilta. Isossa kaupassa, jossa on useita tekijöitä ja kampanjoita, voi lisäksi kytkeä kampanjateemoille omat haarat ja julkaista ne kampanjan ajaksi.

Lähteet: Shopifyn dokumentaatio GitHub-integraatiosta ja teemojen versionhallinnasta (englanniksi).

Haluatko tämän käyttöön omaan kauppaasi, tai haluatko, että katsomme ensin nykyisen teemasi? Kysy Virralta alta.

Kysymyksiä ja vastauksia

Toimiiko GitHub-integraatio kaikilla Shopifyn planeilla?

Toimii. Integraatio on Shopify-adminin teemakirjastossa, eikä se ole Plus-ominaisuus. Tarvitset Shopifyn GitHub-sovelluksen, henkilökunta- tai collaborator-tilin, jolla on teemojen käyttöoikeus, sekä kirjoitusoikeuden repoon, jonka haaran kytket.

Mitä teemaeditorissa tehdyille muutoksille tapahtuu?

Shopify tallentaa ne kytkettyyn haaraan commitina heti, kun ne tallennetaan. Commitissa näkyy kauppa ja henkilö, joka muokkasi teemaa viimeksi. Tätä ei voi kytkeä pois.

Voinko edelleen käyttää teemaeditoria itse?

Voit. Teemaeditorissa tallennetut sisällöt ja asetukset tallentuvat teeman tiedostoihin ja sitä kautta GitHubiin. Kehittäjä tuo ne omaan työhönsä ennen kuin muuttaa samoja tiedostoja.

Tarvitsenko kehittäjän tähän?

Haaran kytkeminen teemakirjastossa vie muutaman klikkauksen. Haarojen, pull requestien ja Theme Checkin kanssa kokenut Shopify-kehittäjä säästää aikaa ja virheitä.

Haluatko tämän tehtynä kauppaasi?

Kysy Virralta, tekoälyavustajaltamme. Se vastaa heti, kerää perustiedot, ja asiantuntijamme vastaa sinulle henkilökohtaisesti.

Kysy Virralta