Coding 101 : Liquid for Shopify | Kevin Ward | Skillshare

Coding 101 : Liquid for Shopify

Kevin Ward, Germinate

Coding 101 : Liquid for Shopify

Kevin Ward, Germinate

Play Speed
  • 0.5x
  • 1x (Normal)
  • 1.25x
  • 1.5x
  • 2x
13 Lessons (1h 28m)
    • 1. Introduction to Coding Liquid for Shopify

    • 2. Always Backup First

    • 3. Shopify Theme Structure

    • 4. Comments and Revertiing

    • 5. Variables and Arrays

    • 6. Iteration - The FOR Loop

    • 7. Conditional Decisions - The IF Statement

    • 8. Creating a True False Flag in a Loop

    • 9. Liquid String Filters

    • 10. Customer Object

    • 11. Creating a Snippet

    • 12. Creating Templates

    • 13. Final Thoughts

17 students are watching this class
  • --
  • Beginner level
  • Intermediate level
  • Advanced level
  • All levels
  • Beg/Int level
  • Int/Adv level

Community Generated

The level is determined by a majority opinion of students who have reviewed this class. The teacher's recommendation is shown until at least 5 student responses are collected.





About This Class

Lean how Shopify themes are organized and how to add or modify functionality to them. This course will get you comfortable with the Liquid code used in Shopify themes and walk you through a basic project that uses some of the key elements of liquid. You will need a Shopify account for this course and can get a free 7 day trail account here if you do not already have one. 

We will be referring to the Liquid Cheat Sheet during the course.

Meet Your Teacher

Teacher Profile Image

Kevin Ward



Kevin has an MSc in Computing and Information Systems from Greenwich University , London, UK.  He now lives in Florida. After teaching Computer Studies in the UK in the mid 90's, he took a 2 year volunteer placement in Kenya to teach computing at Kisumu National Polytechnic, it was during this time that teaching and the business of eCommerce intersected. After supporting local artisans to sell products online in Kenya, Kevin launched a eCommerce wholesale company in the US importing and selling Fair Trade handicrafts online.  After 16 years he sold the company and now focuses on helping others start their eCommerce businesses through his new startup

See full profile

Class Ratings

Expectations Met?
  • Exceeded!
  • Yes
  • Somewhat
  • Not really
Reviews Archive

In October 2018, we updated our review system to improve the way we collect feedback. Below are the reviews written before that update.

Your creative journey starts here.

  • Unlimited access to every class
  • Supportive online creative community
  • Learn offline with Skillshare’s app

Why Join Skillshare?

Take award-winning Skillshare Original Classes

Each class has short lessons, hands-on projects

Your membership supports Skillshare teachers

Learn From Anywhere

Take classes on the go with the Skillshare app. Stream or download to watch on the plane, the subway, or wherever you learn best.



1. Introduction to Coding Liquid for Shopify: Hi. Well, thanks for checking out coding 101 liquid for Shopify. So this course is going toe essentially introduce you to the liquid program England language that Shopify uses its primarily used in theme development also in APS and ah, you notification emails can use it plus some sudden app such as order printed when the shop . If I use it, we're gonna focus on the theme because that's what most users of Shopify one to edit and one await functionality to. So ah, yes. So basically in this course, we're going to make some theme it. It's, um, on DWI gonna take you through those theme at it. We'll take you through the structure of the theme first. So you understand where you would place your team at its and how toe find the locations that you would want to be editing within a theme. So make sure you understand the structure of how things built on and put together in Shopify. Then we're going to get into that. We're actually going to use the tag within the products of Shopify to put some data on a product page that can be using tags variable for each product on. We're gonna use some loops to work through those tags on, and we're gonna use some system variables to to allow us to determine who's concede that data and who cannot see that data. No one is going to quickly show you through an end result of that project and obviously do . While we're doing this, we're gonna talk about a lot of other functionality as well. So in this basic, this is a basic default Shopify site, and it's using the basic default W thing on just to give you an example of what a normal product looks like without any editing, it's gonna look like this has got your image title year at Got buttons, your description and nothing in the middle here. I'm gonna put some information in the middle here that's gonna be based on the tags off the product. So let's go back and have a look at beach court hearings. You see, here we've got on this thing. We put a message here that says more product is available here, and then we've got a website link, an active link to another website, and there could be any website that happens to be my website. And if we go to the beach ball necklace here, we made a little bit caught more complicated because in this particular one there are two potential places where they can find more information available to different websites. Okay, so weak. We using the tanks and we're actually going through those tax and seeing which ones are applicable to this and then picking them out and putting them on the page and to make it just a little bit more interesting. This information here, it's only available to people were locked in. So if I log out of the website and I go back in search for the beach ball products, we'll go back in here to that beach ball necklace and you can see now it's just got a message saying that the useful content is locked and you need to log in to see this content on. Here's a link to log in and or create your account. And if I do that again just to show you to go back into the hit to the beach ball search Sorry, beautiful search and go back into that product. You'll never see that that data is visible. So we've done a few things. There were some other stuff during this course, but that's the key project that we're gonna work through because it involves almost all of the major concepts around. Basic coding off liquid. Okay, so in order to make the best of this course, it's best if you've already used Shopify and have a basic understanding of Shopify. If you don't, I have a Shopify introduction course out there on skill share. Recommend that you do that first. It's also useful if you understand HTML because liquid coding is built into the templates, which are basically built in HTML. So if you don't understand HTML, it's gonna be a little bit tricky. But you don't have to have a deep understanding of HTML, but you do need to understand basic things like links and, uh, brakes and stuff like that. So if you don't understand that, recommend that you find a course on school share for basic HTML before you do this. But you don't have to have it. We will make sure that you can follow this course even if you don't have a much of an understanding of HTML. Okay, so in the next lesson, we're gonna start off by looking at making sure that you know how to back up your projects . So we hope you'll follow along and look forward to seeing you in the next lesson. 2. Always Backup First: Hey, guys. So coding 101 liquid for a Shopify. So in the next lesson, we're going to get into the actual sort of liquid code and take a look at that. But before we even start doing that, let's talk about backing up. Okay, Um, when you're working on this in the real world, you're gonna be working on a really live website. Now you can work on a back up off that website as opposed to a live version off that website, or you can work on the live version itself. Always a little bit risky, but so long as you've got a backup off the code before you even before you start editing it , you're gonna be good to go. So let's make sure that you understand how to make a backup off the website. If you're doing this on a seven day free trial account, then it's not so important and you probably don't need to worry about it for the purpose of this course. But I want to make sure you understand that. Okay, So if we go to your ah Shopify admin and go to your online store here, you'll see these various links. One of them is themes. We are going to be editing the theme. So before we start editing the theme, it would click the action button. Here we are. Once we start coding, we're gonna be editing the code. But before we start doing there, how about making a backup of it? So they're a couple of ways to back it up. One, you can download the theme file to your ah, local PC. Put it in the cloud. Whatever. Keep a copy of it. Okay, That keeps your backup of it. And in order to if you got that downloaded the file, you can always then upload a theme vile to Shopify. Okay, you do that through this upload theme button. You can also do it locally within Shopify by using the duplicate option. So let's duplicate it, and that's going to create a copy off this theme as off a certain date of time. Um, I always like to make sure that the title of this at least tells me what date that ISS. So let's just change that by doing a rename. So this is debuting team, and it's sick ill. I'm doing this on 6/8 2000 and 19. Okay, so that's my backup. If anything goes wrong as we're working through this course, the worst case scenario, all I have to do is come to edit and publish this. And I know that I'm publishing the version of it before I started making any edits. Okay, there are some apse in the APP store that will do backing up for you on an ongoing basis on they back up far more than just a theme. They're backing up your navigation, which Shopify does not back up for you. They're backing up your pages and you content so that as you make changes, if you're unhappy with it, you can revert to a previous version the one that I usually recommend on that is the rewind app. So if you're interested in having if you work in our life site and your interest in having a backup system in place, I strongly suggest rewind. It's important to note must love. People don't realize that Shopify do back up your core data like orders and products and customers. But they're not backing up theme at any design changes you're making or anything like that . So if you mess all that up or lose it or, you know, destroy your thing, Shopify and not going to help you with that. So before we start editing the theme, make sure you got it back up, OK, next lesson we'll start getting into looking at the Cody. 3. Shopify Theme Structure: Hi guys. Cutting what? I want liquid for Shopify. So today we're gonna look at the structure they Shopify theme and Hannah edit it and we're gonna try to get to a place where we at least know where to start and went to look for the particular location off Any edits that we want to make. Okay, so let's go off to our admin over demo sites. So let me get out of this for a minute and take us back to here. So we want to get to a point where we can edit the code of this life debuting theme. You can also edit code incidently off backup teams. You don't have to be working on the life site. I'm gonna be working on the life site during this tutorial so we can get there by either going actions edit code or we can go through customize. And for Shopify users, you'll already If you've done the introduction to Shopify, you'll know about this sort of set up section within the admin for themes were within their as well. There is this theme actions button and it's got edit code. This can take you to the same place whether you do it from that initial screen or whether you go in to the customized theme section. Okay, so let's close these down a minute. So there's a hierarchy here on. We're not gonna get into the lot burr ones, cause that's really deep in programming. That's far, far more than, ah, liquid interrupt into liquid. But you can do most of what you want to do here, so the lay out. You don't need to worry about it, really. You're never gonna be editing this. They're basically just the temporary password page. If your site is not launched or the themed are Liquid Page, which is what it's gonna use. Teoh, launch your site once it is launched within the theme dot liquid page. There's a section down here somewhere, and we don't really want to get into it. But essentially, between the header and footer, it's telling Shopify to go off and pull the appropriate page container that it needs for the content that you're trying to pull up. So if you're trying to pull up a a page of content, it's gonna pull of a page template, definitely trying to pull up a collection of products is gonna pull up a collection template. If you're trying to pull up a product page, it's going to use a page template. So let's close that down and have a look at those templates. So these are where a lot of the coding is written in these primary things of use. Pulling up a main BLAWG index. It's going to use the blah give its and the individual block article is going to use the article. If it's a collection off products, it's gonna use the collection. It's a shopping cart. It's going to use the shopping cart that you're trying to pull up. You've got some customers stuff here. Ah, you've got some list of collections you've got a page for. Those pages that you create in your admin and what we're gonna be using primarily is this product dot liquid file. Okay, so we click in this product, not liquid file. Well, they was We've got a comment of this up there like that, and it says the contents off the product or liquid template can be found in sections product template. So they've aged. They made a relatively small file here, but within this file It's basically say, Don't even bother looking here for the content of the product page. Most of the content on the product page is going to be written in what we're calling a section. Okay, so what's the difference here? Let's go to sections and pull up. What sets a product template liquid. There we are. Product temperate liquid. So this is a sort of code that we're gonna be what? This is your liquid code that we're gonna want to be editing. Um, and you know, once you get used to this card a little bit, you're gonna be a see it's hierarchy goal. It's coming down the page and it's just look at a product page and you move down the product page. You'll see the various sections, uh, come into play. However, sometimes the coding for some of these is even more complicated than shop. If I want to get into. So let's have a look at what I know. The price is one of those things. There we go, so product price is put on the screen here. But there's very little there in terms of how that product prices calculated or formatted, because they've used an include statement and by using an include statement. They've said there's some coding that goes behind this product price that we're using him more than one place on the websites that rather than write it here and write it in product guards and write it in the, um, collections where we show the personal that's where the rubber and duplicating that code, we're gonna re use a module of code and that code is gonna be a snippet in Shopify terminology. In liquid terminology, it's called a slip It so in Snippets wouldn't come down here and we can find the product price snippet on in here. It's basically saying this is money. Um, if it's, um, on a compare at price, it's on sale. We can add that to it. Um, if it sold out, it's gonna show sold out. So it's doing a whole bunch of work around where this display the price that the price with compare at price, the on sale Icahn, whether it's in currency format or whether it's sold out. It's doing that here because it's using it in multiple places on the site for our purposes . We need to know that if we go to the product page, and it says that the tarp a dump overlooking here look at sections product template will go to product templates on when we find the part of the page we're looking for. If it's got an include statement, then we need to know that we have to go to the section that's got the snippets. Sorry, that's got that code in them, which, in this case, his product price, uh, liquid. The other thing to notice about templates is you've got all this sort of HTML and liquid code that builds out the product page itself. And then down here, you've got what's called a schemer, and a schemer is basically essentially a database. It's data about the data on. In this case, it's a lot of its language orientated switching between the different, different languages on what this tends to relate to. He's let's have a look at this so in the Schemer. So the 1st 1 is, uh, nine, the setting. So the image size and this is language stuff, and then we got options within that. So in terms of the English, we've got image sites, options and the options for small, medium. And what what does this do? What this does is it basically sets up. If we go to the product page here in admin set up, it's basically setting up this. It's declaring and creating this. So we've got a drop down with the different image sizes on. If we look at our liquid code, the code and it's done in various languages, which is makes it look more complicated. Most of the time we're only using English, but you can see that's your and the default is medium. And as you can see in my case, it's medium because I haven't changed it. So it's going to the default, okay? And the next one is the check box that says the quantity show quantity selector and you can see they're given it different languages here. But basically it's a check boxes, so show quantity selector and the default on that is false. And again, if I look here, you see that? So it's possible through this template to actually create these, um, options in the actual theme at me, and we're not gonna be doing that in this course. But it's one. Did you understand what this is okay. There's so basic summary of this lesson is just to get you to understand the hierarchy. So we've got the layout, which in our case, is always gonna be theme. It goes to the various templates for the various different pieces of content that are available on the shop to buy website. If we're calling up a product, then we could be editing the product out liquid. But if it says that the top hey, go and have a look at the sections product liquid template, then you would go and do that in sections. You'll find the liquid from products template liquid here. And just be aware, though even within this. If you find an include variable, then it's it's saying to you and go off and look at something else so it could be his and include Variable. And it's saying, Include this. While that looks like to me as if that's something that's an asset that's an image as an asset because it's a thumbnail, right? So that's going to be in the acid Gold Assets folder. But for the product information it says include product price, that's gonna be a snippet because it's code So then in the snippets, you'll find the product price code. Okay, so next lesson, we're gonna look at comments on, and after that, we'll get into actually making some functioning code changes. 4. Comments and Revertiing: Hey, guys. So hopefully I didn't scare you off in the last western. The last lesson we looked at the structure of a Shopify t on. You know, admittedly, when you look at it first time, it looks super complicated rate, and it's got lots of coding in it. Well, don't be scared. We're gonna break it down and we're going to get into it as we move forward in this course today, when I want to talk about is reverting on comments of the soul. Basically, I want to show you how to revert when you do make a mistake, how to go backwards with it in addition to your backup, your call backup that we talked about in an earlier lesson. And I also want to talk about comments there, both of which critical. So let's go to our page here. So basically, what we're gonna do in this course is we're gonna add some content here that contents going to be based on the tags within the product. Okay. So in order to do that, we're gonna want to be editing a product template now, weaken, do one of two things. We can edit the court, the original template, or we can make a new template in this particular scenario. For right now, I'm gonna show you on the original template. But I will show later in the course I will show you how to make new templates. And the reason that you might want to make a new template is so that some products can be based on one template on other products could be based on another template. And that, particularly, is useful. For example, if you're selling, if you're a big story and maybe a selling toys and then you're selling computer equipment, well, your toys, they're gonna wanna have all sorts of other information on the, um in terms of choice, safety and things like that on your computer equipments Gonna have much more in terms of specifications, hard drive, stuff like that s so they're really getting the product. Pages need to be completely different. Okay, so what, you gonna make them look and feel in the brand of the same? They're gonna have completely different day shiran. Therefore, you would need to product templates. Okay, Not gonna go there yet, but we'll show you that at the end of the course So today let's go and have a look at our online store at themes, and we're going to do the edit code option, and we're gonna work on the product template now as we know, if we go to the template product, we know that the data that we're actually want to work on is called product template and it's in sections and you can actually see the code here that's pulling it up. It's basically saying, Pull up the section called Product Template. Okay, so that is basically that's all that's equivalent to an include statement when it's include , it's gonna be a snippet. But when it's this section, it's gonna be pulling up a section. Okay, so let's go to our sections and let's have a look at our product templates. Okay? You know, as I say, if you're doing in some situations, you're gonna want to actually create a new product template. But in my situation, I'm just gonna work on the one. Any changes are made to this template we're gonna apply to every product in our store. So before we go any further, I want to put a little comment up here because I want for my own sake. When I come to this in the future, I want to know that I've edited this file on why I bet it it. Okay, so you opening up with curly brackets percentage time, which is typical liquid Cody comments percentage Zain Gardez brackets. Then you can write a comment. So OK, w edited, but this file jeering 2000 and 19 to include, uh, tag tight based you are else. Okay, The next line is going to be too close that comment off and comment. Okay, Now, if I've got that right on, I click save here. It will save that. And as soon as I could save it becomes live on our website. However, because it's a comment, it should not show up on our website. Okay, so, no. Where does that show up on the website? Because it's within the comment sections. Okay, now, let's say I'd missed that up on I I had neglected. Well, let's say I'd get the comment wrong like that. That saved that. First of all, it's going to say, Hey, that doesn't make any sense at all, right? So it will not save it. It did not say that. So let's take it back a little bit, they say. I forgot to put the comment on it and saved that. I will say that there's nothing wrong with that as far as the system is concerned. But obviously from my perspective, when I refresh the screen, that's not good, because that's come out on the screen because it's not within comments. Okay, so let's say I don't know how to fix it. I don't know where my error is. What do I do? Well, I can goto older versions and I can take it back to various time zones. So I take that back to a minute ago, 609 You can see that it's just reverted back and I can save that. And they're now becomes my current version. Okay, so just because you make a mistake, you don't have to panic. There is ways to get back. So I'm gonna put that comment back in because I actually want it, and I'm cheap by just rather than rushing the code, I'm just gonna copy from there where there's already a system commenting. I want to go up in our party, sit here and just edit this attitude. June 2019 To add tag you are else save. Okay, why else might you want to use a comment for where you may want to use comments so that you can start right? You're gonna write your code live on the page, but you can take them out again easily if you want to. So let me give you an example. Let's find the pat. Well, let's find the part where we want to do this festival. So let's find the part under the But let's refresh that pay just to make sure that I've got a currently saved version. That's correct. There you go. So under this up, it's above. This description is where we wanna work. So that's come down the page and just scan for that notion of a description. Okay, somewhere down here, we're gonna find the description that there's all the payment buttons, options. Um, that's the end of my schema. So I know I've gone too far when I hit Schema that there it is. That's where it's bringing in the description on byproducts dot description. So it's saying, Here, take let's go back to that product on the dot means let's look for us and attributes of that product that I either description. And if we look at the ad men here off the product, we're going to the product description. It's going to take this content and is gonna put that on the page here. Okay, so we wanna work a both that. So first of all, let's test. I always like to test that were in the right place location. Okay, that's a site. That and then there's F five key to refresh this. And that is exactly where we want to be working bear in mind. And I want to be clear about this That is gonna affect every product on the website because every product is using the same template. Okay, so we've got to that. Is this the right location? OK, before we start writing air coat, let's add some comment tags. So comment there and then it's a copy that end comments. So why might you want to do that? Well, because I might be actively working in here. Andi have problems with my code or not be ready to launch it yet. All I have to do is wrap them in comments in order for that code to still be there for me to come back and work on tomorrow, but not affect the current website. Okay, so it's just a way off off basically high stopping the browser from actually doing anything with the code between here and here, it's effectively blocking that from actually being used. Okay, so is this current location. If I un comment it, that will come up on the screen. If I comment, it will take it away. And you can imagine within here you can actually have some riel active code that's doing some stuff, and you can turn it basically on and off for testing purposes. Okay, so that's a comment, and that's the river. Had to revert to different time stamps off the file that you've been editing. I don't want to do that. Ah, this is the save option, which makes it life. And if you really mess it up and you can't even find a revert option, you always have the back up back in the themes over here. You can always go to publish in this backup, so there are lots of options to get yourself out of trouble. If you mess it up? Um, just to summarize this lesson primary thing that we want to do, we want to make sure that we have his comments because comments really help us to understand what we've done. So the comment at the top here is a clear indication to me, And actually, now what? I would go further than that, and I would find my thing, and I would put in there. You see the line number 207 here, 206 207. And I would put it on in my comment here. Just so I know. And it's gonna change based on the code, but as we work on it, But around line 205 give me a good indication so that I can come and fix this if I have a problem further down the road. Okay, so I see under this one. Um, next lesson. We're going to start doing some coding on and initially some resources that you will help you to achieve that 5. Variables and Arrays: I got so back to coding Wanna one liquid for Shopify. And today we're gonna start to look at some real programming within liquid product templates for Shopify. So let's go back to where we left off in the last lesson. So in the last lesson we left off when we've got this comment in there, that tells us where in this product template page we want to be working in order to impact the product page just under the check out. But let me just refresh this page. All right, going clear. Anything. So this is a where we are at the moment. We have nothing in this space on. We have nothing in the space because it's commented. So let's just demonstrate that just to prove the point once again, by removing the comments, clicking safe on refreshing this page and then that message will appear so typically when someone starts teaching a programming language, the first thing they do is always to a hello world example on. It's basically taking a piece of text and putting it on screen. You can see here that we've already effectively done that on. We've done that without using any programming concepts because it's just plain English on the page. And it's that works because Shopify is you think the liquid code is essentially html 1,000,000,000 HTML. If if you put something on the page, it's gonna print out on the script eso If we just want to put some HTML around this to make it bold, for example, you can see that this is just simple HTML. Okay, Lips didn't close it old that we get. So if we say that and now when we reverse this using pure hedged email, we've now got a bold piece of text. Okay, so I think it's worse just you doing out declaring a basic variable, putting this message within it and then out putting it to the screen, using liquid just to demonstrate how to do that. Okay, so I'm going to get rid of this on. Then I'm gonna pop that code in there. We'll talk about the code in a minute. Let's take you all of that code into their been there. Okay, so what we've got here within the liquid tags is we've got we're assigning a variable, and the variable that we've created is basically a memory location we've created this thing called my string. OK, could it could be my message. It could be ex wife said we can call it whatever we want, so long as it doesn't complete with something else. Okay, but by using it were basically creating a memory location called a variable within the system A case. But then once we created it, it's empty. So we have to assign a value to it. So we're assigning my string with the value. Is this the correct location? If we just do this part, it's not gonna It's just gonna fill a little memory space within the computer system, but it's not gonna actually put it onto the page. This is where we're printing, how putting the message is this great location. Let's just have a look at that and doing a five and we should be back to Is the scripts not in bold And it's not involved because we haven't put any HTML around it. So let's just do that. Let's bring it over. That's put some html around it, okay? And then try that again, and it's gonna come out in boat okay on just to prove that this section here is not out putting it to the screen. But it's this section that is, I'm just going to remove this from the moment. So in a copy it and then delete it. Save, refresh and it should disappear off the base. And it's just spit off the page. Because even though we've assigned a variable, is this the correct location? We have not output id the variable. So the output is here, wrapped in html. Whatever. We want me to make the link. We can do whatever we want with it in pure HTML terms. Uh, but this here is the output off this. But it's not this which contains this. My string. Okay, it's just basic variable input output. Okay, let's now take that a bit deeper and say Well, during this project, whatever you know want to be working with in terms of variables, well, we want to work with variables that come from the product. So these are variables that already exist in system that I created by Shopify. We don't have to create them or sign anything to them. They already exist like it's just get rid of that code for now. And let's just look at the product or let's have a look. First of all, I want to introduce you to the shop if I cheat sheet. So this is a cheat sheet that Shopify have created, and there's a link to this in the course description, and this basically includes all of the various coating that you can do within liquid. So let's have a look at the concept of any product. Okay, and down here, you can see this is the product, so let's have a look. Hadel The This is the product. Object to Mrs Shopify eyes your description of what you can do with it all the different things. These are the different variables that you can access because he can access the product price, you can access the product. I d. The product. Handle the product description, and you can use those within your theme. Temporary coding. What we're going to be working with in this course is the product tags now, product tags. You'll notice it's plural, as is quite a few of these like product option and the reason it's pluralist because it can hold more than one value in, um, probably service. We call that an array. Okay, so once we when we have data that's more complex than just one value, a single value is is a simple variable on. Then once it's got more than one value and it's an array off variables start, you can have motive. Dimensional erased. You start thinking of tables the equivalent of a table. In that version, we're gonna be using product tanks, product taxes, a single dimension array. It merely has a string series of values in it. Let's have a look at the product. Um, so this is the admin of Shopify. And this is the beach ball necklace that we're using is their example. And you can see here that I've given it four different tax two tags that we're gonna be working with later on in the project and two other tanks. Okay, so the product can have as many takes as you wish. There really is no limit. I don't think for Shopify in the number of tanks you can apply to a product we this particular product we have for Okay, so let's have a look at out putting those. So that's our output is a double princess and the it's called product dot tags. Now you have to get it right. Programming is unforgiving. It is not going to accept product. Tak It has to have the S on. It has to have the dots in it. So we're saying for the object product attribute tags it contains in this case, four different values. So let's have a look at that and say that. Let's look at the product, Refresh the page. And yet there you go. We've managed to print out, and it's not pretty. It doesn't have any spaces between the tax, but we've managed to print out or four off the product tags, output it to aspirin. Okay, Andi. So an array has values on each value, sits within a position in the array. So this and it always starts with position zero. So this is, uh, product dot tags position zero. This his product dot tax position one. This tag is gonna be product out tax position to and this tag correct dot Tags position three on. Let me prove that to you. So I'm just going to go, and I'm gonna say OK, I only want to see the value in position zero off the array. So that's the first value in the array. And I should probably just coming back with Necklace and there we have it necklace. So that's prove that this is jump to another one position to, And I think that's one of the URL links, if I remember rightly. And I think it's the Global Crafts one. There were Global Cross. Okay, so to go in here and just summarize what we have done today, we have shown you how HTML works within the template for liquid template. Paul. I have. We've created a simple text string variable and assigned a value to it and then output. It's a screen. And then we have accessed the system variables product that tax, how we have looked. We have proven and shown you that that variables that it's more complex than a variable. It's actually an array, which is a serious of individual there variables or it's a series of values within one, um, variable array. The product that tax on their no, he's shown you that There we can go. We can pick out Pacific values within that array, using the location number off that array on. We've also introduced you Very importantly, we've introduced you to this cheat sheet and just to just taking a bit further, let's have a look at Array. An array is gonna be described here, a race Holden list about variables of all types. And in this case, it say's, uh, a list of tanks, um, to access items in an array, you can look through each array. We're gonna get to that in the next one on. It doesn't say here, but you can prove it doesn't actually show you here that you can use the index. You can filter the array by index. Okay, three index value. And this example actually doesn't his around product tax, which is what we're using in this project. Okay, in ah, upcoming lesson, we're going to start looking at the way to loop through these race. Okay? Things 6. Iteration - The FOR Loop: Hi, guys. Putting 101 liquid for Shopify. Today we're gonna be looking at the conditional or No, today we're gonna be looking at it oration. And the next session, we're gonna look at condition or statements. So it aeration is critical concept in programming because it allows us to iterated around through a race. So to go through an array and do things to array to the sort of values within an array on a one by one basis, let's just check out our cheat cheat, Go back to a cheat sheet here on. We've already got the word array in here, and you can see that it. But one thing is to access I tempting array. You can loop through each item in the array using a four tag, um, or a table. Right. We're gonna use the four attack, and it is a big map example off the code that within two years I'm actually just gonna copy that. Take that coat directly here, okay? And if we want to look at ah, the full, we can actually you get some, uh, for in the saint is going to give us some mawr detail on how four tag works. Okay, so remember to keep using your shop If I cheat sheet to help you find and discover new things. Okay, so let's go and look into our code here. So I had removed any code that we had previously here. So at the moment, let me save that on. Let me refresh my page. So at the moment, we have nothing here. Okay, so let's just copy in what we just got from achy sheet four tag in product tags print out tag end for so output tech so you can see that we're effectively done now. Before we had to use product tax, it was just just to show you this. Let's just put it before this. Let's just do product tax when you see the difference. Protect docked that tax, and then we just make that lower case That's just puts, um, uh a, uh, line break in there just so that it's clean and tidy. And just so that we can tell the difference. I'll actually bold the, um, the tank. The one that's coming from the array. Okay, so we've got two different pieces of code here. We've got the 1st 1 is saying print out output the entire product dot tags array and then put a couple of lines spaces after it. And then the second base occurred is a different way of doing it. It's basically iterating through product tags, looking at each individual tag and then printing out, putting each individual tag with a bolt. I m bowled and it's going around this loop until it runs through the entire array. So it's going to run through this Ray four times, zero through to 3012 and 34 different times around at this four loop. See what the output on that is? We should have two different points here. One embolden one that's not in boat. Okay, so it looks very similar. We've got This is the just product tags output, and this is the boated product was. So it's the individual tanks within the product tax array, and it's done through a loop. So the first time through the loop, it's printing out necklace. Second time through the loop, it's printing out a German eight euro the time through the loop, the global craftsy. We're all forced time through the loop, the white, you are Oh, okay, Now, because it's going around in a loop. We were able to put individual tanks around that. You see, I can only if I put the Thea line break tags here at the end of product tags. All that's going to do is gonna wait till the whole arrays printed out, and then it's gonna print the line break. But because this is going around in a loop, I can do things to this individual tag and then it'll finish and then they'll start again and goes to the next one. So, for example, I can put in a line break there, and if I refresh that there, we have them on individual lines. Each tag is on a new line because it's right, it's It's kicking off this line break four different times because it's going around the loop for different times. Okay, so I only put this one in to show you the difference. Let's get rid of that, and it saved that, and that's have a final look at that. Okay, so this is real quick lesson on its oration. It aeration is a much bigger topic on you can find out more about is oration in here. I would imagine if I type in its aeration the restoration tax. So it's basically using a four and there are other. There are a few of the things down here. OK, so it's aeration. The four loop, um, is here for E, for for every variable within the product tags array. Look at the individual tags, bold the individual tags and put a page brake line break at the end of it until you get to the end of the loop, which would be the fourth iteration on. Then end the loop and then move on to the rest of the code, which basically means printing out the product description underneath it. Okay, next lesson. We're gonna do some conditions. 7. Conditional Decisions - The IF Statement: hi guys. So coding when I want liquid for Shopify today we're gonna look at conditional statements and particularly the if statement, which also includes an else. So let's go to our project. So at the moment we've got this. Ah, Lupin! Here s four Loop, which basically prints out each tower. Atwood's each tag on a new line because we got the BrR. Let's have a quick look at the airport on that. You have four tax, but we're only really interested in these tanks with the girl in front of them for this particular project. Okay, so let's to put an if statement in the loop, we're gonna put it inside the loop because we wanted to go through the if statement for each individual tag. So I'm gonna put in an if statement here and then at the end before I get to the end of the loop. So before the end four, I'm gonna put in a end If you can see this language, liquid language is really pretty straightforward. It makes absolute sense in English on also, you've got your cheat sheet here. If you ever want to look at an if statement just by typing it if you can get some code for it. Okay, so let's go back and talk through this. So within each loop, which for this particular project or product sorry is gonna happen four times. But of course, if the product had six tags, it would go around six times. There's only different amount of it orations for each product, but in this case we have around four times it's going to check to see if the tag contains the string. You are L colon, that within quotation marks. And if it does, it's gonna then bowled the tag print, output it and put a line break after it. And thats gonna do that four times. So I would expect the results from this to just be the two tags that we've identified as you are l for this particular product. So let's have a look. And there we go. We've got to tax printing out on just to show you that that's gonna be different on a different product. Um, I believe these vegetable hearings have warm. You're all talk on it. Yes, they do. They have one take on it. Okay, so it's going around the loop of many times. That needs to, depending on how many. Tang's Aaron, this individual product. But it's only finding one that meets the conditions of Aref statement. Now, if statements have true and false elements to them, so there is there is an element to it. We don't need this for this project, but we're going to demonstrate you so that you haven't understanding of it. There's an else, if well, else. If on l statement that you can do it else So in this guy's working, we can put a little message here. Sorry. I know you are l. Golden okay, And then we're still gonna end. If so now it's going to go around four times and it's if this condition is met, it's gonna bold and print out attack. If the condition is not met, let's put a line break after that. So it goes on the different line if the condition is not met. So if it's false, if this condition is false, then it's gonna print out this message. So we know in that necklace I'm going to go back to the necklace here. When I refresh this page, I would expect it to print out two of the story messages on the two you are else. Here we go. It's gone around the loop four times, but for two of the tags did not have the your own it. Therefore, they went to the else part of statement and gave us a different result than the actual tag itself. Okay, so that's how we do that through the else. Now I don't need that else part for this particular project, so I'm going to remove it and leave myself like that, ready for our next lesson. Eso. Yet this lesson we learned about if statements, which is a conditional statement on, we put it within a loop. So we embedded it within a loop so that it ran multiple times throughout the loop and then , as we move forward, will use more if statements and more loops, and it's going to get a little bit more complicated. But it's gonna cost, are getting more interesting. 8. Creating a True False Flag in a Loop: Hi, guys. So encoding. Wanna one liquid for shops? By today, we're going to take a deeper look into the combination off loops and conditions. Um, what we're gonna do in a project here, let's go back to our project is I'm gonna refresh that since we fixed that I spent. So what I'm gonna do my project here is I want to put a piece of text here that says more product information is available for this project. But I only want that text to appear if there is a least one girl with tag in that product. So if there is not a euro tagging them But I do know one that message to appear. OK, so how are we going to do that? So let's come in here. I'm gonna leave the current code that we've got there and just push it down a little bit, create some white space here to work today. Then I wanna pace in some code. Uh, yes. So it's basically I've put something here. This is not gonna quite work, but I want to show I want to demonstrate to you first. Have it way it doesn't work. So what? We're doing here is we're saying, for the array product takes look at each tack around four times. If the product take contains the euro, then the condition is mezzo printing the message. Otherwise, stop and go around again. Okay? Until you find what basically say that you see if you can find one where the girl does exist. Okay, so they're safe, that I'm run that. So the problem with this and you'll see what it comes on screen is Well, it's gonna run around the loop in this particular case four times, and two of them are going to be true. Therefore, it's gonna print twice. Okay. So even though it works, it's obviously not ideal for us. So is there a better way to do that? Well, of course there is. So let's instead off writing the code directly here. We're going to create a variable. Let me grab that coat. I'm gonna create a variable, and I'm gonna place it in there. We're gonna use this variable essentially as a truthful slag. Okay? The very if they would. If my variable is true, then we know that this condition has at some point being met. So it can go around four times in another product. It might go around once in another probably Mike around 10 times. But only if the tank contains you're old. And this one of the tight contains euro Will The variable which we've just called my variable be assigned to the value off. True. So then later run. We can use that variable to actually output the message that we want. So let me grab the code for that. So if I put here now So having essentially gone through the loop checked for the condition signed the variable as true. If the condition has been met at least once, then we can say, Well, ok, if my variable is equal to true. Andi, this is just Ah, one of those programming quotes. When we put something in a variable were signing it, we used equal site. But when we're actually testing for a true we use a double equal site and you can find their that that would be in here. Um, I think that would be called an operator. Yeah, it's in the operators part here, and you can see here Basically a double equal sign means equals. Okay, don't know exactly why that is. But that's just the way it is in this particular programming language. Any most programming languages. So if my variable equals true, then print the message because this is not within the loop. It will only print the message once. Okay, so let's have a look at that. There we go. Now, we only have it once on just approved its to use for the sake of doing it, just to use the else statement. If I wanted to put the, uh, else in here else, I could easily write a statement saying, Sorry, we have no more information on this product. Okay? I'm not suggesting that I would want to do that, but let's now have a look. Now this. This should not come up on this page because it's else and we know the condition has been met as true. But if I go to my general catalogue here and find something that probably does not have attack there, we can see the message has come out that says Sorry, we have no more information on this product, not suggesting that that's a great design idea to do that. But I wanted to show you the functionality of that. Okay, so I'm going to remove that, and I want to save that so that we're back and we go back to the necklace and the output is what we're looking for at this stage. Okay, next lesson. We're gonna move on to what we call filters. Andi filters allow us to manipulate the string him. What we're gonna do is we're going to get rid of that. You are turned this into a really big 9. Liquid String Filters: Hi guys. So we're looking at filters today. Now, this is a huge topic. We're anything you want filter in this particular example. But let's take a quick look at our cheat and guess where I shopped by Cheat, cheat, and let's just type in filters. You can see there are times are filters. Filters can be applied to all sorts of things. Filters are basically built in functions for the Shopify has already developed to make your life a lot easier. Okay, so let's just take a look at what we're gonna be working with is the tag, which is basically a string. It's a text bits of text on. We want to do a remove because we want to remove that you are l colon. Out of the tax was Have a quick look at that. We want to get rid of this portion here. Okay, But what? But I just want to show you the amount of things that you can do with this. I mean, there you can reduce into removes. You could do reprice. You can replace the first. You can splice things. You can split them, you can strip them. You could reverse them on. That's just within strengths. You know, with a raise, you can do various things toe in terms of filters. There's just a ton of stuff you can do links The Shopify has certain built in links that you can actually turn, you know, easily create links so you could do like a log in link easy enough. He just put the text and then you tell it that you want to apply the filter customer logging link and it's gonna deliver the appropriate log in ink. Okay, so tons of stuffing do here. You could spend forever going through this liquid cheat, cheat. But in our case, we what we wanted to do, we wanted to do a remove. So if we type in remove, it's going to show us that the string filter called Remove that seems to do what we want to do. So let's take a look using that. Okay, so what we want to work on is this type because this is Thea output. Do you remember within this loop that's generating these two tax? So instead of having that, let's just try using a cheat sheet. Let's take a look at you cheat Andi Let's take a look at the example and their example when I'm just going to copy it because that's what was the use this way to do it. And a copy that and I'm gonna paste in after my attack. So you know, you got this. This bar is always gonna be the indicator that you're using a filter, and then we want to remove. We don't want to reduce that. Obviously we want to do you are l cold. Look, that's what we want to remove. So let's give that a Well, honestly, whether it works and it does that. So there we go. We've stripped that out of it. So we had we had to have that if we go back to our product. You. So we had a have their own here in order to be able to pick, essentially picked these two tags out in that four loop using an if statement. But once we picked them out, we then wanted to remove it. So we've done that with the filter removed. Okay. We also want to go a little bit of a step further here. We want to turn this into you. A true you are a link. And actually, in this particular case, because the tag is just the w w dot germinate, doc. Common global craft startled. We can simply use, um, some html here. We don't need to use much in the way of liquid. So let me just grab that, cause I've already got it written here, and I'll just talk you through it. So let me just remove that. I'll live the bold in place. I think I probably got a duplicate. Be, Are there? Let's give her that. Okay, so now here we're bowling it. And then in straightforward, hedged female, we're opening up an ankle tag with a head drift to the hedge TP and then we're putting in the tack, content with the removal of the URL when we quit. That's the part that on that's the end of our euro. We're putting a target equals blank because we wanted to open a new window. Andan, Actually, what is a button here? Everything we need to do the button that's on that class would only work if the class was already written, which in de Beaute I don't think that class exists. So here we are with the tag. U R L Okay, let's give that a well on DSi whether it works as it saved. So now if I refresh that, Okay, now let's hover over it on. I can see down the bottom left of my screen doing here. It's showing me that those are links, and if I click on them, it will take them now to the appropriate pages in a new window. So it's still leaving me with the existing screen. Let me close it down. Okay, so what we've done in this lesson is we've basically used the concept of a filter on a specific filter being removed, and we've removed the you are L colon or out off the tag. We then take him. That tag stripped down and placed it within some straightforward hey HTML that has turned it into a link, opening up a new window and then over here because this bit is in the link. We've put the tag with the removal of the URL again just to output it to our screen. We've put a a break in the line break and closed off the bolt, and really it would be better. Hey html if that bold was closed off within the B R and no, after the BR, which is probably what? Showing me in red ***. Okay, so let's just proved that that still works. And there we have it. OK, it's coming along. I'm next section. We're going to look at some global system variables that what we're gonna do is we're actually gonna hide this. Ah, data from people who are not logged onto the website. You guys ask the next lesson. 10. Customer Object: Hi guys. Coding 101 liquid for shopping by And today we're gonna try to hide some information from people who are not logged into the website, who are essentially not our customers now important to define straight off the bat that Shopify ah defiance the customer as anybody with the customer account. They do not have to have made a purchase. Okay, so basically, we're looking for people who have accounts. So let's go back to our project. So we've got all of this stuff that we've already written and I've tidied it up a bit in terms of indentation so that it looks a bit clearer, but it's the same code that we've already written on. What we want to essentially do is hide this code if the cut, if the person browsing our website does not have a customer account, let's just look at a cheat sheet here. Um, here, let's look at our cheap sheet on by typing in customer. I could look at the customer object here, and Shopify defines the customer. Object is a customer who has a customer accounts. So you there is a thing here like house account that we could write returns. True, if the email associated with an order. So this is this is really going to apply for, you know, has the customer actually purchased anything because it's looking? It's testing to see of the email that the customer has is associated with an order. But the customer itself at the primary object exists as soon as they create a customer account, not when they placed an order. So all we have to do really is do a test to see if they are a customer. Okay, so that's really simple. That's really straightforward for us all. We have to do here for this whole section of code. He's do a test if customer now I do this work a lot for wholesale clients who want high pressing or Thea add to cart buttons are all that sort of stuff from people who have not got accounts and they don't want to give access to that information for, and we use the if customer, the center. Sometimes they will want us to go a little bit further and say if the customer is approved and to do that, we would ask them to tag the customer with approved And then we would say if customer dot tag contains approved, then we would do a whole sort of loop to check through the custom attacks and see one of them is equal toe approved. Then we're set a flag and then would come in and do all this. So it's asleep the same that we've already shown you. In this case, all I'm gonna do is test to see if there a customer, and then I'm gonna end if at the end, off this entire piece. Okay, So if customer run this whole piece of code that we've written, including the printing, out of the links and if they're not ecosystem, don't don't bother, just skip. So if they're not a customer is going to do this code here, which is part of a normal template, and it's gonna go straight down to description. If they are a customer, it's going to include this. So let's run that. I'm not sure if I'm logged in at this point, so we'll see. Let's press f five. Refresh that page. Okay, It's still got the information there. So the only way that that would have passed the test is if I'm logged in, and I am. So let's log out and let's go back now to the beach board. So now I am and not non logged in user. It does not know who I am. That data has disappeared on just to prove that point. Let's do before we get to the end. If let's do and else on. Let's put a statement in there that says Please, hello again, Teoh. See more information, Okay, and then let's use. Actually, let's go back to our cheese. Eat something we saw the other day when we looked at, um when we looked at the U. R L filters. Let us do Let's just look a filter. Let that tight. There we go. You are l filters. Here you go, the customer log in link and let's just copy that text at it is coffee and let's go into a code here, and that should put a link in there. So let's have a look and see whether that works. So I am not logged in at this point. Five. Okay, Please log in to see more information, and the log in link is the log. It is a link on. I can sign in there and then I go back to that product and now I should be able to see more information. And I do not have that message saying Please log in for more information. A great way to had premium information, whether its product information like this or you know, whether it's just blogged articles, whatever you're adding premium information to people who have accounts on your website, which is going to encourage them to you create accounts which is gonna give you newsletter people to send emails to etcetera, etcetera. Okay, so that's what at the end of today's lesson using the customer. So just Teoh, just go back and tell you what we've learned today. We've basically learned that we can check to see if the customer exists as an account because the customer is an object in the Shopify database. Eso we're checking to see if if that's true, if there is a customer, then it's gonna run this information. If not, it's gonna do this else part of the condition, including this year l filter to create a length to the logon page. Otherwise, we're gonna end this statement. So next lesson, we're gonna look at pulling this out of this and turning it in to a snippet which just tied is it up a little bit more and makes it easier for you to work on and makes it more transferrable so you can use it on other websites if you're developing using it more than once. So we're gonna look at doing that on. And then after that, I mean, it took a little bit more about where liquid is employed in Shopify and how you can get further help to learn this language in a lot more detail than we've managed to do in this particular course. Okay, so talk to in the next session. 11. Creating a Snippet: Hey, guys, coding when a one liquid for shopping by, we're getting towards the end here. So what we gonna do now? It's some look at some Ah, a couple of ways. One In this lesson, one of the next lesson of how do were organized. You work a little bit better and give you a few more options. So first we're gonna look at snippets, so let's go over to our project. So at the moment, we've got this whole section here, and it's in our product template. So let's try and remove this whole section from here on. Create a news snippet, and the reason would want to remove it from here is because it just makes life so much easier We could weaken, had an include statement here, uh, refers to a snippet on. We know that all of our own adaptations and coding isn't snippet on Bit's just cleaner, and we can use it. It the other advantages. If we wanted to use it somewhere else, we could use it somewhere else. So let's add a new snippet. Let's call it, um, you are l tag, um, content content. Create a snippet that should create a completely blank page. Here's we go to our product. Template wouldn't copy all of our work here. Paste it into a snippet. It's saving in their snippet. So that is doing absolutely nothing at this point, OK? Because it is not being used anywhere in our project. But now where our goal is to be able to remove all of this and just to include, go back to my cheat sheet. A theme tag, Gordon. The include the impact. Okay, so it is gonna copy that, so it's pretty straightforward. Really need to copy it, but I'm going to copy it, and then I'm going to tell it What? Um, snippet to include. So we called it. I'm gonna make sure I get it exactly right. Um, let's say we find it There is. Okay. You are l Where are here with include in quotation. You are l dash, um, obviously. And tag dash content. It knows that it's a liquid fire. We shouldn't have to tell it that. So that should include it on. We'll know if it works. Because when we refresh this page, that date is either gonna be there or it's no. And there is so it is no longer in the product template file. It is now in the include U R L Tech convent file. So instead of having sort of 2010 or 20 lines of code, here have nega one line of code. And if I have a problem with that part of the continent I know to be for two, you are attacked, content snippet on it. It that and also Now I know exactly what line number on. So in my original contents, I can actually put line to a six on take out the arounds, the There we are. Okay, so that's how you create snippets and include them. And the reason you would do that primarily is a to tidy up your code and beak, particularly if you wanted to reuse that piece of code on multiple pages or temporary. It's so we've done that. The next thing we're gonna do is I'm gonna actually show you out adjudicated template so that you can apply these changes to some products, but not all products. They say you had computers and toys. You would want to use a slightly different template, possibly for computers than you would for toys. They're gonna show you how to do that 12. Creating Templates: Hey, guys, Coding 101 liquid for Shopify. Today we're gonna look at creating a new template on the purpose of creating. Indeed, product template is so that when you create your products, you have to have a choice of which template that product should be built on. So in this case, we're going to create one template that has a new adaptation code on it with your links and one template that does not. So really, this is really more useful tool If, for example, you have adapted your templates so that you can have a lot of specific information on it. So if, for example, you're selling computers and you want a lot of specific information on there but you are also selling toys that you want to hold difference in a specific information on it, you just can't get the same template to deliver the results that you want. So the solution is to create two templates on adapt each template to the products that you're trying to work with. So let's we're gonna show you this example here. So what we're gonna do, basically, is we're gonna copy all of this. This is our product while s copy our product first rate we are going to go in on. We're gonna crew create contents of the product or liquid template can be found it. So let's copy all of this information. A copy. Now, this is in your template section. We're gonna add a new template. We're gonna create it for a product we're going to cool it. Include u r l i N c dash u r l We're going to create that template, and you can see it's put a whole bunch of stuff in there already is one of the I'm assuming that that is going to be correct on the content of this product on a change, this is basically duplicated the product template. So, um, I want to just make sure that that's clear on change these instructions so that I know in the future. So we're going to create the content for this in product template. Dash include that you are okay. Otherwise, we're gonna leave it exactly with section. Here is instead of using the product template, we're gonna ask it to pull. Think you are l We're going to save them. Okay, so now we're going to go down into our sections here on, we're gonna add a new section on the section wanted me. Just cancel that first. Let me just copy that out. So I know exactly what the section's gonna be called. Save me making a mistake. It will automatically put the liquid on the end. So now I have a new section here on what I want. That Section two be is basically exactly the same as my product templates section. I'm gonna go right up to the top here on a copy. All of that. I'm gonna pace that in to my product template. U R l on get rid of all of that on pay. Studying. Gonna save that. So now we've made a new template called product Ink Your URL on its refer. It's calling up a product. A product template in Q r. L. These were all exact copies at this point. So let's go back to our original product template and remove the adaptation that we might and the the easy way to relieve that. Now all we have to do is remove this include cuts, statement so we'll remove that and then we'll go to the top of the file and we'll remove our comment because we have not now edited this particular version of the file. Okay, so we're gonna save that. So currently on our site, the beach ball necklace is actually now using the unedited version off the product template . So let's just refresh that all of error reputation should disappear, and it does. Okay, so that's great. Now let's go into that product on this one. Refresh this page because now I have made a second product template. We should have a new option here. Hannah Bottom. Here we have this disappeared. It's now checked and it's looked and it said, Hey, there are two possible product templates. Now, if you want this to use the product in Hugh Earl Template, then select here. So this is gonna be the only product at this point using this new template so I can click save here. And now if I go to this product and press, I have five. It's including the adaptation that we made. And if I go to any other product, it does not include the adaptation that we made. Okay, now that doesn't necessarily make any sense for this particular little adaptation that we made. But I hope that you can see now that within that framework you can have two or three or four different templates that allow you to create completely different product pages for different types of products. You still want the branding to look the same. You don't want them to be completely different, but you want Well, when I put different functionality in there. So those templates Okay, so that is how you create a new set of templates so that you have options within the products to pick templates. And you can do that also for collection pages and another stuff within Shopify as well. 13. Final Thoughts: Hey, guys. Coding 101 liquid for shop before I last lesson on. There are two topics that they want to quickly cover in here. One is where in your Shopify account are you gonna come across Liquid, That is outside of themes. On the other is whether you get additional help to help you when you're struggling with liquid, okay? Or even to learn liquid. Because obviously, we've only scratched the surface here, So let's take a quick look at our account. So there are two primary places that I'm gonna point out that you can use liquid. Um, and frankly, there may well be more. But first of all, I want to point you to settings on in your notification emails. These are all your notification templates. Okay, Um, so when a customer gets saying new order, they're going to receive this email and you can see this email is crammed full off liquid. Okay. Um, so, yeah, you can use liquid here and again refer back to your, um cheat or use their link here to read more about the liquid variables that are available in the notification templates. But at this point, you should understand you should have a basic understanding of this. They're not that complicated, so it will give you a little bit more comfort level. We knew this editing these notification emails. If you decide to do that second place that I am used, a fair amount of liquid is in a particular app. I often use this order print tap because it just ah allows me to write HTML and liquid in the form of templates that create much nicer invoices and packing slips. So basically within here we can edit a given invoice that this would be in it. The invoice that Shopify would print out for me and you can see it's got a lot of HTML, but it also has a liquid within it. Liquid in it. OK, And if CIF statements and ifs on classic sort of adaptations that I've made on these in the past is putting bar codes on the logos at the top, putting product pictures in the line items so that the people picking orders in the warehouse have a picture of the product they're trying to pick as well as the item code, things like that, all of that can be done with liquid in the order printer templates. Okay, I decided that the last topic I want to cover is really Where do you go next with this? So there really aren't as far as I found any real books on this sort of stuff. You really are into online research and help. There are some other Shopify courses on skill share that go into theme development. A lot more depths. But unless you really developing themes to Sella's an agency, um, there may not be that valid for you. However, there's a lot of online help. I did a quick search here in Oh, I did in Yoho. But even didn't Google, you'll find a search. Once you get past the advertising, you'll find, you know, liquid basics. Shopify, help center liquid reference guides. You've obviously got your liquid cheat sheets. You got some liquid help in the community. If you've got a specific questions, that Shopify community is quite good. Somebody has usually tried to achieve what you're trying to achieve before so basically used the search engines. Now Shopify does have gurus. So let me just click into liquid reference You can start to see here it starts to talk you through the basics. It goes into the various operators that are available that so there's a lot of help here, but it's very much the Cici with examples of How do you use that coat? Say it. Shopify has gurus. So if you have a Shopify account or even a free trial, you can always call the Shopify number and you'll get on to a Shopify guru. Now Shopify gurus will try to help you with liquid. But it's not really whether, therefore, there really there to help people with the core functionality of shopping by. Once you get into editing, it really does step outside of their realm, and you really are, to a large extent on your own. But you are on your own, along with a lot of online. Helping a lot of the Shopify community is great. So reach out talking the community forums. Do the research first, ask the questions and really trial and error. And don't forget that the very beginnings of this course core basics backing up had to revert when your page doesn't work. If you're not confident, use include writing into snippets so that you know where the errors. You always remove the include statement. Or if you really don't want to be testing on a live site, then creating new template first, um, so that you're not playing with the template that most of your products, for example, using and then you can set up one product. That's your test product that you can test your adaptation on by using a specific template . Okay, so you think about all those things really does depend whether you're using a life site or a free trial site, I always suggest, even if you doing something that you if you're trying to write some code for a life site, you may be better getting a free trial account just to do the experimentation and then copy that code over into your life's like once you know that it works. Okay, now I hope you enjoyed the course. I hope it's giving you a good basic introduction and enough of a jumping off point to feel a bit more comfortable getting in there and editing those theme false hope that work for you. Thanks