All language subtitles for 011 HTML Templating_ Building the Templates_Downloadly.ir_en

af Afrikaans
sq Albanian
am Amharic
ar Arabic
hy Armenian
az Azerbaijani
eu Basque
be Belarusian
bn Bengali
bs Bosnian
bg Bulgarian
ca Catalan
ceb Cebuano
ny Chichewa
zh-CN Chinese (Simplified)
zh-TW Chinese (Traditional)
co Corsican
hr Croatian
cs Czech
da Danish
nl Dutch
en English
eo Esperanto
et Estonian
tl Filipino
fi Finnish
fr French
fy Frisian
gl Galician
ka Georgian
de German
el Greek
gu Gujarati
ht Haitian Creole
ha Hausa
haw Hawaiian
iw Hebrew
hi Hindi
hmn Hmong
hu Hungarian
is Icelandic
ig Igbo
id Indonesian
ga Irish
it Italian
ja Japanese
jw Javanese
kn Kannada
kk Kazakh
km Khmer
ko Korean
ku Kurdish (Kurmanji)
ky Kyrgyz
lo Lao
la Latin
lv Latvian
lt Lithuanian
lb Luxembourgish
mk Macedonian
mg Malagasy
ms Malay
ml Malayalam
mt Maltese
mi Maori
mr Marathi
mn Mongolian
my Myanmar (Burmese)
ne Nepali
no Norwegian
ps Pashto
fa Persian Download
pl Polish
pt Portuguese
pa Punjabi
ro Romanian
ru Russian
sm Samoan
gd Scots Gaelic
sr Serbian
st Sesotho
sn Shona
sd Sindhi
si Sinhala
sk Slovak
sl Slovenian
so Somali
es Spanish
su Sundanese
sw Swahili
sv Swedish
tg Tajik
ta Tamil
te Telugu
th Thai
tr Turkish
uk Ukrainian
ur Urdu
uz Uzbek
vi Vietnamese
cy Welsh
xh Xhosa
yi Yiddish
yo Yoruba
zu Zulu
or Odia (Oriya)
rw Kinyarwanda
tk Turkmen
tt Tatar
ug Uyghur
Would you like to inspect the original subtitles? These are the user uploaded subtitles that are being translated: 1 00:00:01,200 --> 00:00:03,310 Let's now do the first part 2 00:00:03,310 --> 00:00:06,860 of building the dynamic node farm website 3 00:00:06,860 --> 00:00:08,830 with just building the templates 4 00:00:08,830 --> 00:00:11,083 that will hold the actual data. 5 00:00:12,890 --> 00:00:15,590 And remember that our goal is to build this kind 6 00:00:15,590 --> 00:00:19,260 of dynamic website where we have an overview 7 00:00:19,260 --> 00:00:21,130 where we have all the products, 8 00:00:21,130 --> 00:00:24,060 and then each product has its detail page 9 00:00:24,060 --> 00:00:25,700 just like I showed you before. 10 00:00:25,700 --> 00:00:29,780 And this data here is of course read from the json file, 11 00:00:29,780 --> 00:00:32,659 so if we change the json file, for example, 12 00:00:32,659 --> 00:00:36,140 deleting one of these products then reloading this page, 13 00:00:36,140 --> 00:00:38,920 then that product should be gone from here. 14 00:00:38,920 --> 00:00:42,340 Or if we changed some of this data here or the name, 15 00:00:42,340 --> 00:00:45,600 well, then, that should update here on the site. 16 00:00:45,600 --> 00:00:47,940 Again because it's a dynamic website 17 00:00:47,940 --> 00:00:51,073 built from the data that's in the json file. 18 00:00:51,930 --> 00:00:52,830 So as I mentioned, 19 00:00:52,830 --> 00:00:55,540 the first step is to actually build these templates, 20 00:00:55,540 --> 00:00:57,930 one for this overview page, 21 00:00:57,930 --> 00:01:00,960 and one for the product detail page. 22 00:01:00,960 --> 00:01:03,773 And we're gonna start with the detail page, 23 00:01:04,989 --> 00:01:06,540 and I'm gonna build these templates 24 00:01:06,540 --> 00:01:09,250 based on these data web pages that we have here 25 00:01:09,250 --> 00:01:11,220 in the templates folder. 26 00:01:11,220 --> 00:01:12,850 So let's take a look at them. 27 00:01:12,850 --> 00:01:16,030 So we have overview and product, and again, 28 00:01:16,030 --> 00:01:19,610 we're gonna start with the product.html. 29 00:01:19,610 --> 00:01:22,950 So we have here the product name then this image here 30 00:01:22,950 --> 00:01:26,923 which is actually an emoji, but that doesn't really matter. 31 00:01:27,880 --> 00:01:30,210 So instead of having to request the real images 32 00:01:30,210 --> 00:01:33,000 for all of these different products, 33 00:01:33,000 --> 00:01:34,590 I chose to just go with emojis. 34 00:01:34,590 --> 00:01:36,210 That's much easier. 35 00:01:36,210 --> 00:01:37,860 The same actually for the style. 36 00:01:37,860 --> 00:01:42,040 So I have all the CSS style inlined into the html pages 37 00:01:42,040 --> 00:01:44,470 so that we don't have to make multiple requests 38 00:01:44,470 --> 00:01:47,500 to getting these different data, right? 39 00:01:47,500 --> 00:01:48,450 Because actually, 40 00:01:48,450 --> 00:01:53,144 each different file will trigger a different request, okay? 41 00:01:53,144 --> 00:01:55,860 Remember before where we had the request 42 00:01:55,860 --> 00:01:58,090 for the five icon, right? 43 00:01:58,090 --> 00:02:02,160 So we saw one request for the root, so for the main page, 44 00:02:02,160 --> 00:02:05,640 and then one request for that image, and what that means 45 00:02:05,640 --> 00:02:06,920 is that each asset, 46 00:02:06,920 --> 00:02:09,600 so each piece that is part of the website, 47 00:02:09,600 --> 00:02:10,669 will get its own request, 48 00:02:10,669 --> 00:02:13,540 and we will then have to handle that, 49 00:02:13,540 --> 00:02:14,970 and we don't want to do that, 50 00:02:14,970 --> 00:02:19,533 and so I simply inlined the style into these html pages. 51 00:02:20,560 --> 00:02:25,560 All right, so here's a bunch of style, style, style, 52 00:02:26,210 --> 00:02:29,073 and then here we have the, 53 00:02:29,980 --> 00:02:33,053 well, the name of the product somewhere. 54 00:02:33,053 --> 00:02:35,090 Oh yeah, here, so it's the name of the product. 55 00:02:35,090 --> 00:02:38,270 Here is the product image, which again is just an emoji, 56 00:02:38,270 --> 00:02:42,930 but it comes here from this image field. 57 00:02:42,930 --> 00:02:44,693 So we have this field called image. 58 00:02:46,740 --> 00:02:47,630 Right? 59 00:02:47,630 --> 00:02:51,780 Then we have where it comes from, some of the ingredients, 60 00:02:51,780 --> 00:02:56,257 and price, and also the description down here, okay? 61 00:02:56,257 --> 00:02:59,000 But again, all of this comes from these different fields. 62 00:02:59,000 --> 00:03:01,310 So let's take a look at the fields we have. 63 00:03:01,310 --> 00:03:06,037 So product name, image, from, nutrients, quantity, price, 64 00:03:07,280 --> 00:03:10,323 whether it's organic or not, and the description. 65 00:03:11,630 --> 00:03:14,890 So what we're gonna do now is to basically replace 66 00:03:14,890 --> 00:03:18,460 all of these pieces that we want to add dynamically 67 00:03:18,460 --> 00:03:21,260 with a placeholder, and we're then later 68 00:03:21,260 --> 00:03:24,320 with our code replace that placeholder 69 00:03:24,320 --> 00:03:27,750 with the real piece of data, okay? 70 00:03:27,750 --> 00:03:30,700 So let's start here with the product name, 71 00:03:30,700 --> 00:03:32,887 and so I'm gonna go ahead and delete that 72 00:03:32,887 --> 00:03:35,330 and then put a placeholder here. 73 00:03:35,330 --> 00:03:38,560 And I can do anything that I want for a placeholder. 74 00:03:38,560 --> 00:03:42,730 I just like to go in this case with something like this. 75 00:03:42,730 --> 00:03:43,563 So... 76 00:03:45,930 --> 00:03:50,930 Product name, and then percentage and then the curly braces. 77 00:03:51,050 --> 00:03:53,740 So again, this could be anything that we wanted, 78 00:03:53,740 --> 00:03:55,270 but we want to find something 79 00:03:55,270 --> 00:03:57,660 that is probably not on the page 80 00:03:57,660 --> 00:04:00,620 so that we don't replace anything wrong 81 00:04:00,620 --> 00:04:05,120 so anything that we actually don't want to replace, okay? 82 00:04:05,120 --> 00:04:08,570 And I could put something like this here, okay? 83 00:04:08,570 --> 00:04:12,260 And then replace all of that, but I think, like this, 84 00:04:12,260 --> 00:04:15,383 it looks nice, and it's easy to recognize. 85 00:04:16,459 --> 00:04:19,550 And so all we have to do is to go ahead and 86 00:04:21,290 --> 00:04:23,630 put this all over here, 87 00:04:23,630 --> 00:04:28,050 and I'm then going to replace, of course, these names. 88 00:04:28,050 --> 00:04:29,963 So here we have the nutrients. 89 00:04:32,750 --> 00:04:35,133 Here we have the quantity. 90 00:04:37,380 --> 00:04:39,293 And here I have the price. 91 00:04:41,450 --> 00:04:43,673 Down here we have the price again, you see. 92 00:04:45,410 --> 00:04:48,380 And the price is just the number, okay? 93 00:04:48,380 --> 00:04:51,280 The euro sign here just stays right there 94 00:04:51,280 --> 00:04:55,630 because the price that we have is actually just a number. 95 00:04:55,630 --> 00:04:59,470 Let's take a look at that right here in json. 96 00:04:59,470 --> 00:05:02,840 So we have just 6.50 but not the currency. 97 00:05:02,840 --> 00:05:07,240 And actually the same here, so let's grab that 98 00:05:07,240 --> 00:05:10,510 and copy it here very quick, and yeah, 99 00:05:10,510 --> 00:05:12,960 actually, I forgot to replace this one, 100 00:05:12,960 --> 00:05:14,763 so this is the from. 101 00:05:16,920 --> 00:05:21,440 And let's actually write out from, not in uppercase, 102 00:05:21,440 --> 00:05:23,850 so that this text makes a bit more sense. 103 00:05:23,850 --> 00:05:28,320 So for example, from Portugal or from Spain or whatever. 104 00:05:28,320 --> 00:05:29,643 Oh, what's that here? 105 00:05:30,970 --> 00:05:35,380 Okay, I guess I just wrote in the middle of product name. 106 00:05:35,380 --> 00:05:36,363 So nutrients. 107 00:05:39,861 --> 00:05:40,694 Okay. 108 00:05:40,694 --> 00:05:44,030 Oh, and down here we have, of course, the description, 109 00:05:44,030 --> 00:05:45,320 so let's replace that as well. 110 00:05:45,320 --> 00:05:49,020 Oh, of course I need to get this one back 111 00:05:49,980 --> 00:05:50,820 and 112 00:05:51,850 --> 00:05:53,573 so description. 113 00:05:55,210 --> 00:05:58,963 Next up we have these images, so the avocado, 114 00:06:00,070 --> 00:06:03,050 and so I'm hitting a couple of command V's, 115 00:06:03,050 --> 00:06:07,060 pasting this here, and so I can edit these here 116 00:06:07,060 --> 00:06:08,363 all at the same time. 117 00:06:11,660 --> 00:06:16,660 Okay, then image and, oh, something here in the title. 118 00:06:16,680 --> 00:06:20,500 We also want to replace the image up here 119 00:06:20,500 --> 00:06:22,083 and the product name also. 120 00:06:23,030 --> 00:06:23,963 So. 121 00:06:27,510 --> 00:06:28,650 Product name here 122 00:06:29,930 --> 00:06:31,640 and here the image 123 00:06:31,640 --> 00:06:36,640 so that this one as well will get replaced dynamically. 124 00:06:36,840 --> 00:06:39,550 All right, now just one more thing 125 00:06:40,890 --> 00:06:42,563 which is a bit more complex. 126 00:06:43,870 --> 00:06:44,980 Where is it? 127 00:06:44,980 --> 00:06:46,290 All right, it's here. 128 00:06:46,290 --> 00:06:49,860 So some products are organic, and some are not. 129 00:06:49,860 --> 00:06:53,210 And so there is a class in the CSS that will get added 130 00:06:53,210 --> 00:06:58,200 to all of these elements when they are not organic, okay? 131 00:06:58,200 --> 00:07:00,430 So that is this class here. 132 00:07:00,430 --> 00:07:03,680 So when it's not organic, then it should not be displayed, 133 00:07:03,680 --> 00:07:05,383 so this organic badge here. 134 00:07:06,460 --> 00:07:08,930 And just to show you what I'm talking about, 135 00:07:08,930 --> 00:07:12,790 the organic badge is this thing here, okay? 136 00:07:12,790 --> 00:07:14,830 So we do not want to display that 137 00:07:14,830 --> 00:07:19,530 in case it is false in the json, so what we're gonna do here 138 00:07:19,530 --> 00:07:22,660 is to actually add another placeholder here 139 00:07:22,660 --> 00:07:25,433 or actually inside of the class, 140 00:07:26,360 --> 00:07:29,410 and so I'm gonna call this one not 141 00:07:30,370 --> 00:07:31,203 organic. 142 00:07:32,340 --> 00:07:34,280 And you will see why a bit later, okay? 143 00:07:34,280 --> 00:07:38,650 When we replace this, it will make a bit more sense to you. 144 00:07:38,650 --> 00:07:41,890 All right, so I think this one is done, 145 00:07:41,890 --> 00:07:45,313 and I simply overwrote everything that we had. 146 00:07:46,260 --> 00:07:48,180 So let me now just call this template 147 00:07:50,690 --> 00:07:53,110 product, okay? 148 00:07:53,110 --> 00:07:54,360 So this one is done. 149 00:07:54,360 --> 00:07:57,850 Let's move on to the next one, the overview. 150 00:07:57,850 --> 00:08:01,040 And this one is actually gonna be a bit different, 151 00:08:01,040 --> 00:08:03,053 and let me show you why that is. 152 00:08:04,030 --> 00:08:07,690 So again, we have all the SCC inlined here, 153 00:08:07,690 --> 00:08:10,510 and now we have this cards container, 154 00:08:10,510 --> 00:08:14,640 and then for each of the products, we have one card. 155 00:08:14,640 --> 00:08:19,373 So each of these cards here has this figure tag, right? 156 00:08:20,640 --> 00:08:23,050 Now we actually do not know how many 157 00:08:23,050 --> 00:08:27,280 of these cards will be here in this overview, right? 158 00:08:27,280 --> 00:08:30,200 Imagine we have 10 products in the json. 159 00:08:30,200 --> 00:08:32,659 Then we need 10 of these cards. 160 00:08:32,659 --> 00:08:34,919 But imagine that we only have one or two. 161 00:08:34,919 --> 00:08:39,340 Well then, we do not want all the 10 cards but only two. 162 00:08:39,340 --> 00:08:42,190 So how are we gonna do that? 163 00:08:42,190 --> 00:08:46,350 Well, we will actually create just another template 164 00:08:46,350 --> 00:08:49,180 where there's only one card in there, 165 00:08:49,180 --> 00:08:51,730 and we will then include one of these templates 166 00:08:51,730 --> 00:08:54,230 for each of the cards that we want, 167 00:08:54,230 --> 00:08:57,520 so each of the products in the json file. 168 00:08:57,520 --> 00:08:59,605 All right, make sense? 169 00:08:59,605 --> 00:09:02,693 So let's call this here the template overview. 170 00:09:06,480 --> 00:09:09,313 And I'm gonna go ahead and create the template card. 171 00:09:14,220 --> 00:09:18,690 So what I'm gonna do here is to now, as I mentioned, 172 00:09:18,690 --> 00:09:19,973 now it's back at the top, 173 00:09:21,400 --> 00:09:24,023 so I'm go ahead and grab one figure. 174 00:09:24,950 --> 00:09:26,153 That was too much. 175 00:09:27,290 --> 00:09:29,623 And paste it here. 176 00:09:31,120 --> 00:09:32,823 So bring this down a little bit. 177 00:09:35,450 --> 00:09:39,493 Okay, so each card now gets its own figure. 178 00:09:41,190 --> 00:09:44,280 Okay, and so now what I'm gonna do 179 00:09:44,280 --> 00:09:47,380 is to delete all of the cards from here 180 00:09:50,610 --> 00:09:53,283 and create a placeholder here as well. 181 00:09:57,320 --> 00:09:58,200 Product 182 00:10:00,270 --> 00:10:01,360 cards. 183 00:10:01,360 --> 00:10:02,430 Okay? 184 00:10:02,430 --> 00:10:04,970 So again, later on in our code, 185 00:10:04,970 --> 00:10:08,830 we will then create as many cards as we need here. 186 00:10:08,830 --> 00:10:10,890 For example, if we have five products, 187 00:10:10,890 --> 00:10:13,660 we create five cards like this. 188 00:10:13,660 --> 00:10:16,780 We will then put them together into one string 189 00:10:16,780 --> 00:10:20,090 and then replace product cards with that string 190 00:10:20,090 --> 00:10:24,320 which contains all of these different cards, all right? 191 00:10:24,320 --> 00:10:27,563 So actually, we are done with this one. 192 00:10:28,870 --> 00:10:29,703 Okay? 193 00:10:29,703 --> 00:10:31,440 Because most of the stuff happens 194 00:10:31,440 --> 00:10:34,780 inside of the template card. 195 00:10:34,780 --> 00:10:36,910 So nothing else to replace here. 196 00:10:36,910 --> 00:10:40,113 I'm just coming down here to copy this here, 197 00:10:41,780 --> 00:10:44,730 and now it's very simple for us 198 00:10:44,730 --> 00:10:48,190 to replace what we need here. 199 00:10:48,190 --> 00:10:52,373 So this here is the image, and we actually have it twice. 200 00:10:54,860 --> 00:10:56,893 Okay, that makes it look a bit nicer. 201 00:10:58,270 --> 00:11:03,227 Image, image, then here we have the product name, remember? 202 00:11:07,080 --> 00:11:07,990 Here in this place, 203 00:11:07,990 --> 00:11:12,670 we will have again the not organic placeholder, 204 00:11:12,670 --> 00:11:15,943 and again, this one will make more sense to you a bit later. 205 00:11:17,470 --> 00:11:21,143 More organic, then the quantity here. 206 00:11:25,540 --> 00:11:27,163 Then the price. 207 00:11:30,210 --> 00:11:34,070 So we need to also actually build the link here. 208 00:11:34,070 --> 00:11:36,290 So this one here, so the A element, 209 00:11:36,290 --> 00:11:39,460 in case you're not really familiar with html, 210 00:11:39,460 --> 00:11:42,093 the A element is for a link. 211 00:11:43,030 --> 00:11:47,073 So let me actually show it to you in a real working example. 212 00:11:48,810 --> 00:11:52,040 So when we hover here on this link, 213 00:11:52,040 --> 00:11:54,830 down there in the left bottom corner, 214 00:11:54,830 --> 00:11:59,000 so down here, you will see that it is slash product 215 00:11:59,000 --> 00:12:01,770 and then ID equals to zero. 216 00:12:01,770 --> 00:12:06,760 And this one is ID equals to one, ID equals two. 217 00:12:06,760 --> 00:12:09,480 Okay, and if we click on that, we see it actually here. 218 00:12:09,480 --> 00:12:13,440 So slash product and then ID equals to zero, 219 00:12:13,440 --> 00:12:18,440 and this ID here is exactly the ID that we have in the json. 220 00:12:19,970 --> 00:12:22,085 Okay, so this one here. 221 00:12:22,085 --> 00:12:25,900 So the avocado is one, the goat cheese has one. 222 00:12:25,900 --> 00:12:28,083 Sorry, the avocado has zero, of course. 223 00:12:29,110 --> 00:12:33,380 The broccoli has two and so on and so forth. 224 00:12:33,380 --> 00:12:36,463 And so here actually we need to build the link. 225 00:12:38,420 --> 00:12:42,113 So product, and of course, not in uppercase. 226 00:12:43,060 --> 00:12:46,370 So product, and the ID is 227 00:12:49,920 --> 00:12:51,360 ID. 228 00:12:51,360 --> 00:12:52,280 Okay? 229 00:12:52,280 --> 00:12:56,850 So then we have to replace this ID placeholder here 230 00:12:56,850 --> 00:12:58,250 with the correct number. 231 00:12:58,250 --> 00:13:02,430 So zero, one, two, three, four, five, and so on and so forth 232 00:13:02,430 --> 00:13:04,930 depending on how many products there are. 233 00:13:04,930 --> 00:13:09,510 So suppose that we have a cheese here, okay? 234 00:13:09,510 --> 00:13:11,050 Let's go back here. 235 00:13:11,050 --> 00:13:14,440 Well, then the image will be this here, 236 00:13:14,440 --> 00:13:18,463 the product name will be this, and the ID will be one. 237 00:13:19,400 --> 00:13:21,480 Okay, and so this here will then translate 238 00:13:21,480 --> 00:13:26,113 to ID equals to one and our handler here. 239 00:13:27,230 --> 00:13:30,950 So this server handler here will then take care 240 00:13:30,950 --> 00:13:35,950 of going to the right page when the product ID is one, okay? 241 00:13:36,060 --> 00:13:39,220 So that logic is not yet implemented, but of course, 242 00:13:39,220 --> 00:13:42,103 we're gonna do that in the next couple of lectures. 243 00:13:43,010 --> 00:13:47,456 So we have now the templates actually built, 244 00:13:47,456 --> 00:13:50,940 and so let's move on to the next video 245 00:13:50,940 --> 00:13:54,440 where we will actually start to fill out the templates 246 00:13:54,440 --> 00:13:57,073 and send back the final page to the browser. 19267

Can't find what you're looking for?
Get subtitles in any language from opensubtitles.com, and translate them here.