Node Js: Construa seu site de comércio eletrônico parte 2 | Hadi Youness | Skillshare

Velocidade de reprodução


1.0x


  • 0.5x
  • 0.75x
  • 1x (Normal)
  • 1.25x
  • 1.5x
  • 1.75x
  • 2x

Node Js: Construa seu site de comércio eletrônico parte 2

teacher avatar Hadi Youness, Computer Engineer

Assista a este curso e milhares de outros

Tenha acesso ilimitado a todos os cursos
Oferecidos por líderes do setor e profissionais do mercado
Os temas incluem ilustração, design, fotografia e muito mais

Assista a este curso e milhares de outros

Tenha acesso ilimitado a todos os cursos
Oferecidos por líderes do setor e profissionais do mercado
Os temas incluem ilustração, design, fotografia e muito mais

Aulas neste curso

    • 1.

      Apresentação

      3:44

    • 2.

      Bancos de dados

      14:58

    • 3.

      Bancos de dados

      11:54

    • 4.

      Criar rota

      13:12

    • 5.

      Contato e sobre

      14:59

    • 6.

      Marcas e categorias

      15:01

    • 7.

      Marcas e categorias

      10:11

    • 8.

      Produtos

      14:59

    • 9.

      Marcas de casa

      14:54

    • 10.

      Melhor vendedor

      12:12

    • 11.

      Página do produto

      14:48

    • 12.

      Carrinho

      15:01

    • 13.

      Como entrar

      14:31

    • 14.

      Envio

      15:01

    • 15.

      Ordem

      11:39

    • 16.

      Projeto

      3:47

  • --
  • Nível iniciante
  • Nível intermediário
  • Nível avançado
  • Todos os níveis

Gerado pela comunidade

O nível é determinado pela opinião da maioria dos estudantes que avaliaram este curso. Mostramos a recomendação do professor até que sejam coletadas as respostas de pelo menos 5 estudantes.

165

Estudantes

1

Projetos

Sobre este curso

Olá e seja bem-vindo à segunda parte de construir um site de comércio eletrônico.

Nesta parte, vamos cobrir todo o backend deste projeto.

Nós vamos aprender:

1-Rota e alternar entre páginas diferentes que temos

2-Connect ao banco de dados mongoDB

3 push e puxar do banco de dados

4 Exibe os dados que recebemos do banco de dados na tela.

Autenticação de usuário 5-Add criando um login e páginas de inscrição.

6-Trabalhe com bancos de dados diferentes de uma só vez e aprenda como gerenciar e conectar entre eles.

Estes são algumas legendas gerais ou tópicos que vamos cobrir, é claro que há muito mais ao longo do caminho. Espero que no final deste curso você possa implementar o backend do site que você quiser.

Espero que você goste deste curso e se tiver alguma dúvida, por favor me faça e eu vou voltar para você o mais rápido possível.

Conheça seu professor

Teacher Profile Image

Hadi Youness

Computer Engineer

Professor

Hello, I'm Hadi. I am studying Computer Engineering at the Lebanese American University (LAU). I like to share my knowledge with everybody and I believe that teaching is a perfect way to understand anything since you must be well informed about something to be able to teach it in the simplest possible ways!

Visualizar o perfil completo

Level: Intermediate

Nota do curso

As expectativas foram atingidas?
    Superou!
  • 0%
  • Sim
  • 0%
  • Um pouco
  • 0%
  • Não
  • 0%

Por que fazer parte da Skillshare?

Faça cursos premiados Skillshare Original

Cada curso possui aulas curtas e projetos práticos

Sua assinatura apoia os professores da Skillshare

Aprenda em qualquer lugar

Faça cursos em qualquer lugar com o aplicativo da Skillshare. Assista no avião, no metrô ou em qualquer lugar que funcione melhor para você, por streaming ou download.

Transcrições

1. Introdução: Olá e bem-vindo a uma nova turma. Neste, vamos implementar o back-end do nosso projeto, que é criar um site de comércio eletrônico. Como podemos ver aqui, temos nossas páginas de front-end que criamos anteriormente na aula anterior. Se você ainda não viu isso, eu o encorajo a fazer isso. No entanto, se você já conhece os conceitos básicos de CMLCSS e bootstrap, você sempre pode continuar com este curso para aprender o back-end e como podemos trabalhar com coisas como ir de uma página para outra, obter dados do banco de dados e assim por diante Então, vamos discutir todos esses tópicos. Vamos aprender sobre APRs restful, como podemos acessar e publicar nas funções que temos Agora eu vou te dar um tour neste projeto. Por exemplo, aqui temos a página inicial. Como podemos ver, temos as marcas, os mais vendidos e as categorias Por exemplo, se eu for até as marcas, obterei todas as marcas que estão disponíveis para nós no momento, por exemplo, temos Johnson, pressionarei Explorar, serei redirecionado para a página do produto, onde terei todos os produtos da Johnson como Baby Johnson, da Johnson e assim por diante, junto com a categoria de marca de preço e tamanho. Obviamente, se eu pressionar esse item específico, serei redirecionado para o Baby Johnson ou para a página do produto, onde posso ver o bebê Johnson Aqui temos a imagem, no entanto, ela não está sendo exibida no momento porque não está totalmente carregada. Claro, teremos preço, o tamanho da marca, a quantidade. Vamos supor que eu tenha cinco peças. Se eu adicionar ao meu cartão, serei redirecionado para a página de login Nesse caso, preciso colocar meu exemplo, por exemplo, nesse caso, eu criei isso. Obviamente, se eu pressionar o sinal, agora posso comprar ou adicionar esse item ao cartão. Como podemos ver, depois de adicioná-lo, teremos este aqui indicando que tenho um item no meu cartão e, claro, saio aqui em vez de assinar porque já estamos conectados. Agora, se eu for até o meu cartão, posso ver o item aqui. Eu também posso removê-lo. Obviamente, precisarei adicionar o endereço e a forma de pagamento. Então, é claro, se eu tiver um item, também posso fazer o pedido. Deixe-me voltar à marca, por exemplo. Vamos rolar até Johnson e escolher qualquer um deles. Claro, vou escolher a quantidade que é uma. Vou adicioná-lo ao meu carro, tudo parece bom. Agora eu o tenho aqui no meu pedido. Obviamente, se eu fizer o pedido, serei redirecionado para esta página onde verei minhas compras Então, eu tenho uma compra há três dias, e eu tenho uma compra agora, e ambas estão pendentes. Então, vamos examinar todas as páginas uma por uma e atualizar cada uma delas até ter esse projeto completo. Espero que você tenha gostado dessa aula e, dito isso, vamos começar a primeira tarefa. 2. Bancos de dados 1: Olá e bem-vindo de volta. Nesta parte, como dissemos, vamos lidar com o back-end do nosso site. Já construímos todo o front-end. Construímos a página de contato da categoria de marca doméstica, e esta é a nossa página inicial. Como podemos ver, temos as fotos, temos as marcas, os mais vendidos e, em seguida, as categorias E também temos esse, que é o pedido do local, e vamos colocá-lo no arquivo do pedido de local posteriormente. Finalmente, temos o rodapé e ele se parece com isso. Agora, vamos voltar ao nosso código e começar com o back-end. Então, a primeira coisa que vamos fazer é exigir novo módulo que nos ajudará no Mongo a criar o banco de dados de que precisamos A primeira coisa que vamos exigir é definir ou criar e isso será exigido pelo Mongo, como dissemos, Mongo find or create, e tudo bem Só precisamos importá-lo ou instalá-lo usando o NPM. Aqui, vamos voltar e o NPM encontrar ou criar. Precisamos digitar Mongo logo antes. Então, crie um fundo ou crie e espere um pouco até que ele seja instalado Enquanto isso, podemos voltar e continuar com nosso código Essa é a primeira coisa que vamos fazer e agora precisamos conectar e configurar o Mongoose Vamos fazer isso aqui mesmo, entre esses dois. Para conectar o Mongoose, simplesmente escrevemos mongoose para conectar e vamos escolher onde vamos Já que vamos armazená-lo localmente na bússola Mongo dV E vamos digitar Mongo DB local host 27017, seguido pelo nome do nosso banco de Já que vamos criar talvez esse site comercial. Talvez seja melhor chamá-lo banco de dados comercial e seguido por DB. Depois disso, usaremos um novo passador de URL e o definiremos como verdadeiro Isso é principalmente para a conexão e, mais tarde, veremos como podemos visualizar o banco Precisaremos instalar a bússola Mongo DB, e eu vou fazer isso no próximo vídeo Mas, por enquanto, vamos apenas conectá-la e definir M. Como usamos a conexão, precisaremos configurá-la e também precisaremos usar find and modify Okay. Até então, também definiremos o índice use create como verdadeiro. Vamos criar esse índice e falaremos sobre isso nos próximos vídeos. Mas, por enquanto, vamos configurá-lo para que o Mongo finalmente encontre e modifique como falso Sempre que chamamos find, não precisamos modificar nosso trabalho. É isso principalmente. É assim que podemos conectar, configurar o mongoose e criar nosso Agora, vamos pensar nisso por um segundo. Quais bancos de dados realmente precisamos. Em primeiro lugar, estamos falando de marcas e categorias Faz sentido ter bancos de dados para marcas e categorias. Também temos os itens individuais e precisaremos um banco de dados especificado para os itens individuais. Depois, também temos os e-mails que vamos extrair daqui Depois que o usuário pressionar CU, pegaremos esse e-mail e o adicionaremos ao Obviamente, precisaremos um banco de dados especificado para usuários. Cada usuário. Cada vez que um usuário se cadastra, pegamos todas as informações dele e as armazenamos em um banco de dados específico. Também precisamos do banco de dados dos mais vendidos. Isso é para os itens mais vendidos. Como podemos ver aqui, temos três itens por enquanto, mas talvez possamos ter mais depois, faz sentido ter um banco de dados especificado para esse tipo de coisa. OK. Então é isso principalmente. Vamos começar codificando os bancos de dados, criando-os e talvez adicionando alguns elementos ou itens a eles. A primeira coisa que vamos fazer é criar o esquema da marca É assim que criamos um banco de dados. Dê um nome. Vamos chamá-lo de esquema de marca, e vamos criar use mango, esquema Mongoose, abriremos as chaves curvas e precisaremos principalmente e precisaremos A primeira é a marca da qual estamos falando. Talvez vamos adicionar as categorias dessa marca especificada. Por exemplo, se tivermos uma marca específica, como a Johnson, precisaremos de quais categorias a Johnson vende. Por exemplo, temos o xampu, a loção corporal e etc Portanto, faz sentido ter uma sequência de uma matriz de cadeias de caracteres que contenha todas as categorias que essa marca contém. Temos o nome da marca e isso será uma string. Também temos as categorias dessa marca, e essa será uma variedade de cordas Talvez vamos adicionar uma imagem. Isso também será uma string para mais tarde. Esse é o primeiro, crie o segundo que é o esquema da categoria Esquema de categoria igual ao novo esquema Mongoose. Vamos abri-lo como antes. A categoria será uma string. Agora, como você pode observar aqui, se tivermos uma categoria específica, como xampu, precisaremos ter uma lista de todas as marcas que vendem xampu Por exemplo, temos Johnson, temos Sons e assim por diante. Essa é a categoria que é o nome, que será uma string. Também temos as marcas aqui, e isso também será uma variedade de cordas Então temos a imagem. Agora vamos passar para o esquema de e-mail, que será um simples e-mail. Há uma string, então novo esquema do Mongoose a abre E então temos o e-mail que é uma string, como dissemos. Vamos passar para o esquema do item e vamos criá-lo aqui Temos o esquema de itens sobre pistas nele, e vamos ver. A primeira coisa que vamos adicionar é o título ou o nome desse item, e será uma string. Também temos a descrição que vamos adicionar, que também será uma string, e temos o URL da imagem. Corda. Basicamente, tudo isso é picante. A marca também será uma string, a categoria, e vamos adicionar um preço, quantidade e tamanho. O tamanho será uma sequência e o preço e a quantidade serão números. Aqui temos o preço, e esse será o número, finalmente temos a quantidade que também será um número. Isso é basicamente para o esquema do item. Vamos passar para o esquema do usuário, então ainda temos dois esquemas para criar o usuário e o best-seller Continuando, esquema de usuário constante igual ao esquema normal. Vamos entrar nisso. Temos o e-mail do usuário, a senha. E talvez possamos adicionar o ID do Google se o usuário login usando sua conta do Google. Nós temos o número. Então esse é o número de telefone. Temos o nome e também temos os pedidos e o endereço. Dentro dos pedidos, talvez seja uma matriz. Dentro desse pedido, vamos adicionar algumas coisas. Vamos ver. Temos o pedido, temos a data de finalização da compra E talvez vamos adicionar algo chamado recebido para especificar se o usuário recebeu esse pedido ou não, e adicionaremos os itens que essa pessoa pediu Precisaremos da imagem, do preço do título, da quantidade e do tamanho desses itens. Também temos o total e data em que o usuário fez o pedido. Primeiro, o This recebido será principalmente, mas antes, vamos apenas adicioná-lo como um objeto. Esse é o primeiro objeto. E dentro do qual vamos adicionar o recebido, ele será banido e o padrão será falso. Agora, também temos o checkout, que também é do tipo e o padrão será falso Então é isso para o checkout. Vamos passar para os itens. Como dissemos, os itens serão uma variedade de itens. Assim, o usuário pode pedir mais de um item dentro de um único pedido. Então, dentro dos itens, vamos adicionar a imagem, será o título, que também será um preço em sequência, que é um número. A quantidade que o usuário solicitou e também será um número e, finalmente, o tamanho, que deve ser uma string. Isso é basicamente para os itens. E, como podemos ver, precisamos apenas adicionar o total, que será uma string, e a data em que o usuário solicitou, que também será uma string. Isso é principalmente para os pedidos. Agora vamos para o endereço. Então, terminamos aqui. Vamos adicionar a vírgula e criar o endereço, que basicamente conterá apenas três componentes, o endereço como uma string, a cidade em que o usuário mora e o número de telefone. O endereço será algo assim, string city strength e, finalmente, o número de telefone, que será um número. É isso principalmente. Isso é o que vamos fazer. Esse é o nosso esquema de usuário. Só precisamos adicionar o esquema mais vendido. Para fazer isso, adicionaremos um esquema de best-seller constante igual ao esquema b, como de costume. Vamos abri-lo. Do item talvez vamos adicionar a referência desse item, então será um item, e então teremos adicionar o nome desse item, que é uma string, e a imagem mostrada também será uma string E é isso principalmente. Vou apenas adicionar o tipo que vamos extrair do esquema, os tipos e o ID do objeto Vou explicar isso mais tarde, mas, por enquanto, vamos nos ater a esse esquema Esses são principalmente nossos esquemas. Agora só precisamos criar o modelo e depois visualizá-lo dentro de nossa bússola Mongo. Para fazer isso, vamos baixar a bússola Mongo B Assim que for baixado, basta abri-lo e nos vemos no próximo vídeo. OK. 3. Databases 2: Agora que terminamos com o esquema, podemos criar o modelo Vamos começar criando talvez o modelo da marca ou o modelo do item. Então, vamos começar e é bem simples. Só precisamos cronometrar o item constante. Esse é o nome do item, modelo Mongo, e vamos modelar o item como o esquema de item que acabamos de criar anteriormente E vamos fazer a mesma coisa todos os outros. Nós temos o e-mail. Portanto, o e-mail será modelado como o esquema de e-mail. Claro, eu não vou escrever todos eles. Vou copiá-lo mais algumas vezes e adicionar o resto. Então, aqui temos o best-seller. E então ele é modelado como mais vendido aqui e como o esquema mais vendido Depois, também temos os três restantes para traçar a marca, e ela será modelada como uma marca normal e um esquema de marca aqui Temos o esquema do usuário. É modelado como usuário e a constante seria chamada de usuário. Finalmente, temos a categoria de categoria, e ela será modelada como a categoria Basicamente, é isso. Vamos verificar talvez se eu perdi alguma coisa. Temos os mais vendidos, então temos seis, um, dois, três, quatro, cinco e seis Por enquanto, criamos os bancos de dados para nossos itens, categorias, marcas e assim por diante. Agora, já que terminamos com isso, vamos talvez adicionar alguns desses itens, algumas dessas marcas ou categorias aos bancos de dados. Para fazer isso, é bem simples. Podemos ir até aqui e começar criando talvez marcas. Eu o chamo de B um, deve ser igual a vamos começar com o best-seller, por exemplo, best-seller, abra-o, já que dissemos aqui que o best-seller conterá principalmente o nome e a imagem. Então, vamos continuar com isso. Então, talvez tenhamos Johnson e a imagem será adicionaremos o P. Por enquanto, vou adicionar aqui uma pasta de arquivos chamada imagens dentro desta pasta, vamos adicionar algumas imagens. Mas, por enquanto, vamos chamá-lo Johnson PG e estamos bem. Esse é o primeiro. Vamos criar outro, dois iguais ao best-seller Como de costume, precisaremos do nome, talvez ligue para oito, e a imagem será, como sempre, o caminho da imagem. E, como podemos ver, é uma corda. Como dissemos, temos três best-sellers. O último será do nome, talvez o cervo. Vamos abri-lo. Nome oder Finalmente, a imagem conterá o caminho exato desta imagem e estará na pasta de imagens, oder GPG. Isso é tudo principalmente para os mais vendidos Vamos passar para os próximos bancos de dados. Vamos adicionar quatro categorias de marcas e , em seguida, adicionar todas elas aos bancos de dados reais. O que estamos fazendo aqui é apenas criar algumas constantes. Essa é a constante B um, indicando o best-seller, o primeiro best-seller, e temos o nome disso e a imagem a seguir. E também temos o best-seller número dois e três. Mas nós realmente não os adicionamos ao banco de dados, e faremos isso mais tarde, quando terminarmos as marcas e categorias. Para criar as marcas, vamos chamá-la de marca 1, e talvez seja Johnson, já que falamos primeiro sobre Johnson. Aqui vamos nós. Johnson. Como dissemos, precisamos sair das categorias que Johnson tem. Vamos subir e subir, talvez Shampoo, talvez Pica, e talvez, como fizemos antes, a imagem seja a imagem exata que usamos anteriormente. Isso está definido para a primeira marca, vamos copiá-lo e colá-lo aqui embaixo. E vamos criar mais duas marcas. Então essa é a marca dois e, finalmente, a marca três. Então, mude-os um pouco. Aqui temos talvez oito. Digamos que talvez apenas a categoria seja apenas dentes. Então a imagem será dentes DGG. Vamos adicioná-los mais tarde. Finalmente, vamos passar para o último. Isso será básico, talvez as categorias sejam apenas bodica. Vamos continuar com A imagem será BodyPG finalizamos os mais vendidos e Vamos adicionar algumas categorias. A categoria um será uma nova categoria. Abra e comece aqui mesmo. O nome da categoria talvez seja Johnson, Johnson que temos. Johnson e talvez vamos fazer, por exemplo. E, finalmente, temos a imagem, que estaria na pasta de imagens. E, como dissemos, já que estamos usando xampu, faz sentido adicionar uma foto de Johnson de um xampu como imagem principal. Nós vamos. Essa é a primeira categoria. Vamos adicionar mais dois Ok. E é isso. O segundo será um cuidado corporal, já que falamos sobre isso anteriormente. Dentro dos cuidados com o corpo, talvez tenhamos apenas Vasilin e vamos embora Finalmente, para mudar isso. Talvez apenas digite. Talvez vamos mantê-lo como está por enquanto, vamos mudá-lo mais tarde. Isso é tudo para as categorias. Vamos adicionar mais uma coisa aqui. Em vez de xampu, vamos torná-lo o Inside TV que só temos, talvez revestido como marca É isso principalmente. É assim que podemos criar as constantes que vamos usar ou adicionar ao banco Obviamente, esse não é o único método. Na verdade, existe um método mais simples que você pode simplesmente adicionar todos eles de uma vez ou talvez adicioná-los usando a bússola, e discutiremos isso mais tarde no próximo vídeo Mas, por enquanto, vamos adicioná-los manualmente apenas para ter uma ideia como podemos criá-los ou como podemos adicioná-los ao banco de dados usando código. Então é isso. Basicamente, vamos adicioná-los agora mesmo. Então, falamos sobre o esquema de categorias e criamos o modelo chamado categoria E para inserir nessa categoria, basta digitar categoria dot insert many se quisermos inserir várias categorias ao mesmo tempo. Então, abrimos a matriz um, dois e a categoria três. Então é isso principalmente. Só precisamos verificar se há possíveis erros para que seja bastante simples se um erro ocorrer apenas impresso no console, caso contrário, basta imprimir todas as categorias que acabamos de Portanto, temos a categoria um, a categoria dois e a categoria três. Isso é tudo para as categorias. Vamos copiá-lo e colá-lo para marcas e talvez para os mais vendidos posteriormente Por enquanto, vamos trabalhar com marcas. Marca que insere muitas, temos a marca um, marca dois e a marca três. Vamos lá, marca dois. Também verificaremos possíveis erros e, caso contrário, simplesmente imprimiremos as três marcas que acabamos de adicionar. Marca dois e marca três. É isso, principalmente, ainda temos os mais vendidos, mas acho que temos a ideia de como criá-los e inseri-los. OK. Então, neste vídeo, no próximo vídeo, discutiremos como podemos trabalhar com a bússola MongoDB, como podemos visualizar os dados que acabamos de adicionar e como também podemos editar, modificar ou até mesmo adicionar novos itens ou novos bancos Então, isso é tudo para este vídeo com isso dito, até o próximo. 4. Crie o rota: Olá e bem-vindo de volta. Neste vídeo, aprenderemos como podemos vincular as páginas da web. Por exemplo, aqui estamos na página inicial. Talvez queiramos ir para a página de categoria de marca sobre conduta. Por enquanto, eles não funcionam. Vamos criar os formulários para essas páginas. Obviamente, se quisermos ver esse produto específico, se eu pressionar os detalhes C, quero acessar os detalhes C ou os detalhes desse item específico. Nós vamos fazer isso também. Mas, por enquanto, vamos começar com a página da web, a página inicial, essa. Então, vamos ao nosso código de estudo visual. E aqui dissemos que sempre que tivermos essa, a barra será renderizada para casa Mas vamos ter em mente. Vamos voltar aqui e ver. Dentro de nossa casa, precisamos de algumas coisas do banco de dados Monge ou do banco de dados que temos A primeira são as categorias que temos, por exemplo, aqui. Quando mostramos as categorias, precisamos tê-las aqui, e então podemos listá-las assim em um carro. Mas, por enquanto, precisamos deles, então precisamos obtê-los sempre que voltarmos para casa. Também precisamos dos mais vendidos. Lembre-se de que criamos um best-seller aqui. Criamos o esquema mais vendido e adicionamos algumas coisas a ele Essas são as duas coisas principais e, claro, também precisamos das marcas. Como dissemos, é o mesmo que as categorias, também precisamos disso. Vamos começar com isso. Vamos voltar ao G slash neste caso, o que vou fazer é pesquisar todas as marcas que temos no esquema de marcas ou no banco de dados de marcas, e vamos pesquisar tudo, então deixamos essa em branco E nós vamos obter a função. Portanto, temos o erro e a marca desencontrada. Em caso de erro, não faça nada. Se não houver erro, vamos pesquisar os mais vendidos e depois as categorias. Mais vendido. Sem descoberta, encontraremos todos os itens mais vendidos que temos Como sempre, temos a função que contém o erro e o melhor encontrado. Então vamos abrir. Se não tivermos nenhum erro nesse caso, vamos simplesmente pesquisar o último, ou seja, as categorias. Encontre e funcione por categorias com categorias reencontradas. Agora podemos renderizar em casa a renderização RESG em casa com os seguintes itens ou os seguintes componentes Temos as categorias de nomes duplos. E isso conterá categorias definitivas que encontramos anteriormente Também temos o pedido. Não vamos esquecer isso. Vamos passar para as marcas, e isso conterá a marca encontrada e a melhor que conterá a melhor encontrada. É isso principalmente. Renderizamos a página inicial com as melhores marcas a seguir e toda a solicitação que recebemos daqui Esse é o primeiro. Vamos passar para o segundo. Claro, antes, deixe-me falar sobre o que podemos fazer com isso aqui. Então, sempre que formos à página inicial, teremos as marcas, os mais vendidos e as categorias conosco E se formos direto para casa, podemos mudar isso. O que estamos fazendo aqui é mostrar apenas uma imagem, que mostrar apenas uma imagem, é a imagem dois e o título, que é minha legenda intitulada primeira imagem e a legenda inteira Então, eles são estáticos. Podemos mudá-los e fazê-los mudar, por exemplo, aqui, estamos mostrando as marcas. Podemos obter todas as marcas que obtivemos dessa lista e podemos acessá-las aqui usando o Javascript embutido no SML aqui, e podemos mostrá-las aqui na página inicial E também podemos fazer isso para os mais vendidos e para as marcas e categorias, desculpe Então é isso. É isso que pretendemos fazer, mas, por enquanto, vamos simplificar Vamos voltar ao aplicativo para JS e, em seguida, finalizar com todos os requisitos, e também podemos vinculá-los aqui e alterar os títulos das legendas e assim por diante Vamos continuar. Vamos voltar aqui e ver. Como podemos ver aqui, temos a opção de ficar conectados. Desta vez, fique conectado onde o usuário insere seu endereço de e-mail para receber ofertas exclusivas. Nesse caso, vamos pegar isso e adicioná-lo ao nosso banco de dados. Como podemos fazer isso? Vamos voltar e começar. Esta é uma postagem. Então, vamos receber uma postagem. Publicação de anúncio. Sempre que obtivermos algo da página Stay Connected, que é uma postagem, talvez entremos nessa função, tão grosseira como sempre, e criaremos o e-mail Vou chamá-lo simplesmente de e-mail e ele conterá um novo esquema ou um novo componente que vamos adicionar ao esquema O e-mail com isso será o e-mail do corpo da solicitação. Agora, se eu voltar aqui, desculpe pelo rodapé, e como podemos ver se rolarmos até o fim, temos a entrada do e-mail com o nome e-mail Podemos acessar este usando o nome simplesmente escrevendo uma solicitação. Essa é a solicitação que vamos receber que contém todos os componentes desse formulário aqui e o corpo do e-mail da solicitação Vamos receber esse e-mail e adicioná-lo aqui. Então, simplesmente vamos criá-lo, enviar por e-mail, criar esse e-mail com a função, então há outro e talvez apenas impresso e vamos imprimir esse e-mail adicionado. É isso mesmo. Desculpe, esqueci as citações. Estamos bem. Claro, depois de terminar isso, vamos redirecionar para a página inicial, talvez Acho que estamos bem. Redirecione para este aqui , onde vamos renderizar para casa Isso é tudo para ficar conectado. Vamos passar para o segundo. Tudo bem Agora, vamos tentar nos mover entre essas páginas da web. Então, como dissemos, temos a categoria de marca doméstica e contato. Então, o que estou disposto a fazer é que, sempre que eu pressionar um deles, ele me leve automaticamente para a página da web associada Nesse caso, todos esses botões não fazem nada por enquanto, vamos corrigi-lo. Vamos para o cabeçalho. Este é o nosso cabeçalho e no qual temos todos os botões aqui. Mas é claro, sem o link de referência para eles. Vamos consertar isso. A primeira coisa que vamos fazer é excluir essa hashtag e colocá-la Aqui temos a casa, vamos para casa. Nesse caso, temos marca. Eu vou às marcas e aqui temos a categoria. Também temos informações sobre e talvez o feedback. Vamos chamá-lo de feedback. Isso é principalmente, vamos voltar ao Apo S. Então, digamos aqui temos o apt get para a página inicial Nós vamos fazer isso. Vamos passar para os outros. Então, temos um G. Se sairmos da página Sobre, receberemos essa função e renderizaremos para o JS junto com a solicitação que recebemos. Então, deixe-me verificar este. Então, vamos atualizar. Enquanto isso, vamos fazer o segundo Mas acho que pode haver um erro aqui. Estamos bem. Então, se voltarmos para a página de contato que chamamos de feedback, então feedback. Funciona normalmente, abra renderização e vamos ver o feedback JS. Ou talvez o chamemos de contato, eu acho. Então, sim, está aqui. É entre em contato com JS. Então, por enquanto, vamos voltar ao aplicativo. E isso é tudo principalmente para as páginas. Vamos simplesmente retomar a solicitação também. Vamos voltar. E vamos ver o erro aqui. Então, agora, após o JS, execute-o e tudo ficará bem. Então, anfitrião local. Ok. Sim, estamos bem. Ainda temos as páginas de categorias e marcas. Então, vamos fazê-las aqui e vamos verificar todas elas juntas de uma só vez. Para obter a categoria, simplesmente adicionaremos a categoria aqui e funcionaremos. Como de costume, vamos pesquisar todas as categorias, encontrar todas elas e, em seguida, funcionar com as categorias de erro e desfinanciar Abra. Se não houver erro, vamos simplesmente renderizar para alugar a renderização. Então, aqui, renderize novamente para a categoria, JS, e junto com as categorias que temos e, claro, a solicitação que recebemos. É isso. Se houver um erro, talvez imprimemos no console dessa e obteremos a categoria. Vamos passar para as marcas agora mesmo. Nesse caso, obteremos as marcas como categorias que temos Abra a pesquisa pelas marcas que temos, encontre todas elas e chamaremos essa função como de costume. Então, aqui temos as marcas encontradas. E se houver outro console, registre-o, caso contrário, vou simplesmente renderizar, na página apropriada, as marcas DGS junto com as marcas que temos . Essas são as marcas encontradas e as solicitações que também recebemos normalmente Então é isso, criamos o que temos, já temos a página inicial. Criamos sobre categorias de feedback e marcas. Então é isso, neste vídeo e no próximo vídeo, vamos conferir tudo isso. E, claro, continuaremos criando as páginas da web vinculadas entre elas, e pronto Nos vemos no próximo vídeo. Ok. 5. O contato e Sobre o contato e o contato: Olá e bem-vindo de volta. Neste vídeo, vamos configurar o Mongo DB. Como dissemos, criamos todas essas talvez constantes, best-sellers, marcas e caligorias e os esquemas para cada uma delas Obviamente, vinculamos o Mongo ao Mongo DB, o host local 27017, o host local 27017, e precisamos que o banco de dados seja um DV No entanto, não temos realmente um espaço ou software para usar para visualizar talvez esses itens, os dados dentro do nosso banco de dados Para fazer isso, vamos direto para o Google, vamos para o Mongo DV e Temos os servidores da comunidade de software , um banco de dados de documentos gratuito e aberto, vamos até o fim e clicaremos em download. Então, um arquivo EXE será baixado e , em seguida, você clica nele e passa pelo Assistente. É um procedimento muito simples e direto. E quando você terminar, isso aparecerá na sua página. Como dissemos, vamos executar esse código novamente. No entanto, agora temos o banco de dados, temos o host local para o qual vamos correr. E então, uma vez que o executemos, vamos colocar esse banco de dados comercial DV dentro de nosso local Como podemos ver, criamos as marcas e categorias e, se pressionarmos sobre elas, podemos ver quais são as marcas ou quais são as categorias. Isso é basicamente para o DV comercial. Agora podemos voltar ao nosso site comercial. Que possamos ver trans acho que temos um erro aqui. Vamos verificar isso. Como podemos ver na parte das categorias, é bom. Então, funciona perfeitamente bem. No contato, temos algumas modificações que precisamos fazer talvez no CSS. Verificaremos isso mais tarde. Mas, por enquanto, vamos dar uma olhada nas marcas DGS, vamos voltar aqui Como podemos ver, é a marca DGS. Não são marcas. Vamos rolar para baixo e corrigir isso. Acho que agora estamos bem, se nos atualizarmos, podemos colocar as marcas aqui à medida que chegamos aqui, funciona perfeitamente bem Vamos voltar para casa e estamos bem por enquanto. Vamos ver com o que devemos começar primeiro. Como podemos ver nas marcas e categorias, será um pouco complicado mostrar as marcas e categorias reais Precisamos ter um loop para examinar todas as marcas e todas as categorias e mostrá-las na tela. Talvez comecemos com algo simples. Esse é o contato. Temos o nome, o e-mail, número de telefone e a mensagem. Claro, o botão de enviar mensagem, e isso não fará nada por enquanto, mas faremos com que funcione daqui a pouco. Então, se você quiser começar com este, temos o nome e telefone de e-mail. Isso não parece bom, vamos consertá-lo. Em vez deste, vamos escrever um botão com a classe BTN e light, e talvez enviar uma mensagem Se voltarmos, ficará mais bonito Wever, vamos adicionar talvez MEUS dois à atualização de cliques. Como podemos ver, recebemos nossa mensagem de envio aqui e vamos fazer o mesmo com todas elas. Nesse caso, vou adicionar aqui Y um. Y um e Y um. E acho que, por enquanto, se voltarmos, podemos ver que temos alguns espaços entre eles. Então é isso. Basicamente, temos o nome, e-mail, o número de telefone, a área tributária e o padrão de envio de mensagens. Então, vamos ver. Como dissemos, temos as informações da pessoa e a mensagem apropriada. E precisamos diferenciar se o usuário está autenticado OK. Nesse caso, temos todas essas informações dentro do banco de dados do usuário. Nesse caso, basta iniciar a mensagem, a nova mensagem que o usuário está enviando. Se o usuário talvez não esteja autenticado, ele não esteja conectado, receberemos seu nome, número de e-mail e mensagem Nesse caso, precisamos iniciá-los em um novo usuário e depois salvá-los em nosso banco de dados. OK. Então, como fazemos isso? Vamos começar criando a publicação do aplicativo. E nesse caso, temos a função de contato e vamos verificar se a solicitação está autenticada e essa é a maneira de fazer isso A propósito, quanto ao login e inscrição, vamos fazê-los no final. Talvez falemos sobre eles agora enquanto trabalhamos com isso, por exemplo, aqui no contato, usaremos a solicitação como autenticada Nesse caso, estamos apenas verificando se esse usuário está conectado e, em caso afirmativo, vamos apenas atualizar esse usuário selecionando seu ID e pronto. Então, o que estamos fazendo aqui é verificar o banco de dados do usuário, estamos apenas verificando se há um usuário no qual o ID desse usuário é igual ao ID que obteremos da página de contato. Como podemos ver aqui, se voltarmos e obtivermos o ID do usuário. Então, como dissemos, aqui temos o usuário, e o método ID nos dará apenas o D do usuário específico. E se encontrarmos uma correspondência , começaremos pegando essa mensagem e adicionando-a à caixa de mensagem dentro do nosso usuário. Como dissemos, temos esse banco de dados, que é o esquema do usuário Temos o e-mail, senha, número de ID do Google, nome, endereço do pedido, deixe-me verificar aqui. Ainda temos apenas a mensagem. Vamos adicionar, vamos adicioná-lo agora, na verdade. Aqui dentro, talvez adicione uma mensagem que seja uma string e tudo bem. Podemos trabalhar com isso agora. Então, basicamente, é isso. Estamos apenas verificando se o usuário está conectado. Nesse caso, vamos receber essa mensagem e adicioná-la à caixa de mensagem dentro do nosso usuário. E, claro, se algo acontecer, como um erro, simplesmente imprimiremos esse registro de erros. Caso contrário, vamos usar um blog do console. Mensagem recebida. É isso, basicamente, se o usuário estiver conectado. Agora, se esse não for o caso, precisaremos criar um novo usuário e adicioná-lo ao banco de dados do usuário. Um novo usuário igual a um novo usuário entre parênteses igualmente latão. Vamos adicionar o nome pelo nome do texto da solicitação OK. Precisaremos adicionar o e-mail, solicitar o corpo do texto do e-mail. E se você está se perguntando de onde estou conseguindo isso, se voltarmos para o contato, temos aqui o nome do texto nome. Essas são as entradas que obteremos do usuário e as acessaremos normalmente, usando o método buddy solicitado Nesse caso, recebemos o nome e mail, talvez os números ou solicitados pelo telefone. Finalmente, a mensagem. Esta é a mensagem real na qual estamos interessados, e ela será acessada solicitada pela mensagem de texto. É isso mesmo. Ainda temos que salvá-lo. Novo usuário que salva e, claro, vamos redirecionar o usuário para essa rota Esta é a página inicial, e eu esqueci de adicioná-la aqui, então vou simplesmente redirecionar o redirecionamento para a É isso principalmente. Se eu voltar e me refrescar. Vamos digitar algumas coisas. Se eu enviar uma mensagem aqui, preciso adicionar um e-mail, então envie um e-mail para o e-mail T we good. Tudo bem. Isso não funcionará porque estamos apenas perguntando se o usuário está autenticado e ainda não iniciamos o processo de autenticação Então, vamos deixar isso por enquanto e, claro, voltaremos a ele mais tarde. Isso é tudo para o formulário de contato. Vamos passar talvez para outra coisa. Vamos voltar a este e verificar se temos categorias de marcas domésticas. À medida que definimos categorias e marcas, as faremos mais tarde. Para a página A, nós realmente não precisamos de nada. Talvez vamos adicionar esses. Temos marcas domésticas, categorias, contato e exemplos. Este é o e-mail. Talvez possamos adicionar as referências a eles. Para o e-mail, já o vinculamos. Agora talvez faça isso. Vamos voltar agora para o rodapé. Nesse caso. Como fizemos anteriormente neste eixo, faremos exatamente a mesma coisa que fizemos aqui Então, por exemplo, em casa, simplesmente renderizaremos com essa barra frontal e as marcas que renderizaremos para marcas Deixe-me verificar. Sim, está correto. Marcas. As categorias serão categorias. Acho que estamos bem. Ainda temos o contato que é para verificar o feedback. Sim, é o feedback. Agora, se eu voltar, destrua os espaços da casa. Vamos voltar às marcas domésticas. A mesma coisa. Vamos abordar marcas, categorias e, finalmente, verifique o contato conosco e estamos bem com elas. Então, como podemos ver aqui, acabei de perceber que adoraríamos ouvir seus comentários no meio disso. Então, vamos voltar para a página de contato. Como dissemos, temos este e talvez eu adicione aqui um sintoma de texto Vamos voltar e ver como fica agora, e talvez adicionar algumas linhas. Ainda temos que adicionar talvez aqui dentro dessa nova linha. Sim, acho que isso pode ser bom. Vamos voltar a atualizar. Me desculpe. Vamos adicioná-lo também aqui. Atualizar. Como podemos ver, entendemos, mas simplesmente não notamos esse. Vamos agora. OK. Como podemos ver, acho que estamos bem por enquanto. Gostaríamos muito de ouvir seus comentários e ele deveria inserir deveria inserir as seguintes informações e pronto. Acho que, por enquanto, estamos prontos para o rodapé, o cabeçalho, as páginas ao e conduta No próximo vídeo, começaremos com a página da marca. Vamos mostrar as marcas que temos aqui, bem como as categorias. É claro que, depois disso, precisamos inserir cada marca. Por exemplo, aqui, se tivermos Johnson, vamos explorá-lo. Agora, se pressionarmos em explorar, nada acontecerá. Mas, para mais tarde, vamos continuar explorando e exibindo toda a marca talvez, digamos, qualquer marca, por exemplo, Johnson. Nesse caso, exibiremos todos os itens que a Johnson tem, é claro. Cada item será que também podemos filtrar pelas categorias. Por exemplo, para Johnson, talvez tenhamos o corpo, o xampu e o gel de banho. Nesse caso, exibiremos todos esses itens e o usuário também poderá filtrar por categoria. E vamos fazer exatamente a mesma coisa com as categorias. Vamos mostrar, por exemplo, aqui, xampu. E se o usuário pressionar esse botão do explorer, ele será redirecionado para a página do xampu, onde ele pode filtrar pelas marcas Por exemplo, há Johnson, talvez Sosk e assim por diante Isso é principalmente para este vídeo, se você não entendeu exatamente o ponto não entendeu exatamente o ponto, não se preocupe talvez discutiremos isso em detalhes nos próximos vídeos. Te vejo então. OK. 6. Marcas e categorias: Tudo bem Olá, e bem-vindo de volta. Neste vídeo, mostraremos as marcas e categorias que temos nas páginas da web de marcas e categorias. Se acessarmos nossa página da web, essa é a página inicial e, se clicarmos em marca, na verdade iremos para a página da marca. No entanto, esses são os mesmos. Então, temos o nome da marca e talvez a mesma imagem, mudamos a imagem aqui, mas elas não são do banco de dados. Então, temos nossas marcas em nosso banco e queremos dar uma olhada nelas ou queremos exibi-las aqui. Se formos até nossa bússola Mongo DB, e esta é nossa base de dados, DV comercial, vamos continuar. Na verdade, salvamos marcas e categorias. Se você pressionar marcas, podemos descobrir que cada marca tem o nome da marca, a imagem e o D dessa marca. Vamos voltar às nossas marcas, a DGS. Como podemos ver, estamos exibindo várias marcas. Vamos excluir tudo isso e criar apenas uma marca, na qual examinaremos todas as marcas e as exibiremos de uma só vez. Como fazemos isso? Na verdade, vamos excluir tudo isso e começar talvez recriando ou vamos manter esse e excluir todo o resto Então, como podemos ver se excluirmos isso, vamos ver. Este é o último, e acho que seria bom deletar todos eles. Vamos verificar se isso é para zero, coluna seis e zero, então estamos bem. Ok. Então é isso, basicamente, essa é a única coisa que precisamos. No entanto, precisamos examinar todas as marcas que obtemos. Então, se você se lembra corretamente, vamos voltar para o Apt Bet , onde vamos conseguir as marcas Examinamos as marcas e encontramos todas as marcas e talvez as tenhamos enviado usando as marcas. Então, se quisermos acessar todas as marcas que temos, podemos simplesmente usar essa marca aqui. Agora, vamos voltar para a página da marca. Como podemos ver aqui, em vez do nome da marca, precisamos exibir a marca real. Para fazer isso, eu simplesmente criarei aqui. Esta é a nossa parte, e é aqui que vamos trabalhar. Vamos criar um espaço aqui, algumas linhas. Vamos começar criando quatro ciclos para percorrer todas as marcas. Essas são todas as nossas marcas, mas para cada uma, vamos criar uma nova função que usa uma marca e vamos abrir os parênteses Basicamente, agora vamos fechar aqui. E aqui. É assim que podemos implementar Java Script dentro do arquivo EJS. E eu vou simplesmente cortar isso e colar aqui. Agora temos nosso loop telefônico. Vamos pegar todos os nomes das marcas. Então, vou chamar a marca de marca e acho que estamos bem. Esta marca representa esta. Esse é o nome da marca. Obviamente, essa marca representará o nome da marca real. Eu a chamo aqui de marca. Você pode nomeá-lo como quiser , desde que seja o mesmo dentro do banco de dados e da forma como você o acessa aqui. Agora, sempre que quiser usar um nome ou algo de valor, você precisa colocar isso igual antes de talvez chamar a função ou chamar o valor. E sempre que você quiser implementar uma função ou talvez fazer um loop for, você não precisa fazer nada para isso. E acho que há uma lista de talvez sugestões ou coisas que devemos usar quando quisermos implementar o script Java no EGS e veremos isso mais tarde Mas, por enquanto, precisamos apenas dessas duas coisas. É isso mesmo. Acabamos de exibir a marca. Agora, para a imagem, vamos fazer exatamente a mesma coisa. Agora, aqui, é muito importante seguir exatamente o mesmo procedimento. Então abrimos a porcentagem igual e depois as imagens e a imagem mais a marca IMG, como dissemos anteriormente, e agora estamos bem. É isso principalmente. É assim que podemos exibir nossas marcas. Vamos verificar se tudo funciona. talvez. É isso mesmo. Essas são todas as marcas que temos. Claro, temos alguns problemas com as imagens. Vamos verificar isso. Se voltarmos até aqui, na verdade não temos a pasta de imagens ou temos Sim, então não a temos. Vou criá-lo agora mesmo e entrar em contato com você em um minuto. Tudo bem Examine os arquivos, encontramos o arquivo de imagens aqui. Na verdade, o problema é que chamamos as imagens aqui de Johnson PG e JPG e, claro, pena que não as chamemos assim. Então, vamos corrigir isso, na verdade. Vamos nomear, por exemplo, este como Johnson. Talvez o segundo corpóreo e o final como D. Então, aqui, não é maiúsculo, então vamos corrigir isso e vamos começar por enquanto Talvez façamos isso. Na verdade, deixe-me criar uma nova imagem. Vamos copiar isso e baseá-lo aqui. Neste, vamos chamá-lo de dentes. Eles são iguais, mas acabamos de mudá-los por causa deste exemplo. Agora, se voltarmos e vermos que o problema que enfrentamos é que cada vez que salvamos isso, o aplicativo está, na verdade, adicionando tudo isso simplesmente mantendo isso sem comentários Nós inserimos muitas, estamos inserindo três categorias e três marcas, cada vez que salvamos esta Como não basta fazer isso sempre que você salvar, ele será executado novamente. Então, uma maneira de corrigir isso é descartar todo o banco de dados e executar o código novamente. Para eliminá-lo, basta digitar o nome desse banco de dados. Agora, se você voltar aqui e vamos executar o Node Man novamente. NodeJS e se voltarmos e clicarmos em atualizar aqui, obteremos nosso banco de dados que contém marcas No entanto, desta vez, temos apenas uma, duas, três, quatro e cinco marcas e as seguintes categorias. É isso principalmente, mas antes de executá-lo. Novamente, precisamos garantir que eles sejam penteados. Ok. Então é isso basicamente agora, se voltarmos ao nosso site comercial. Como podemos ver, temos Johnson Colgate e Vaseline como queremos Essa é a primeira parte do nosso código. Então, analisamos todas as marcas que temos e as implementamos usando um simples loop for. Como podemos ver, esse código é muito pequeno. Apenas algumas linhas e simplesmente mostraremos o nome da marca e a imagem aqui. Vamos fazer exatamente a mesma coisa a categoria antes de prosseguir com a pesquisa e como podemos pesquisar essas marcas e categorias. Vamos excluir o cabeçalho e a página inicial adicionais do contato. Vá para a categoria e faremos exatamente a mesma coisa que fizemos antes. Vamos deletar tudo isso. Vamos verificar se isso terminaria aqui, exclua todos eles. Ok. E é isso. Vamos começar a partir daqui e dar uma olhada nas categorias que temos. Mas primeiro, vamos verificar todo o banco de dados, o que temos? Vamos voltar às categorias. Como podemos ver, temos a categoria e a imagem que são para a categoria específica. Ok. Agora, vamos voltar e verificar no AJ como estamos retornando ou como estamos enviando as categorias do apto J. Se formos e vamos verificar se essa é a nossa categoria apt get. Vamos pesquisar no esquema de categorias ou no banco de dados de categorias e enviaremos todas as categorias que temos na forma de categorias com duplo Talvez seja necessário, vamos voltar. Temos todas as informações de que precisamos para analisar isso. Vamos começar obtendo as categorias e não para cada uma. Nesse caso, vamos criar a função que nos dará cada categoria uma por uma, depois abriremos sem chaves, fecharemos essa função aqui e ali Temos que recortar isso e colar aqui. Agora temos todas as categorias. Podemos mostrá-los simplesmente acessando o nome, como fizemos com a marca, chamamos a categoria que criamos aqui e verificamos no banco de dados. Qual é o nome disso? Também é uma categoria, categoria D. E estamos bem. É assim que podemos acessá-lo. Quanto às imagens, vamos fazer exatamente a mesma coisa. Então, é igual a agora abrir os parênteses, abrir as aspas duplas, Imagens mais a categoria IMG, como dissemos anteriormente Ok. Então é isso principalmente. Vamos apenas verificar as imagens. Então, eles são iguais. Nós não temos nenhum problema. Então, vamos voltar e clicar em atualizar aqui. E vamos para a categoria. Ok. Nesse caso, devemos ter uma lista de todas as categorias. Sim, temos o xampu, cuidados com o corpo e os dentes e, claro, seguidos pelo botão explorer, e isso não fará nada por enquanto. Precisamos ajustá-lo, assim como a barra de pesquisa aqui. Então, vamos começar com a barra de pesquisa aqui. Se voltarmos e verificarmos, esta é a nossa barra de pesquisa. Ainda não temos a ação do formulário. Então, o que fazemos com isso? Então, primeiro de tudo, vamos chamá-la de categoria e a ação ou o método serão publicados normalmente. Então, método igual ao post. E vamos começar, por enquanto, temos o botão com o tipo de envio. E sempre que pressionarmos isso, ele vai para a categoria aqui. Então, voltando ao nosso aplicativo, aqui publicaremos essa categoria e pesquisaremos todas as categorias disponíveis que correspondam à que o usuário está procurando. Então, para fazer isso, vamos começar com a categoria de postagem do aplicativo. E nesse caso, vamos criar a função, que é grosseira, como de costume, e começar obtendo a categoria que o usuário está procurando, e podemos acessá-la usando o corpo da solicitação Se voltarmos à categoria, podemos descobrir que esta tem um nome, que é um nome de marca. Na verdade, vamos alterá-lo para talvez o nome da categoria. Acho que será o nome lógico da categoria aqui. Se voltarmos, podemos acessar isso simplesmente acessando o nome da categoria do corpo da solicitação. E então, é claro, se a categoria de comprimento for maior que um, talvez precisemos colocá-la maiúsculas porque estamos iniciando as categorias em maiúsculas. Status do shampoo com S, que é maiúsculo. Dentes, vamos consertar tudo isso. Mas, por enquanto, vamos supor que todas essas categorias tenham maiúsculas ou que a primeira letra seja maiúscula Nesse caso, se o comprimento for maior que um, vamos modificá-lo chamando a categoria de primeiro caractere na categoria, para que possamos acessá-la usando o gráfico em zero. E vamos colocá-lo em maiúsculas. Essa é a função que vamos usar e, em seguida, vamos dividir essa categoria e pegar todo o resto dessa categoria Por exemplo, se tivermos xampu, digamos: temos xampu assim. O que vamos fazer é isso ou, por exemplo, com isso. O que vamos fazer é pegar esse S aqui, ponto em zero. Será um S maiúsculo mais H PooHich faz xampu com S maiúsculo. É isso principalmente para este vídeo Na próxima, continuaremos esse método e, claro, também para a marca. Te vejo então. 7. Marcas e categorias 2: Olá, bem-vindo de volta a um novo vídeo e a este, continuaremos criando esse método de postagem. Então, também faremos exatamente a mesma coisa com as marcas. Em primeiro lugar, vamos remover D e continuar como dissemos, aqui talvez usemos letras maiúsculas para o primeiro caractere e assumiremos que todos os caracteres estão em maiúsculas em nosso banco de estão em maiúsculas em nosso banco O que vamos fazer agora é pesquisar em nosso banco de dados simplesmente encontrando todas as categorias. Eu tenho uma categoria de erro de digitação que corresponde ao nome desta Como dissemos, pegamos o nome do usuário e, se voltarmos às categorias, podemos descobrir que o nome da categoria também é chamado de categoria. Como você o encontra , simplesmente digitamos categoria e eu vou pesquisar por categoria. Nesse caso, vamos encontrá-lo. E, claro, se found for igual a null, então não encontramos nada Então, vamos simplesmente criar apenas renderizar na página inicial. Então, descanse para renderizar, neste caso, a página inicial é a página da categoria com as categorias , não temos nada e a solicitação é igual à solicitação normal. Se realmente encontrarmos algo, vamos armazená-lo em algo chamado categorias, por exemplo, vamos consultar o registro apenas para mostrá-lo na tela e, claro, renderizaremos a categoria com o seguinte parâmetro. Categorias, como dissemos, que serão a categoria que acabamos encontrar e a solicitação, como de costume. E estamos bem por enquanto. Essa é a função principal que vamos usar. Estamos apenas examinando as categorias que temos e procurando por algo ou uma categoria que corresponda a essa, e aqui também temos um erro de digitação E se encontrarmos algo, vamos apenas renderizar na página da categoria ao lado dessa categoria que encontramos. Caso contrário, renderizaremos a página da categoria com uma string vazia. É isso aí, principalmente se voltarmos e clicarmos em atualizar, vamos pesquisar as categorias Vamos primeiro experimentar o xampu. Então, como podemos ver, encontramos o Champ, sempre esquecemos de deletar este Toda vez que estou economizando, estou inserindo muitas categorias e muitas marcas Vamos excluí-los e eliminá-los antes de continuar lançando esta coleção, e a marca também lançará essa coleção. Nesse caso, talvez eu a publique mais uma vez. Agora, se eu voltar aqui, vamos modificar algo, por exemplo, assim. Como podemos ver, está sendo lançado novamente e, se eu for atualizar aqui, temos nossas marcas e categorias Vamos voltar agora e apenas enviá-los. Como podemos ver agora, se eu tivesse que me refrescar, encontraríamos apenas uma categoria que é o shampoo Agora, se eu voltar para a página inicial, vamos às categorias novamente. Temos shampoo alt e vamos digitar algo que não está em nossa pesquisa de categorias, e não teremos nada para mostrar nesse caso. Talvez possamos fazer algo com isso mais tarde, talvez guardá-lo para o projeto que você vai fazer. Nesse caso, em vez de exibir um espaço vazio aqui, talvez diga que essa categoria não está disponível, tente outra coisa ou talvez mostre todas as categorias com uma mensagem de que essa categoria específica não está disponível no momento ou que você cometeu um erro de digitação na nomenclatura da categoria Isso é tudo para as categorias, vamos passar para as marcas. Como podemos ver, também temos três marcas e queremos criar esse código como antes. Se procurarmos por alguma marca aqui, ela deve aparecer como a categoria. Vamos voltar. Ok. Como podemos ver, precisamos criar exatamente a mesma função para a categoria. Mas depois, vamos comprar marcas. E nesse caso, a função t cress, como de costume, se abre, e vamos deixar brand igual ao body request brand name Eu vou verificar isso agora. Então, se você for para a marca. Como podemos ver, temos aqui o nome da marca. Vamos acessá-lo usando este. No entanto, no formulário aqui, precisaremos de marcas e o método será sempre publicado. Temos o tipo de envio desse padrão, então estamos bem. Agora, o que vamos fazer é pegar essa marca e fazer exatamente a mesma coisa com o nome Vamos dividir talvez o corte do índice um até o final e colocar o primeiro elemento ou o primeiro caractere em maiúsculas Vamos verificar se o comprimento da marca é maior que um. Vamos simplesmente modificá-lo como antes, então adicione zero e faça duas letras maiúsculas Nesse caso, vamos adicionar tudo isso no final, vamos pesquisar as marcas, temos o banco de dados de marcas. Vamos encontrar todas as marcas que correspondem ao nome desta, é claro, temos a função que faz por nós o trabalho. Achei que não é igual a nulo, vamos mostrar essas marcas Como dissemos, neste caso, se a marca ou a encontrada não são iguais. Assim, vamos pegá-los e renderizá-los para as marcas da JS. Então, vamos fazer isso. Vamos chamá-la de marcas iguais a encontradas. E nesse caso, vou fazer registro de pontos no console dessas marcas que encontramos antes de renderizar na página de marcas Então, as marcas nos doem. Nesse caso, junto com as marcas que recebemos e a solicitação que também recebemos do usuário. Nesse caso, e se algo mais acontecer, se houver um erro ou não encontrarmos nada, vamos apenas renderizar para Brands dot JS ao lado de um y vazio. Então é isso, talvez eu agora, vamos voltar ao reflash aqui E vamos verificar. Então, por exemplo, serve para Johnson aqui. Pesquisa Johnson. Portanto, temos outra falha na pesquisa de visualizações da marca DGS. Desculpe, vamos verificar isso aqui. O que estamos fazendo, na verdade? Talvez sejamos. Para que façamos o trabalho. Conjunto de marcas. digitar uma marca em vez de marcas. Esse é o nome do desfiladeiro. Agora, se voltarmos, digamos que atualizemos, verifique se tudo está funcionando aqui, então estamos bem Vamos digitar Johnson search. Como podemos ver, encontramos o que procurávamos. Este é o Johnson e se eu digitar alguma coisa. Não vamos conseguir nada. Este é um espaço vazio, dizendo que não temos nenhuma marca com esse nome. Basicamente , é isso que acontece neste vídeo. Neste vídeo, criamos o botão de pesquisa e a opção de exibição dessas marcas e categorias. Na próxima, mostraremos talvez os itens que temos dentro deste Johnson. Vamos criar a rota para o botão pler. Sempre que o usuário pressiona essa opção, explore. Ele também deve ver todos os itens relacionados a esse produto ou marca Johnson. Obviamente, faremos exatamente a mesma coisa para as categorias. Por exemplo, se o usuário pressionar Shampoo, ele também deverá ver talvez todos os itens relacionados ao xampu de todas as diferentes marcas que temos É isso, principalmente com isso dito, este é o final deste vídeo, até o próximo. 8. Produtos: Olá, e voltaremos neste vídeo, vamos fazer o botão Explorer. E vamos mostrar todas as marcas disponíveis ou todos os itens disponíveis dentro dessa categoria. Vamos voltar às categorias aqui. Como podemos ver, temos aqui esse botão com o tipo enviado. O formulário está vazio por enquanto, vamos corrigi-lo. Eu o chamo de produtos e métodos que sempre devem ser publicados nesse tipo de formulário. Nesse caso, vamos até o abdômen e vamos criar esse método aqui. Ok. Então, vamos começar com isso aqui. Nesse caso, vamos começar com produtos e, claro, a função, abrir essa função e começar com a categoria que temos. Como podemos ver, a categoria será retirada desta aqui. Nós temos o nome. E também podemos armazenar esse, na verdade, dentro de uma entrada para mantê-lo como a categoria. Nesse caso, vou guardá-lo aqui mesmo. Então, a entrada será do tipo in, e eu vou definir o valor desse nome de categoria aqui. Talvez façamos o nome, será a categoria e o valor será exatamente o que exibiremos aqui. Nesse caso, será categoria de categoria. Tudo bem Então, basicamente , é isso. Agora, se eu voltar ao aplicativo, posso acessar o nome da categoria simplesmente digitando a categoria do corpo do ponto de solicitação Nesse caso, terei a categoria menino e posso pesquisar as categorias que temos e encontrar a apropriada para exibi-la. Então, nesse caso, o que vamos fazer é exibir todos os itens que temos que correspondem a essa categoria específica. Então, como você faz isso? Vamos simplesmente tentar pesquisar. Então, item, encontre toda a categoria que corresponde a essa. E para ter certeza disso, vamos ao banco de dados. Então encontrei a categoria. Tudo bem Então, se voltarmos ao banco de dados, peço desculpas pelo esquema E vamos verificar o interior desses itens. Esse é o esquema do item. Temos a descrição do título e temos a categoria aqui. Obviamente, vamos adicionar alguns itens e vamos examiná-los agora. Mas, por enquanto, vamos terminar essa categoria e talvez a façamos. Então, por enquanto, vamos abrir essa função aqui. E vamos trabalhar com isso. Então, se encontrarmos algo, se não houver erro, vamos verificar se foram encontradas categorias. Ou talvez os itens encontrados sejam um pouco mais lógicos, itens, ok. E, nesse caso, os itens encontrados não são iguais a nulos. Isso significa que encontramos algo e podemos renderizar na página ao lado desses itens. Então, renderize, e vamos renderizar para a página de produtos que criamos anteriormente, e está aqui. Obviamente, junto com os itens que temos , os itens seriam os itens encontrados, e a solicitação será apenas uma solicitação simples como. Basicamente, vamos simplesmente pesquisar os itens dessa categoria específica e retornar todos os itens que correspondem a essa categoria. Basicamente, é isso. Agora vamos criar alguns itens e adicioná-los ao banco de dados para poder exibi-los nos produtos do arquivo JS. Tudo bem Então, vamos subir. E nesse caso, vamos criar alguns itens. Então, vamos copiar o esquema para tê-lo à nossa frente aqui Eu acho que aqui é bom. E vamos apenas comentar isso. Nesse caso, vou criar o item um, que será novo e esse será o item. E os colchetes com o título seriam, por exemplo, talvez baby Johnson e a descrição, desculpe, preciso colocá-los entre aspas Então esse é o bebê Johnson. E, claro, eles também estarão em catiões. Agora, quanto ao URL da imagem, MR L também será uma string. Esta capa será composta por imagens e Johnson JPG. Então temos a marca, e é óbvio. Por enquanto, é Johnson. A categoria talvez seja xampu. E tamanho talvez 100 milli. E o preço, por exemplo, é de $8 e a quantidade total será, por exemplo, talvez 50 por enquanto Encontrei o erro aqui. Eu preciso consertá-lo, então vamos rolar para cima. E aqui temos um. Então é isso, basicamente, esse é o nosso primeiro item. Vamos copiar e colar mais algumas vezes e mudar algumas coisas. Tudo bem Então eu acho que estamos bem. Temos o item dois e este. Talvez tenhamos algo como Sam. E vamos simplesmente mudar isso para corpo. E, claro, a categoria anti-ramificação também deve ser pomba e xampu Nesse caso, o item três, talvez seja corpo. Digamos que eu não saiba. Johnson, por exemplo, depende do corpo de Johnson, me desculpe, e a categoria é boné corporal. Agora, nesse caso, temos mais alguns itens. Vamos apenas trocá-los. E acho que estamos bem. Só queremos inseri-los em nosso banco de dados de itens. E para fazer isso, simplesmente inserimos muitos, vamos inserir o item, o item dois, o item, o item quatro e o item cinco. Com isso dito, simplesmente queremos verificar se há um erro. Se houver um erro, vamos imprimi-lo. Caso contrário, vamos imprimir todos os itens. Item um, item dois, item três, item quatro e item cinco. Acho que estamos bem. Agora, sempre que salvamos isso, na verdade o salvamos, e esses são os itens que criamos. Vamos voltar e comentar isso Se voltarmos e fizermos uma atualização aqui, encontraremos esse banco de dados de itens que contém cinco itens por enquanto Claro, agora vamos implementar isso em nossos produtos para a DGS Agora temos o banco de dados. Temos todas as informações de que precisamos. Temos todos os itens que queremos e podemos acessá-los por meio desse banco de dados. O que estamos realmente fazendo é adquirir esses produtos. E enviá-los para a página de produtos, que é essa aqui. O que vamos fazer agora é acessar a página de produtos, GS e modificá-la para mostrar essas marcas ou mostrar esses itens de uma marca específica. Então, rolando para baixo, podemos ver que temos talvez dois, então temos esse único produto Temos as imagens e também temos o item intitulado. Talvez vamos visualizá-lo primeiro. Em vez de enviá-los por enquanto, vamos excluí-los. Por enquanto, vou renderizar novamente para a página de produtos. Então, se eu pressionar e explorar, vou renderizar para esta página do produto, onde tenho os itens e eles são os mesmos por enquanto. Então, o que vamos fazer é ir até este, excluir os dois. Como podemos ver, temos uma coluna. Vamos deletar tudo isso. Nós temos alguns. E vamos conferir aqui. A partir daqui, até o segundo. Então, vamos deixar um deles e vamos trabalhar com ele. É com isso que vamos trabalhar. Temos colunas e vamos modificar o preço, o nome da marca, o nome da categoria, o tamanho, as imagens, tudo isso e, claro, o título. Agora, vamos voltar aos aplicativos e levar esses itens conosco. Para acessar esses itens, vamos apenas escrever itens aqui. Então, dentro deste, depois de criar os produtos, vamos examinar todos os itens que temos. Os itens de cada um criarão essa função com o item e acima, e de, vamos adicioná-los ao script Java incorporado em ML ou EJS Okay. E, claro, vamos pegar todos esses itens e imprimi-los. Então, como você faz isso? Vou simplesmente pegar este e colar até o fim depois deste aqui. Agora podemos acessar esse item. Por exemplo, se eu quiser o título do item aqui, posso simplesmente escrever esse título para o item e acho que estamos bem. Agora, se eu voltar aqui e clicar em atualizar, vou receber Desculpe, não escolhi nenhum item por enquanto, então 5% da categoria, além de explorar agora Vamos ver o que temos. Como podemos ver, o título não é exibido, e acho que é porque aqui esquecemos a entrada Agora, se voltarmos e nos refrescarmos, teremos Baby Johnson, Campo, Baby Johnson, Baby Johnson Esses são todos os itens que pertencem a essa categoria específica, que é Champ. Nesse caso, vamos alterar o preço, o nome da marca, a categoria e o tamanho. Vamos voltar ao nosso código e vamos mudar aqui mesmo. Ao acessar o preço do item, e aqui a marca será, como de costume, categoria da marca do item também. Então, categoria do item, finalmente , essa, que é o tamanho, item daquele tamanho. Acho que estamos bem. Ainda temos a imagem e faremos isso em um minuto. Agora, se eu voltar e tudo estiver fresco, mudamos tudo. Temos o tamanho da categoria da marca, tudo isso. Vamos voltar agora. Obviamente, quanto ao URL da imagem, nós o chamamos de IMR L. Basta acessá-lo aqui, como podemos ver, temos tudo o que queremos como queremos Basicamente, para as categorias, faremos exatamente a mesma coisa com as marcas no próximo vídeo. Te vejo então. Ok. 9. Casa marcas: Olá e bem-vindo de volta. No último vídeo, criamos o link entre a categoria e a página de produtos. Por exemplo, se o usuário pressionar essa opção, ela acessará todos os produtos ou itens que estão nessa categoria específica Agora, não temos nenhum item no microfone. Mas para o shampoo, na verdade temos quatro itens, como podemos ver aqui. Então, temos esses quatro e os exibimos usando quatro loops, pegando todos os itens do APTOs aqui Então, estamos simplesmente pegando todos os itens que correspondem à categoria específica e simplesmente levando-os com a renderização para a página do produto e, é claro, exibindo-os como dissemos anteriormente, usando quatro loops. Agora, o que vamos fazer é implementar o mesmo procedimento para a categoria DGS Desculpe pela BrandG, vamos supor que estamos na página da marca DGS Então está aqui. E vamos fazer a mesma coisa para isso, mas vamos verificar as marcas. Vamos renderizar para os produtos, a página web da DGS, no entanto, com marcas em vez de categorias Isso é o que vamos fazer. O que eu estou pensando é ter como antes. Por exemplo, aqui, fomos verificar. Sim. Por exemplo, na categoria D JS, este formulário nos levou aos produtos com o método de postagem. O que estou pensando é criar um método separado para esse tipo de postagem, por exemplo, em vez de apenas produtos, vamos chamá-lo de produtos, talvez marcas, neste caso, e vamos abrir uma função, por exemplo, Abrir. Agora, o que vamos fazer é pegar a marca do corpo da solicitação, da marca, e registrá-la no console aqui. E, claro, continuaremos com a busca nos itens. Portanto, a localização do item encontrará a marca que é essa marca específica. Erro ativo e itens encontrados. Nesse caso, se não houver erro, verificaremos os itens encontrados que não são iguais a nulos, depois encontramos alguns itens dessa marca e os imprimiremos antes de renderizá-los na e os imprimiremos antes de renderizá-los página do produto com os itens que são itens falsificados junto com a solicitação Sim. É isso mesmo. Basicamente, vamos até a marca ou DGS aqui dentro deste formulário, vamos realmente acessar produtos, marcas, e o método deve ser publicado É isso mesmo. Acho que estamos bem. Agora, se voltarmos e isso for uma atualização. Portanto, não se preocupe, isso não acontecerá. É só porque ainda não temos os produtos. Não temos os produtos aqui ou os itens para acessar esta página de produtos. Agora estamos bem, estamos na marca e, se eu clicar em explorar, iremos para a página de produtos. No entanto, não temos nenhum item que se enquadre na categoria ou na marca Johnson. Nesse caso, vamos abrir uma compressa. Mongo DB compass e vamos verificar nosso banco de dados. Se houver um item que tenha Shampoo como marca. Desculpe, Johnson como marca. Nesse caso, se quisermos nos conectar ao banco de dados, vamos rolar até o topo e usar isso como um link e abrir nosso banco de dados. E, como podemos ver, temos os itens aqui. Também temos o shampoo. Tudo bem. Portanto, não há problema aqui. O problema é que o que estamos recebendo é indefinido e acho que é porque esquecemos de inserir a marca Então, talvez vamos adicioná-lo aqui. E esse será o nome. Marca e, neste caso, vamos usar a marca D. Dessa forma, obtivemos a entrada que está oculta com o nome da marca, para que possamos acessá-la usando a marca corporal solicitada com o valor da marca dessa marca aqui. Acho que estamos bem, por enquanto, se voltarmos e nos refrescarmos, vamos verificar se há Johnson E vamos esperar um pouco, se não houver erro. E acho que estamos bem. Como podemos ver, temos todos os itens que têm essa marca específica, que é Johnson. Então, temos quatro itens da Johnson e três xampus e um Bo, para os quais estamos bem por enquanto. É isso que pretendemos fazer. Isso é o que fizemos também para as marcas, assim como para as categorias. É isso basicamente para esta etapa, vamos passar para a próxima. Então, vamos ver se voltarmos para casa, podemos descobrir que marcas, best-sellers e categorias não funcionam bem, então precisamos obtê-los do banco de dados que temos e mostrá-los em nossa página inicial Então, voltando para casa para D JS. É isso mesmo. Podemos começar pelas marcas aqui mesmo. Estas são as nossas marcas, confira nossas marcas e aqui. Precisamos mostrar todas as marcas que temos ou talvez algumas delas. E para fazer isso. Vamos voltar aqui, como podemos ver na barra frontal, que nos levará à página inicial Na verdade, estamos pegando todas as marcas, best-sellers e categorias e renderizando-as na página inicial Aqui temos categorias, marcas e o melhor. Nesse caso, podemos acessá-los diretamente na página inicial da GS Nesse caso, vou começar criando talvez aqui mesmo após o recurso. Então, o que estou pensando em fazer é em vez de iminir todo esse mar, estou pensando em algo um pouco mais simples Vamos começar com isso aqui. Em primeiro lugar, talvez conteremos o contêiner e, dentro desse contêiner, teremos a linha e a coluna 12 no meio, ao lado do centro tributário. Aumente e suba esta, e vamos começar com o título, então será H dois com a classe da seção de cabeçalho. B três, e talvez Pb quatro. Acho que estamos bem. Vamos sem marcas e o parágrafo será da classe B cinco. Nesse caso, escreveremos para conferir nossas várias marcas. Agora, se voltarmos e voltarmos para o novo, podemos ver que temos marcas, confira nossas várias marcas. Agora podemos criar nosso carrossel real. Nesse caso, vou simplesmente criá-lo aqui com a coluna central 12. Nesse caso, serão apresentados o carrossel e o carrossel antigo Claro, agora podemos começar mostrando nossas marcas, então vamos criar quatro loops Dissemos que temos marcas e das marcas. Vamos usar para cada um e, claro, vamos atualizar a função com uma marca e aumentar essa função E, claro, fechando no final. É isso, basicamente, agora podemos começar com a criação do nosso item. Esse é o item da classe. Vamos criar uma classe chamada trabalho. Nesse caso, o que eu vou fazer é criar um formulário com uma ação de produtos ou algo parecido, vamos discutir isso mais tarde, e o método será publicado. Nesse caso, vamos criar nosso botão, que tem um tipo de envio e, claro, a turma também deve ser PT N. Agora, depois de apertar esse botão, vamos criar a divisão que é a carta Então, vamos ter o texto centralizado no meio. E, claro, talvez adicionemos um pouco de estilo. Por exemplo, a largura, vou considerá-la como 18 Rm. Agora podemos ter nossa imagem com o arquivo de origem da seguinte forma. Por exemplo, aqui temos a imagem real que está na pasta de imagens, além da imagem da marca. E neste caso, vamos tirar essa imagem e adicionar o corpo do cartão. É claro. O corpo desse cartão seria o nome real da marca. Então, neste caso, vou fazer com que seja H seis, então isso será o texto do cartão. E isso conterá uma marca, marca e, claro. OK. Vou precisar adicionar isso para torná-lo legível Acho que é isso basicamente. Isso é o que deveríamos estar fazendo. Se eu voltar agora e clicar em atualizar, obteremos essa imagem Vamos pegar Johnson, Cogate e Basin. Como podemos ver, temos todos eles no mesmo local. Vamos consertar isso. O que eu estou pensando está aqui dentro desta. que vou fazer é pegar tudo isso e talvez criar aqui. Uma linha e copie tudo isso na linha. Claro, vamos criar uma coluna de quatro talvez, ou vamos fazer com que seja assim. Aqui, coluna de quatro. Nesse caso, vou copiar tudo isso mais uma vez. Baseie-o aqui e vamos verificar agora. Então, o que temos aqui? Tudo bem. Acho que descobri quanto é o dinheiro É que estamos criando cada vez uma nova linha, cada vez que entramos nesse loop de quatro. Agora, acho que se eu voltar e clicar em atualizar. Sim, estamos bem por enquanto. Ainda temos algumas modificações a fazer. Então, por exemplo, podemos fazer com que o tamanho da imagem seja corrigido. Então, não temos algo assim. Isso será maior do que as outras imagens e também não será muito bonito. Então, com isso dito, acho que esse é o fim desse vídeo. E no próximo vídeo, faremos exatamente a mesma coisa talvez para as categorias e os mais vendidos e, claro, adicionaremos o link a este Por exemplo, se o usuário pressionar isso, então aqui temos o que temos aqui, temos Johnson Portanto, se pressionarmos Johnson, você deve redirecioná-lo para os produtos relacionados à Johnson e, claro, à Colgate e à Basin faremos exatamente a mesma coisa as categorias reais. Dito isso, este é o final deste vídeo, nos vemos no próximo. OK. 10. Casa de venda melhor: Olá e bem-vindo de volta. Neste vídeo, continuaremos nossa página inicial e, claro, começaremos com o best-seller. A última vez que terminamos as duas marcas e categorias. Ainda temos a página do best-seller, e vamos começar com ela. Aqui, criamos o primeiro contêiner que contém as marcas e aqui temos as categorias. Vou colocar os mais vendidos no meio disso Para fazer isso, vamos começar com a construção do contêiner. E eu vou criar a primeira classe. Essa é a primeira divisão, desculpe, em que teremos o texto da linha silenciado e o texto centralizado E neste caso, eu vou ter outra coluna com margem de quatro em todos os lugares de dimensões. Nesse caso, vamos começar criando o cabeçalho. A classe será expositora ou caneca e os quatro piores, e eu vou chamá-la de mais vendida Vou seguir esta por uma nova divisão. E eu vou deixar o sublinhado escuro e todas essas são aulas de alças de botas, e você pode conferi-las no site oficial Mas, por enquanto, vamos usá-los como aqui. Vou criar um sublinhado seguido por um parágrafo com o líder da turma, dizendo que confira alguns dos nossos itens mais vendidos Agora, se voltarmos, vamos nos refrescar. Ok. E, como podemos ver, temos os mais vendidos. Confira alguns dos itens mais vendidos. Isso é basicamente para o parágrafo do título. Agora, vamos voltar e começar com outra linha e, nesse caso, precisaremos criar uma linha com itens de linha texto e Maxto Agora podemos dar uma olhada em nossos best-sellers e vamos fazer isso simplesmente criando um loop completo Ideal para cada função, vamos chamá-la de mais vendida. Claro, vamos abrir isso. E feche-o aqui mesmo. Eu achei que era o melhor. Vamos até os APOGs e conferir, o que estamos fazendo com a página inicial Vamos pegar as marcas, os mais vendidos categorias e as nomearemos como as melhores aqui Vamos escolher nossos mais vendidos como este. Podemos acessá-los simplesmente criando esses quatro loops e acessando-os item por item. Isso é basicamente. Agora só precisamos criar nossas colunas. Coluna grande quatro e, claro, talvez dez se o usuário estiver usando algo menor do que uma tela de desktop. Nesse caso, vou adicionar x auto e acho que estamos bem. Podemos começar criando o cartão. Vou chamá-la de cartão um para mais tarde, talvez para o CSS, e meus quatro com x auto. Agora, podemos começar criando a imagem. A fonte dessa imagem será exatamente como dissemos, vamos conferir. Por enquanto, não criamos nenhuma imagem nem nenhum best-seller. Vamos adicioná-los mais tarde. Mas, por enquanto, vamos supor que eles sigam o mesmo formato do MMR L aqui Teremos imagens com pontos e barras no nome do produto Então, vou acessá-lo usando apenas o best-seller e voltando aqui. Vamos ver em nosso esquema do best-seller, qual é o nome desse? No best-seller, temos o nome, temos a imagem, para que possamos acessá-la usando a imagem. Nesse caso, o que vamos fazer é criar a imagem de best-seller, e acho que estamos bem. Agora podemos continuar criando o título no corpo do cartão. Teremos o título que é o título cinco com a classe de texto em maiúsculas. Talvez seja em negrito, fonte branca, negrito, margem e três itens da lista de cartões Dentro deste, vou simplesmente exibir o nome. Então, best-seller, o nome e, para ter certeza de que eu vou voltar e ver, demos o nome a esse nome. É assim que podemos acessar o nome. Agora, ainda precisamos criar o formulário para enviar nossos botões, por exemplo, se o usuário pressionar esse best-seller específico, deverá redirecioná-lo para essa página específica Para fazer isso, vamos chegar aqui após o título, vou criar um formulário e esse formulário será redirecionado para uma coisa específica Eu vou fazer isso mais tarde. Mas, por enquanto, o método, como sempre, será publicado. Neste formulário, vou criar uma parte inferior com o tipo submit class BTN, preenchendo dois textos em maiúsculas e peso frontal dourado ao lado alguns outros botões da tabela de preços. Isso é para o CSS. Nós vamos usá-lo mais tarde. Mas, por enquanto, aviso BTN para tornar o texto amarelo e claro Então, aviso BTN, desculpe, por deixar o botão amarelo e o texto claro por tornar o texto claro E vou simplesmente escrever os detalhes. Ok. Acho que estamos bem por enquanto, temos nosso formulário, temos nosso botão e tudo parece bem. Se eu voltar e clicar em atualizar. Sim, nada vai acontecer já que não temos o best-seller aqui. O que estamos tentando fazer é ir para casa e tentar acessar o melhor que não está disponível porque não temos nenhum best-seller em nosso banco Vamos consertar isso. Na verdade, criamos alguns best-sellers aqui, mas não tivemos a chance de adicioná-los ao nosso esquema Vamos voltar até o fim. Nesse caso, o que vamos fazer é criar a melhor inserção Many I remember B one, B two, B three. Claro, vamos criar a função com o erro. Portanto, se houver um erro, desconecte-o, caso contrário, basta registrar os melhores conjuntos. E agora, se eu voltar, podemos ver que os criamos, criamos o nome Johnson, hidrante Cgate e o seguinte ID No entanto, acho que perdemos algumas coisas, por exemplo, perdemos a imagem. Sim. O que fizemos aqui foi criar o best-seller com o nome IMG em vez de imagem Uma maneira de corrigir isso é simplesmente excluir este. Será IMG. Obviamente, precisamos voltar ao nosso banco de dados, atualizá-lo e colocar todo esse best-seller aqui Abandone esta coleção, pois não precisamos delas sem suas imagens. Agora, se voltarmos e salvarmos este, vamos atualizar. Sim. Tudo bem Então, fazendo isso. Se voltarmos aqui e ele se referir, encontraremos o banco de dados dos mais vendidos. Então eu acho que devemos esperar um pouco. Mas, por enquanto, podemos ver que o temos aqui. Temos as marcas, as categorias e a imagem. E nesse caso. Se voltarmos agora, vamos ver que temos os mais vendidos, confira alguns dos mais vendidos Temos o Johnson Colgate e o outro acho que temos um problema com o MatErl e isso é um Mas a ideia geral é que tenhamos todos os nossos produtos, todos os nossos itens e os mais vendidos nas marcas e nas categorias É isso principalmente. É assim que podemos criar a página do mais vendido ou a seção do mais vendido. E, claro, o que vamos fazer agora é criar esse botão. Agora, se pressionarmos isso, isso nos levará a uma página de erro. No entanto, precisamos nos levar à página real do produto onde veremos o produto específico. Este é um item que tem detalhes específicos , tamanhos específicos e assim por diante Se o usuário quiser comprar esse item, ele também deve ver todos os detalhes e pode fazer isso simplesmente clicando nos CDs. Agora, o que vamos fazer é fazer a mesma coisa com as marcas e categorias. Agora, se você pressionar marcas, isso nos levará a todos os itens que estão nas marcas específicas. Como podemos ver se pressionarmos aqui, temos todos os itens. Temos alguns detalhes aqui, mas não temos a descrição, não temos a quantidade e, claro, não podemos fazer o pedido aqui. O que vamos fazer também é que, se pressionarmos isso, também devemos nos levar à página de descrição do produto. E nesse caso, nós já criamos aqui, temos produtos e temos produto. Esta página deve ser exibida sempre que pressionamos algo assim. Seja nas marcas ou categorias ou mesmo nos mais vendidos, deve nos redirecionar para esta página específica que é o produto da JS e mostrar todos os detalhes desse produto específico que o usuário deseja Porque é basicamente isso para este vídeo. Espero que você tenha gostado. E na próxima, vamos fazer o que falamos agora e até lá. Ok. 11. Página do produto: Olá, e voltaremos neste vídeo, continuaremos a construção desses produtos. Então, aqui temos os produtos e, como dissemos, sempre que pressionamos em algum produto específico, queremos ser renderizados na página do produto, que é principalmente esta Como dissemos, também queremos fazer isso se estivermos na marca ou na categoria. Se estamos aqui na categoria, usamos xampu e acessamos a página do produto. Temos aqui agora alguns produtos específicos. Se eu clicar neste produto específico, quero ver os detalhes desse produto específico e também a seção de mais vendidos Portanto, se estou aqui no best-seller e quero ver os detalhes desse produto, também devo acessar esta página específica, que é o produto da GS Então, como fazemos isso? Agora, voltando ao Apo JS, podemos ver que no esquema mais vendido, criamos algo chamado item, que é principalmente o tipo, que é principalmente o tipo, e esse é na verdade o ID desse Item de referência e, claro, temos aqui o ID. Se quisermos acessar este item, podemos acessá-lo por ID, nome ou imagem, mas não faz sentido acessá-lo por imagem e também não faz sentido acessá-lo pelo nome, talvez tenhamos mais do que um produto com o mesmo nome, talvez tamanhos ou quantidades diferentes e assim por diante. Dito isso, podemos acessar esse item específico por meio do ID do objeto. Isso é o que vamos fazer. Agora voltando para a casa da DGS, e eu disse, deixo isso vazio por enquanto Agora é a hora colocar algo aqui, para onde vamos. Vamos até os produtos. No entanto, vamos adicionar algo, e esse é um costume que o Javascript nos permite fazer e fazer isso. Vamos simplesmente escrever os produtos. Vamos renderizar dois produtos. No entanto, não estamos renderizando apenas produtos, estamos renderizando produtos mais o item mais vendido E esse item nos permitirá pegar a identificação e colocá-la aqui. Então, suponha que temos esse D aqui. Agora, sempre que estamos renderizando, estamos renderizando cada vez para uma ação específica ou diferente Então, talvez estejamos renderizando para o primeiro item, então teremos produtos Nós vamos ter algo parecido. Produtos. Supondo que o primeiro ID seja um Então, produtos aquele primeiro, na segunda vez, se estivermos acessando o segundo produto, talvez os produtos sejam dois, e assim por diante. Portanto, a ideia aqui é que não é a mesma coisa toda vez que renderizamos para um produto Nesse caso, o que vamos fazer é usar algo chamado personalizado. Então, com isso dito, precisamos agora voltar aos AppGs e criar nossa função aqui. Então, como você faz isso? Simplesmente, o que vamos fazer é criar o aplicativo para obter o produto e, claro, nesse caso, o que obteremos são produtos mais o D desse produto. Então, como você faz isso? Vamos voltar e rolar até o fim. Talvez vamos adicioná-lo aqui depois do produto. Aqui temos os produtos aqui. Talvez também possamos adicioná-lo depois dos produtos principais. Aqui. O que vamos fazer é adquirir esses produtos e também sabemos que isso é um costume. O que vamos fazer é colocar um c e digitar custom. Nesse caso, vamos criar a função. Também. O que vamos fazer é criar o personalizado, que é basicamente obter esse costume daqui. Como podemos acessá-lo? Na verdade, é muito fácil apenas com solicitações de tipo, personalizadas. É assim que podemos obter o ID daqui e acessá-lo aqui mesmo. Basicamente, agora podemos pesquisar os itens e encontrar o item específico com esse ID específico. Agora, se voltarmos até o fim, podemos ver que o que estamos começando aqui é o esquema Mongoose que digita esse ID de Então, aqui temos a ideia desse objeto específico, e não é do best-seller. Não é desse item, é do item. O que estamos fazendo, na verdade é ir até o item. OK. E se formos ao banco de dados, podemos encontrá-lo aqui, na verdade. Então, temos o item. Na verdade, o que estamos fazendo é pegar esse ID daqui e colocá-lo dentro do nosso esquema como uma forma de item OK. Basicamente, é isso. Agora, voltando aos produtos, podemos pesquisar no item um banco de dados, encontrar por ID. Vamos encontrar por erro de função personalizada e encontrar itens cada vez mais altos. Se não houver erro, verificaremos se encontramos alguns itens redirecionaremos Talvez vamos registrá-los primeiro, itens encontrados. Me desculpe. E nesse caso, vamos simplesmente exibir os itens encontrados. Se esse não for o caso, é claro, exibiremos ou renderizaremos na página inicial. Então, coloque isso direto na página inicial. Agora, se encontrarmos os itens, queremos apenas criar, pegar a marca desses itens Então, vamos primeiro exibir esses itens encontrados. Vamos pegá-los e levá-los para a página do produto. Nesse caso, o que vamos fazer é simplesmente renderizar produto junto com a solicitação e os itens. Quais seriam os itens encontrados. Talvez digamos o nome de itens encontrados ou itens. Nesse caso, acho que estamos bem, por enquanto, se encontrarmos algo, renderizaremos página do produto ao lado desses itens encontrados. Agora, o que vamos fazer é acessar a página do produto e exibir esses itens encontrados como um formulário ou talvez como os detalhes desses itens encontrados. Aqui temos apenas um item. No entanto, podemos ter mais de um, vamos pegar o primeiro, então é por isso que estou colocando-o como item. Agora, se voltarmos e clicarmos em atualizar, eu desço até a impressora mais vendida Aqui temos produtos indefinidos. Vamos voltar e ver. Aqui temos produtos em vez de produtos. Agora, se eu voltar. Agora, o que estamos enfrentando aqui é que eu esqueci de parar de inserir os mais vendidos Vamos continuar e retirar todo banco de dados dos mais vendidos a partir daqui. E salve isso mais uma vez. Então, vamos parar com isso agora. O que vou fazer é talvez ligar o noto novamente. Vamos armazená-los e depois salvar este. No momento, teremos nosso melhor banco de dados aqui e ele contém apenas três produtos que mostraremos. É isso, basicamente, é uma atualização. Agora vamos fazer exatamente a mesma coisa para todos os produtos. São marcas ou categorias. De qualquer forma, seremos renderizados ou redirecionados para os produtos JS e continuaremos a partir daí Aqui estamos nos produtos da JS. Nesse caso, o que vamos fazer é criar cada alça aqui, em vez de ir a lugar nenhum Vamos corrigir isso simplesmente adicionando o local ou adicionando o link à página específica Nesse caso, o que vamos fazer é tentar digitar produtos, que é basicamente a página de produtos. Deixe-me adicionar as cotações, os produtos e, em seguida, abrir aqui que temos os itens Eu posso adicionar o item Do ID. Nesse caso, posso acessar a ideia do item específico. Claro, isso é o que estamos fazendo. Se eu voltar, vamos experimentar. Podemos enfrentar alguns erros, mas podemos ver ao longo da jornada. Se eu voltar do zero, vamos para a categoria, por exemplo, se eu pressionar o xampu específico, por exemplo, eu serei renderizado nesta página se eu pressionar esta Tudo bem. Então, estou correndo para a página inicial. Estou assumindo que temos um erro desde o que dissemos aqui no aplicativo para JS, se enfrentarmos algum erro dentro deste aplicativo para obter os produtos, o que vamos fazer é redirecioná-lo para ser redirecionado para a Não enfrentamos nenhum erro, simplesmente não encontramos nenhum item que tenha esse ID específico. O que vamos fazer é dividi-los em três categorias. A do best-seller, a das marcas e a das categorias. Então, acabei de criar um para a marca. Então eu o chamo de produto da marca. Então, o que vamos fazer é pegar esse, obter o nome do corpo que vamos criar e, em seguida, pesquisar os itens dentro do banco de dados de itens. Pesquise, há um título exatamente igual ao habitual. E nesse caso, se não houver erro e tivermos encontrado alguns itens, vamos apenas exibi-los e, é claro, renderizar o produto ao lado do item e da solicitação que recebemos. OK. Então, basicamente isso é o que estamos fazendo, e vamos fazer exatamente a mesma coisa para o produto das categorias neste caso, certo? Então, vamos fazer isso aqui. O que vamos fazer é obter a categoria do produto. Aqui, me desculpe, eu tenho um erro de digitação, então isso é e nós entendemos Agora, dentro desta, o que vamos fazer é criar a função. Acres abre esse único costume constante solicitando que, por nome, registre-o aqui apenas para visualizá-lo e , em seguida, pesquisar os itens Encontre o que corresponde a isso em termos de título e, claro, se tivermos um erro, precisamos exibi-lo e, se não, encontraremos algo. Então, se não houver erro, fazemos outra coisa para exibir esse erro. E, claro, vamos verificar se encontramos itens e então apenas redirecionar para a página inicial Se encontrarmos alguns itens, basta simplesmente exibi-los como itens. Libra mais itens. Obviamente, vamos renderizar a página do produto junto com a solicitação que recebemos e o item que encontramos. É isso, basicamente. É assim que podemos implementá-los de forma fácil. Vamos comprar este e simplesmente resolver isso. OK. Então, é isso, principalmente no próximo vídeo, vamos mostrar ou visualizar isso em ação e, claro, vamos continuar construindo Ainda temos a página de administração, ainda temos a opção de fazer pedidos. Precisamos adicionar todas as informações do usuário em nosso banco de dados e, claro, continuaremos fazendo seu pedido, armazenando seu pedido em nosso banco de dados e, é claro, exibindo-os na página de administração e na página de pedido do usuário. Com isso dito, este é o fim deste vídeo. Nos vemos na próxima. OK. 12. Carrinho: Olá e bem-vindo de volta. Neste vídeo, vamos dar uma olhada na página do produto. Como dissemos, acabamos de implementar anteriormente a página do best-seller, onde podemos clicar nos detalhes de C, e ela nos redirecionará para a página do produto E esse será o título do item, a descrição, preço, o tamanho da categoria da marca e quantas peças o usuário deseja. Em seguida, ele também pode adicioná-lo ao seu cartão. Neste exemplo, o que vamos fazer é mudar esses títulos, a descrição e os preços. Eles são estáticos, queremos torná-los dinâmicos. Desculpe, queremos torná-los dinâmicos e que possam ser alterados para cada produto. Nesse caso, vamos voltar para a página do produto. E nesta página do produto. Agora, lembre-se de que os enviamos aqui, Product of Best, e os renderizamos usando o item Então, o que vamos fazer é ir para a página do produto. E, como podemos ver, temos o título do item, uma descrição do preço, então queremos alterá-los. Então, como você os muda? É bem simples. Nesse caso, podemos chamar de título do item. OK. E aqui precisamos chamar o item D de descrição, já que estamos descrevendo esse item e o temos em nosso banco de dados. Então, como podemos ver, vamos excluí-los e tudo bem. Então, descrição do item. Deixe-me ter certeza de que, dentro do banco de dados, podemos descobrir que temos a descrição. Agora podemos exibir a marca e a categoria img R L. Quanto à marca, vamos exibi-la aqui. Então, como dissemos, marca do item. Agora, para a categoria, a mesma coisa. Então, a categoria do item quanto ao tamanho, podemos colocá-lo aqui. Este é o nosso tamanho, talvez adicione-o aqui, tamanho do item. Então temos quantas peças. Isso não é para nós. Isso é para o usuário. Temos o botão adicionar para cortar. Nós realmente não precisamos fazer nada aqui. No entanto, precisamos mudar a imagem, que é a imagem do item R L assim. Acho que estamos bem agora, se voltarmos e clicarmos em atualizar, obteremos o preço Desculpe, precisamos voltar aqui. Acho que o problema é que estamos exibindo ou pegando o primeiro ou qualquer título do item. Lembre-se de que, quando estamos pesquisando o item, estamos pesquisando todos os itens que têm o mesmo título. Nesse caso, estamos retornando uma matriz de itens e queremos apenas o primeiro item, então, para lidar com isso, simplesmente usaremos o item em zero. Este item é, na verdade, uma lista de itens. Vamos precisar apenas do primeiro, para lidar com isso, vamos simplesmente escrever em zero. Aqui, esquecemos o preço do item e, claro, em zero também esquecemos o igual, e vamos fazer a mesma coisa Acho que estamos bem, ainda temos o tamanho e a imagem. Isso é tudo para a imagem. Agora, se voltarmos e clicarmos em atualizar, obteremos algo parecido Temos nossa imagem, nosso título, descrição, preço, marca, categoria e tamanho ao lado da quantidade que o usuário deseja. Aqui, ele pressiona a quantidade e depois pode adicioná-la ao cartão Nesse caso, o que fizemos na verdade foi vincular o com aqui, temos o best-seller e vinculamos esse produto à sua descrição. A página do produto agora está vinculada à página inicial e, basta criar essa função que pega o item e o pesquisa no banco de dados do item e, em seguida, volta à página do produto e exibe todas as descrições ou todas as informações do item específico É isso, basicamente, é assim que podemos nos conectar entre eles. Agora, o que vamos fazer é trabalhar com esse cartão de adição. Agora estamos pressionando esse cartão de adição e nada está acontecendo. Vamos fazer com que funcione. Vamos adicionar isso ao cartão do usuário e, claro, vamos renderizá-lo novamente, talvez na página inicial ou na página de produtos. Vamos ver. Vamos voltar ao código aqui. Temos o botão aqui, e esse botão é do tipo enviar e temos nosso formulário. Então, agora a ação desse formulário é enviar, então vamos ter uma função de envio, e o método deve ser postado normalmente. Agora, voltando ao aplicativo JS, vamos criar uma nova função, que é basicamente vincular o produto à página de envio Então, vamos fazer isso aqui e eu vou primeiro criar a função e depois discuti-la. Vamos entrar nisso. Tudo bem Em primeiro lugar, aplique o aplicativo, mas após o envio e crie as funções normalmente, subindo e subindo os parênteses E, claro, o que vamos fazer é criar uma data para essa função ou sempre que o usuário estiver inserindo ou adicionando ao cartão. Eu o chamo de created a e será uma nova data, e vou transformá-la em uma string local. Nesse caso, vamos começar criando a caixa. Então, solicite na caixa. E nesse caso, a caixa está realmente aqui. Temos essa entrada, que é a caixa, e nessa caixa, teremos a quantidade que o usuário deseja. Vou adicionar algumas entradas que estão ocultas para tê-las conosco no arquivo aptOS. Nesse caso, vou ter o título do nome. O valor será como o nome indica o título deste produto, e eu vou ter mais alguns, então teremos a imagem do nome e o valor será igual a item.rl, e então finalmente teremos a última entrada, que também está oculta, e esse será o preço do valor, será igual ao preço do item, e acho que ainda estamos Tenho aqui para modificar este e obtemos. É isso, principalmente. Agora temos nossas entradas junto com a quantidade que o usuário deseja, podemos prosseguir e trabalhar com a função apto JS Primeiro de tudo, vamos pegar a caixa, vamos obter o tamanho ou o tamanho solicitado. O solicitado por idade, o título, como de costume, e o preço, como de costume. Agora, não tenho certeza se adicionamos o tamanho. Vamos prosseguir com o produto e adicioná-lo aqui mesmo. Temos a entrada e , em seguida, o tamanho e o valor do nome serão itens desse tamanho. É isso, basicamente. Vamos voltar. Agora estamos prontos para trabalhar com essa função. O que vamos fazer primeiro é encontrar o usuário que está fazendo login e, claro, adicionaremos isso ao cartão dele. Então, o que estamos fazendo primeiro é verificar se o usuário está bloqueado. Como você faz isso? Vamos criar o comprimento. Por exemplo, deixe-me criar uma variável primeiro, para que essa variável seja falsa, isso representará se o usuário está bloqueado ou não. E se eles solicitarem ao usuário que duração do pedido seja igual a zero, faremos alguma coisa. O que vamos fazer é pegar essa Variável S e torná-la verdadeira. Esse S representa que o usuário está fazendo o pedido pela primeira vez e queremos exibir ou obter suas informações para ter uma ideia melhor de sua localização, número de telefone e assim por diante S será verdadeiro nesse caso, e vamos verificar se o usuário e o comprimento são maiores que zero Nesse caso, verificado será esse pedido verificado será o último pedido do pedido e finalizado. O que estamos fazendo principalmente aqui é perguntar se o usuário já fez algum pedido antes e, nesse caso, se ele tiver alguns pedidos, o que faremos é retirar o cheque do último pedido. Agora, lembre-se de que o check-out é uma variável que é verdadeira se o usuário tiver feito o check-out e cai se não. E neste caso, vamos pegar e começar pelo nosso código aqui, de acordo com esses dois. Se um deles for verdadeiro, isso significa que queremos adicioná-los ao nosso banco de dados. Como você faz isso para verificar se S é verdadeiro ou se verificado é verdadeiro. Nesse caso, o que vamos fazer é encontrar por ID e atualizar. Esse é um método para localizar qualquer item ou usuário nesse caso, que tenha o ID específico e atualize as informações a seguir. O ID será o ID do usuário solicitado e, em seguida, abriremos isso, e é assim que podemos mudar, escrevemos o cifrão, pressionamos e podemos começar com a atualização. O que vamos atualizar são os pedidos desse usuário específico. Vamos abrir isso e atualizar cada um. Nesse caso, vamos abrir a matriz e os itens específicos. Então, o que vamos fazer é atualizar os itens específicos e, nesse caso, vou atualizar o preço, a quantidade e o tamanho do título da imagem. Como dissemos, a imagem será um será o preço será preço e a quantidade será a caixa que recebemos. OK. E, finalmente, esse tamanho será o tamanho que também temos. Agora, se os dois não estiverem satisfeitos, se um deles estiver satisfeito, descobrimos que podemos trabalhar com isso caso os dois não estejam satisfeitos, precisamos fazer outra coisa. Nesse caso, vamos começar encontrando o usuário, localizando o ID e atualizando o ID do usuário da solicitação , e usaremos o mesmo método, que é push. É assim que enviamos ou atualizamos , encontraremos os pedidos que finalmente estão e, nesse caso, atualizaremos a imagem, o título e o preço, a quantidade e o tamanho. Então eu acho que estamos bem. O que você precisa fazer agora é simplesmente sair daqui e filtrar de acordo com o checkout. Queremos que o checkout seja falso. Então, como você faz isso? Vamos simplesmente digitar filtros de matriz. É assim que fazemos, digitamos array filters checkout igual a false Com isso dito, este é o fim da visita. Continuarei na próxima para ver você. 13. Inicio a sessão: Olá e bem-vindo de volta. Neste vídeo, veremos como podemos entrar e sair aqui. Por exemplo, se quisermos fazer login, posso digitar meu login. Se houver algo errado, Se houver algo errado, receberei esta página da web se seu e-mail ou senha estiverem errados e eles solicitarão que eu tente novamente. Nesse caso, se eu quiser me inscrever, por exemplo, posso simplesmente digitar meu nome e depois meu e-mail. E, claro, uma senha, vamos criá-la por enquanto e depois clicar em. Vamos ver. Este é meu nome e este é qualquer e-mail, unis at example.com Vamos fazer disso um e um. Agora, se eu clicar em assinar, serei redirecionado para a página inicial, como podemos ver, agora podemos ver esse ícone e, claro, temos a opção de sair Agora, estamos fazendo isso porque, se quisermos ir para a marca, por exemplo, como dissemos, se marcarmos para a Johnson. Digamos que temos esses produtos, essas imagens não estão sendo registradas ou não estão carregando por enquanto, vamos esperar um pouco. Mas, para fins de argumentação, temos esta página onde temos os produtos. Nesse caso, quero adicionar este ao meu carro. Se eu estiver conectado, serei redirecionado para a página de envio, conforme dissemos Se não, vamos sair. Então, se eu não estiver desconectado, se eu não estiver conectado, serei solicitado a fazer login. Então, se eu voltar agora e tentar adicionar isso ao meu cartão, serei solicitado a entrar novamente. Quero inserir o e-mail e a senha. E isso é o que realmente fizemos neste caso. Então, aqui, quando implementamos o produto ou a função de adição ao cartão que nos leva ao envio, também dissemos que aqui, se virmos Então, se estivermos verificando se o usuário está conectado ou não, se for esse o caso, estamos atualizando o pedido do usuário. Caso contrário, vamos apenas atualizar o item específico nesse pedido. Obviamente, agora vou ver se o usuário ou o endereço do usuário está disponível. Caso contrário, vou renderizar esta página de envio como dissemos. Obviamente, se tivermos as informações do usuário, vou acessar a página da Web do Place Order. Agora, essa é uma ideia geral sobre o que vamos fazer. Mas é claro que vamos entrar nos detalhes e, claro, entender melhor enquanto trabalhamos nisso. Tudo bem O que estou pensando agora é criar a página de falha de login, já que temos a inscrição e ainda não temos o login, o login falhou. O que vou fazer é criar uma falha de login aqui, e tudo bem, esse é o arquivo EJS, e é para onde seremos redirecionados se algo errado acontecer com nosso login O que vamos fazer é primeiro incluir o cabeçalho So from partials. E então vamos começar com o fluido do recipiente. Então, vou criar a linha, que seria o centro do texto principalmente com pouco de preenchimento e a coluna seria média em três Acho que estamos bem. O segundo será seis. E nesse caso, vou escrever e, em seguida , um parágrafo do líder da turma dizendo que seu e-mail ou senha estão errados. Mas basicamente é isso. Agora vamos pedir que ele tente novamente. E vou começar criando o formulário real para tentar novamente. Este formulário nos levará ao seno n. Vamos criá-lo mais tarde, e o método será o post usual Agora, vamos começar a trabalhar com esse formulário. Vou criar o diálogo do modelo. Esses são de. Vou criar o conteúdo do modelo. Vou começar com o cabeçalho do modelo. Ok. Então é isso, basicamente, agora podemos colocar nosso cabeçalho. Vou escrever o seno n. Então isso será modelado. Título. Vou escrever o sinal seguido por um botão com o botão de digitação. A aula será BTN, encerrada e, claro, o que vou fazer é descartar isso e vamos usá-la Isso falhará e será igual ao modelo. Nesse caso, o que vamos fazer é continuar com a criação do corpo do modelo. E, claro, vou criar o grupo de formulários por Y dois. E, claro, vou começar com o rótulo. Portanto, esse rótulo será para e-mail e a turma será um endereço de e-mail com rótulo. E depois vou segui-lo pelo tipo louco e, claro, por algumas classes, como controle de formulários. Eu vou ter y dois, P dois e input como classes. O nome será principalmente nome de usuário. Agora, depois disso, vou criar outro grupo de formulários para a senha. Vou copiar isso. Isso é copiar e colar aqui. No entanto, aqui temos a senha, vou escrever a senha. E o tipo também será a senha e o nome. Ok. Então é isso principalmente. É assim que podemos criar o endereço de e-mail e a senha. Então, vamos seguir em frente e visualizá-lo aqui. Vamos supor que eu tenha cometido um erro ao me inscrever. Isso me levará a esta página onde eu tenho endereço de e-mail do Ops, a senha, estou errado. Tente novamente, temos o sinal, temos o endereço de e-mail e a senha ao lado do botão de login aqui. Então, vamos criá-lo lá embaixo. O que vamos fazer agora é criar o rodapé do modelo e eu vou justificar o conteúdo. Começar. Nesse caso, vou criar o botão que vamos enviar, e a classe será T N. Talvez vamos adicionar algum estilo, como a cor de fundo. Vou fazer com que eu goste do sclorthree 18f5, oito F cinco, e vou escrever É isso, basicamente. Agora, se eu voltar, como podemos ver, esta é a nossa página, e isso nos redirecionará para, como dissemos, esse formulário seno ou ação de login que criaremos posteriormente no apto criaremos posteriormente no apto Este é o nosso sinal de falha. Vamos voltar ao nosso apto JS e continuar nosso trabalho aqui. Agora, no arquivo apto, o que vamos fazer é criar a função de login e, neste caso, deixe-me criá-la logo abaixo desta O que vamos fazer é criar o apto post, sign, e o que vamos fazer é criar as funções normalmente, e eu vou criar o usuário Nesse caso, o usuário estará em U user Okay. Vamos abri-los e o nome de usuário será solicitado pelo nome de usuário. Como dissemos, agora, obtivemos o nome do usuário do corpo da solicitação e o que vamos fazer é verificar se esse usuário está fazendo login. Então, como você faz isso? Solicitamos o login. Nós inserimos o usuário que criamos e criamos a função com o erro. Se houver algum erro, basta desconectá-lo, caso contrário, vamos verificar. Se o passaporte estiver autenticado, então estamos bem. Caso contrário, precisamos redirecioná-lo para o campo de login que acabamos de criar anteriormente Então, como você faz isso? Então, escrevemos passaporte autêntico oito autêntico oito e vamos abrir. Vamos dizer que a falha redireciona dois, vamos redirecioná-la para o sinal Essa é outra função que criaremos posteriormente, e essa função será apenas responsável pela renderização para assinar o arquivo DGS com falha Nesse caso, depois de criar este, o que vamos fazer é continuar com a solicitação, d e seguida pela função, e essa função simplesmente será redirecionada para a página inicial Ok. Então, basicamente, é isso. É assim que podemos fazer isso. Agora, o que vamos fazer é criar o aplicativo sem fio e falhar Então, como dissemos, se algo estiver errado, seremos redirecionados para a senoidal. Então, como você faz isso? Ative as funções de seno e falha como de costume, aumente aumente e renderize para seno e falhe Ok. Então, temos a solicitação de solicitação, como de costume, e terminamos agora. É assim que podemos fazer isso. Em primeiro lugar, criamos a postagem adequada para fazer login. E o que estamos basicamente fazendo é obter o nome de usuário do usuário, estamos criando um usuário. E estamos verificando. Se esse usuário estiver fazendo login agora, tudo bem. Acabamos de acessar este usuário que está, na verdade, em nosso banco de dados. Basta acessar a página inicial e ajustar o login para sair. Nesse caso, indicando que o usuário está conectado agora e também pode comprar ou adicionar ao seu cartão. Caso contrário, se esse não for o caso, vamos redirecioná-lo para a página de falha de login E como você faz isso, vamos até o AbdTgt, renderizamos até o sinal e falhamos pelo sinal abd g e falhamos aqui Basicamente, é isso. Agora, se voltarmos para casa aqui, e como você pode ver, agora projetamos e falhamos. O que precisamos fazer agora é que, se eu realmente criei isso, suponhamos que eu tenha feito login e esteja tudo bem agora. Se eu voltar, por exemplo, para casa, como você pode ver, estou conectado, temos o botão de sair agora e temos esse cartão. Se eu pressionar no cartão, o que faremos é exibir essa página da web onde o usuário talvez possa adicionar todas essas informações e, em seguida, pressionar Avançar. Ok. E, claro, vamos adicionar esse pagamento. Por enquanto, temos apenas um pagamento em dinheiro na entrega. Se o usuário pressionar, eu serei redirecionado para esta página onde teremos o pedido que o usuário tem Por exemplo, acabei de adicionar este ao meu cartão e você também pode adicioná-lo novamente, para que ele possa voltar aqui e depois voltar novamente, por exemplo, se você quiser mudar o endereço dele ou algo assim. E, claro, depois de tudo isso, ele também pode remover ou fazer o pedido. Basicamente, é isso. É assim que podemos fazer isso. Obviamente, depois de fazer o pedido, o que veremos são as compras aqui e com o botão pendente, indicando que esse pedido ainda está pendente, ainda não foi recebido e, claro, o total com a data e hora do pedido. Então, com isso dito, este é o fim deste vídeo. No próximo vídeo, vamos implementar todas essas funções. Eles são bem simples. No entanto, precisamos ter muito cuidado ao criar ou trabalhar com esses tipos de funções, pois elas se encaixam muito umas nas outras. Por exemplo, aqui, temos esse endereço de pagamento e, em seguida vamos voltar para a página de assinatura na web e assim por diante. Então, basicamente, nos vemos no próximo vídeo. Ok. 14. Envio: Olá e bem-vindo de volta. A primeira coisa que faremos neste vídeo é aprender como podemos alternar entre o login e a saída. Então, como podemos ver, sempre que não estamos fazendo login ou não estamos nos inscrevendo, podemos ver os dois botões, o cadastro e o login aqui. Vamos clicar em entrar, escrever nosso e-mail. Em seguida, pressione o botão de login. Nesse caso, vamos ver esse ícone seguido pelo botão de sair. Como fazemos isso? Vamos voltar para o abdômen aqui e abrir o cabeçalho. Esse cabeçalho está parcial, como podemos ver, estamos apenas exibindo a inscrição aqui. OK. Então, o login foi seguido, é claro. O que vamos fazer é criar isso aqui mesmo. Então, digamos. Em vez de apenas mostrar a inscrição, verificaremos se o usuário está autenticado ou se a solicitação está autenticada, que significa que o usuário está fazendo login ou está conectado Nesse caso, não mostraremos o botão de inscrição. Caso contrário, mostraremos o ícone deste , como dissemos. OK. Então, neste caso, vamos fazer isso aqui. O que vamos fazer é abrir uma declaração if, então, se a solicitação for autenticada, se for esse o caso, faremos alguma coisa E o que eu estou pensando é fazer isso aqui. Então, o que vamos fazer é verificar se o usuário da solicitação não está autenticado Se for esse o caso, mostraremos esse botão. Caso contrário, o que vamos fazer é mostrar o ícone. Nesse caso, como podemos fazer isso, podemos simplesmente abrir outra declaração. Então, se a solicitação for autenticada. Nesse caso, o que vamos fazer é criar uma classe de P x uma coluna dois e, para grandes, vou torná-la coluna grande um. E vamos abrir. Vamos abrir a barra de navegação e vou chamá-la de item de navegação E neste, vou criar um link que vai para o carrinho e vamos usá-lo mais tarde. Mas, por enquanto, vamos criar o Nank. Neste, vou criar o ícone que é do bootstrap Vou pegar o ícone que é um carrinho de compras. OK. E então vamos mudar a cor para branco e, claro, esse item ficará vazio. O que vamos fazer aqui é fechar este por enquanto e continuaremos com o login. O que acabamos de fazer aqui é verificar se o usuário ou a solicitação estão autenticados e, portanto, se o usuário está logado Se for esse o caso, vamos mostrar este. Caso contrário, mostraremos a inscrição aqui. Vamos fazer exatamente a mesma coisa com o login. Aqui, vamos verificar se o usuário ou a solicitação estão autenticados Mostraremos o sinal, se não for o caso, e o sinal de saída, se for esse o caso. Como você faz isso? Como antes, vou apenas tentar se a solicitação está autenticada O que eu vou fazer é abrir aqui e fechar aqui. Vou copiar isso ou talvez eu possa digitar aqui L, por exemplo, abrir novamente. E depois feche-o aqui mesmo. Então eu acho que isso faria sentido. Então, o que estamos dizendo aqui, se a solicitação for autenticada, precisamos mostrar algo e, se não, mostraremos o login Então, vou copiar tudo isso, colar novamente aqui e alterar o login para sair. Então, como podemos ver, agora, se voltarmos, classe é atualizada, agora conectada, para que a solicitação seja autenticada É verdade. Vamos mostrar este seguido pelo padrão de desconexão. Agora, se você pressionar para sair, faremos algo que nos levará de volta à página inicial junto com a solicitação autenticada para ser igual a falsa Como você faz isso? Vamos voltar e fazer isso no laboratório, como antes. O que vamos fazer é obter o sinal que acabamos de criar aqui, como podemos ver. Temos o sinal de saída. O que vamos fazer é deixá-lo ir até o logout Here. Então, como você faz isso, simplesmente escrevemos sine out. Claro, o que vamos fazer com este é entrar. Estamos recebendo a placa aqui. Vamos voltar ao apto JS e corrigi-lo aqui. Vamos pegar a placa. Isso é seno de saída e, em seguida, criaremos a função normalmente, para cima e renderizaremos o seno em caso de falha e solicitação de solicitação Ou talvez eu me desculpe, aqui não precisamos renderizar a falha de login. Vamos acessar a página inicial em vez de falhar no login porque só queríamos sair e, claro, como você sai? Simplesmente digitamos a solicitação de saída. E então, simplesmente seremos redirecionados para a página inicial, redirecionando para a página acima, e ela nos levará de volta à Então, agora com isso dito, podemos continuar com nossa função, que é a função do cartão de remessa. E nesse caso, se você se lembra, acabamos de criar essa função e também dissemos que, se o usuário solicitado esse endereço de endereço é igual a nulo Nesse caso, isso significa que o usuário ainda não adicionou seu endereço , então precisamos adicioná-lo. Então, o que vamos fazer é renderizar para o cartão de remessa aqui e junto com a solicitação e, claro, o endereço que solicita esse endereço ao usuário. Então, basicamente, é isso. É assim que podemos fazer isso. Agora, o que vamos fazer é ir até o cartão de remessa e corrigir o endereço, é claro, e depois vamos passar para o cartão. Agora, se o usuário já tiver adicionado o endereço, simplesmente acessaremos ou renderizaremos a página do cartão. E nesse caso, o que estamos simplesmente dizendo é que, se o usuário tiver seu endereço configurado e tudo estiver funcionando corretamente. Não precisamos acessar esta página, que é a página do carrinho de remessa. Essa é essa, se você quiser ver aqui. Se for o usuário, vamos supor que queremos ir até Johnson e pressionamos Baby Johnson. Nesse caso, se eu pressionar adicionar ao cartão, vou até aqui porque adicionei esse endereço. Mesmo que tenhamos um vazio, lembre-se de que passamos pelo processo, então isso significa que eu adicionei o endereço aqui. Se eu quiser editá-lo, posso voltar e editá-lo aqui. Tudo bem. Então, o que vamos fazer agora é receber esse frete. Então, como fazemos isso? Vamos obter At the shipping e, ao lado da função, drag seguido pela renderização. Em seguida, acessaremos o cartão de remessa e, é claro, acompanharemos a solicitação junto com o endereço em que solicitamos esse endereço ao usuário , e tudo bem. Então é assim que podemos fazer isso. Agora, o que vamos fazer é ir até o pagamento e, nesse caso, como dissemos anteriormente, então, se estamos enviando aqui e tudo bem, clicamos em Avançar, queremos ir para a forma de pagamento e, nesse caso, vamos criar a função para esse pagamento. Então, para fazer isso, vou simplesmente escrever o pagamento e, claro, vou arrastar como de costume, e vou renderizar agora o cartão de pagamento GS precisa de HS e apenas digitar o cartão de pagamento e pronto. Como temos apenas um método de pagamento, não precisamos realmente levá-lo conosco. Sabemos que isso é dinheiro na entrega, então levamos a solicitação conosco. OK. Agora, depois de receber o pagamento, também podemos trabalhar com o método postal desse pagamento. Então, como você faz isso? Todas essas funções serão implementadas daqui a pouco. Mas, por enquanto, vamos apenas escrevê-las e, claro, vamos discuti-las em detalhes depois. Portanto, o método postal para pagamento será Function, red and open these Vamos pegar as informações que obtivemos função de envio ou do método de envio. Então, vou armazená-los constantemente. Portanto, solicite o número do ponto corporal. OK. Constante: adicione mesmo corpo da solicitação, ponto, endereço, solicitação constante da cidade para por cidade. E o ID é igual à solicitação ao ID do ponto do usuário. E nesse caso, o que vamos fazer é pesquisar o usuário por ID e atualizar as informações a seguir. Nesse caso, como você procura por isso. Então, vou digitar usuário para encontrar por ID e atualizar. Vou descobrir por meio dessa identificação que sentamos agora. E o que vamos atualizar é o seguinte. Então, como atualizamos ou configuramos realmente algo que não está disponível para nós no momento. Podemos simplesmente escrever set , abrir e alterar o endereço desse endereço, torná-lo igual ao endereço que obtivemos, alterar o endereço para ser igual ao número de telefone e a cidade do endereço para ser igual à cidade. Então é isso, principalmente agora, vamos apenas retornar a função. Então, se tivermos uma rede, vamos ter, então, se tivermos um erro, vamos simplesmente desconectá-la. Caso contrário, vamos apenas registrar que nenhum erro é Não. Erro seguido pelo endereço do usuário que acabamos indicando que tudo funcionou bem, e esse é o endereço que obtivemos e salvamos em nosso usuário. Então, se você quiser ter certeza que essa é a maneira correta, podemos ir até o usuário. E, como podemos ver dentro desse usuário, temos o nome de usuário e os pedidos. Claro que, por enquanto, não temos o endereço. No entanto, nós o temos em nosso esquema aqui. Então, como dissemos, esse é o esquema do usuário. Temos algo chamado endereço e, dentro desse endereço, temos a cidade e o número de telefone ADD R S. E foi isso que fizemos. Acabamos de criar esse endereço e adicionar tudo isso a esse endereço específico. OK. Então, basicamente, é isso. Agora vamos voltar até o fim. Agora, o que vamos fazer é acessar as páginas página por página, começando com o cartão de remessa, e vamos dar uma olhada. Vamos supor que agora estamos neste cartão de remessa. O que vamos fazer é rolar até o fim. Como podemos ver aqui, precisamos ajustar esse formulário e isso nos levará ao pagamento, que é o método post. O que estamos fazendo aqui? Primeiro de tudo, vamos adicionar essa função aqui. Armazenamos todos os endereços. Portanto, temos o endereço do usuário, a cidade e o número de telefone. E sempre que pressionarmos em Avançar, seremos direcionados para o pagamento ou para a página da web de pagamento Nesse caso, antes de ser renderizado para este, vou para essa ação, que é o pagamento com o método post, e basicamente isso é tudo Vou pegar todas as informações que acabei de receber. Encontre o usuário pelo ID e armazene todas as informações. E então, é claro, vou renderizar para o cartão de pagamento. OK. E é isso basicamente. Agora, estamos bem. No próximo vídeo, continuaremos com a função de envio e armazenamento. Então, até lá. OK. 15. : OK. Olá e bem-vindo de volta. Neste vídeo, continuaremos nossa discussão e nossa implementação dessa função específica. Ou seja, se eu pressionar Johnson e escolher um dos produtos e adicioná-lo ao meu cartão. Como podemos ver, chegamos a esta página em que exibiremos todos os pedidos e, claro, o padrão de fazer pedidos aqui. Obviamente, também queremos adicionar o endereço e o pagamento. Então, para fazer isso, deixe-me voltar e começar criando o método post da função de cartão. Como dissemos, a primeira coisa que nos renderizaremos é o cartão de remessa E, nesse caso, se já adicionamos o frete ou a alocação do pedido, então não queremos realmente ir para este Podemos ir diretamente para o cartão de fazer pedido ou para o arquivo de fazer pedido e, nesse caso, isso aparecerá aqui na nossa frente Como já adicionamos o endereço, agora ele está vazio, mas já o adicionamos no vídeo anterior, seremos renderizados automaticamente nessa página Por exemplo, se eu sair, vamos me inscrever novamente e dar o nome de “morrer”. E vamos mudar de ideia em example.com, passe a. E se eu clicar em Inscrever-se, serei renderizado para esta E se eu clicar em Inscrever-se, serei renderizado para Agora, se eu escolher um dos produtos, como você pode ver, aqui, se eu escolher Baby Johnson e adicionar ao meu cartão, serei processado na remessa em vez do pedido pois ainda não adicionei meu endereço completo Então, como fazemos isso? A primeira coisa que vamos notar é que sempre que houver um cartão de remessa sempre que estivermos na página do produto. Vamos supor que eu esteja aqui na página do produto e pressione o botão Adicionar ao cartão aqui. Nós vamos ser renderizados a este. Esse é o formulário. Seremos renderizados de acordo com o método de envio Deixe-me deletar esses. OK. Portanto, não precisamos deles. Todos eles. Agora, se eu for até o abdômen, e como podemos ver, procuro o frete. Essa é a função de envio que acabamos de criar no vídeo anterior e a temos aqui. Estamos dizendo que, se o tamanho do pedido for zero, ou se o pedido ou a finalização da compra forem falsos nesse caso, faremos outra coisa Caso contrário, adicionaremos esse pedido ao item específico ou à caixa de pedidos específica. Obviamente, caso contrário, encontraremos o usuário pelo ID e atualizaremos o pedido nesse caso. Isso é o que estamos fazendo aqui e, é claro, vamos renderizar para a próxima página. Estamos dizendo que se o endereço for nulo o usuário ainda não tiver inserido nenhum endereço, vamos renderizar no cartão de remessa Caso contrário, vamos renderizar para o cartão aqui mesmo. Agora, vamos supor que estamos no cartão de remessa. Se eu voltar para o cartão de remessa, e vamos ver, temos o botão para enviar e nosso formulário é para ação de pagamento, na verdade. Agora, se eu voltar e digitar o pagamento, já criamos os dois métodos. O primeiro. É o método de postagem que consiste em encontrar o ID do usuário e, claro, atualizar todas essas informações e depois renderizar no cartão de pagamento. Agora, se formos até o cartão de pagamento, como podemos ver aqui, podemos ver a forma de pagamento que, por enquanto, só é paga na entrega. No entanto, temos o botão do tipo enviar e nosso formulário ainda está vazio. Portanto, agora podemos atualizar esse formulário e, claro, trabalhar nesse método posteriormente. Então, por exemplo, aqui, vou criar uma função que é card e o método sempre será post. Agora, se eu voltar, vamos criar nosso método aqui. Então, postagem do aplicativo. Vamos postar o cartão e funcionar normalmente, , é claro, vamos encontrar por identificação e vamos enviar essa identificação. Então, vamos encontrar por esse ID e, claro, vamos aumentar a função Então, se tivermos um erro, vamos desconectá-lo. Caso contrário, receberemos os pedidos do usuário. Vou dar o nome de ordens. Então, o usuário faz pedidos, e eu vou pegar o primeiro pedido, que é o que eu adicionei recentemente, e depois vamos fazer alguma coisa. O que estou basicamente fazendo aqui é que temos nossa lista, vamos supor que ela esteja ativa e, na verdade o MG DB a veja no banco de dados. Então, o que estamos basicamente fazendo é que temos o usuário que pediu algo, e os pedidos estão, na verdade, em uma lista de pedidos. Então, vamos supor que eu tenha feito o pedido hoje. Eu tenho um pedido hoje e, se eu fizer o pedido amanhã, tenho um pedido completamente diferente do de hoje. No entanto, ambos estão em uma lista de pedidos. Agora, se pudermos ver aqui, vamos abrir o mais recente, e este é o banco de dados m to edge. Vamos abri-lo, pois podemos ver que temos os usuários. Por enquanto, por exemplo, temos três usuários e temos pedidos aqui. Como podemos ver se eu pressionar isso, não tenho nenhum pedido no momento para esse primeiro usuário. Agora, se eu rolar para baixo, podemos ver este, acho que temos alguns pedidos, tudo bem. Portanto, temos o número de ordem zero, temos o pedido número um e temos o pedido número dois. Como dissemos, a primeira coisa que vamos receber é o recebido, o que é falso. Ainda não o atualizamos. O checkout é falso. Esse é o ID do pedido e temos os itens dentro desse pedido. Como podemos ver dentro deste item, temos uma matriz de objetos. Portanto, o primeiro objeto é, na verdade, o ID do objeto , a imagem, o título , o preço e a quantidade. OK. Então é assim que podemos obtê-los. Então, basicamente, o que estou fazendo é que sempre que o usuário estiver pressionando o botão de fazer pedido, ele será redirecionado para o cartão E nesse caso, o que vamos fazer é exibir o último pedido que ele está recebendo. Então, por exemplo, se ele tiver três pedidos, como 012, exibiremos o último, é isso Então, esse é o último que o usuário pediu. E nesse caso, vamos fazer isso simplesmente dizendo que a ordem é a ordem em zero. Agora, o que vamos fazer é verificar novamente se o endereço não é nulo, apenas para garantir que, nesse caso, não seja nulo E se for esse o caso, retornaremos ao envio e a solicitação será como de costume, junto com o endereço. Então, basicamente, é isso. Agora, esse não é o caso. O que vamos fazer é renderizar para o arquivo de pedido de local. Então, como fazemos isso, simplesmente renderizamos a ordem de colocação e precisamos levar conosco os parâmetros de que precisamos. Portanto, nesse caso, precisamos da solicitação, precisamos dos itens, seja, podemos sempre pegar esse item ou acessá-lo simplesmente fazendo este pedido. Então, neste pedido, temos o primeiro item ou é o primeiro elemento dentro da lista de pedidos. E, nesse caso, poderíamos ter dito esse pedido ou talvez possamos dizer usuários, os pedidos com zero itens. Então, pegamos tudo e os colocamos do lado de fora e podemos acessar esses itens simplesmente adicionando usuários ou itens, e então temos o pedido real. Então eu entendo assim e os pedidos, como de costume. Então, basicamente, agora aqui, temos uma função, então estamos bem. Agora, vamos passar para o pedido de colocação. Como podemos ver, primeiro temos essa barra de progresso, depois, se rolarmos para baixo, temos a cidade e precisamos mudar tudo isso e torná-lo dinâmico. Por exemplo, sempre que o usuário pressionar o botão Fazer pedido, exibiremos seu endereço, a cidade, o número de telefone e, claro, alteraremos esses pedidos aqui Portanto, se você tiver itens, vamos alterá-los de acordo com os itens que o usuário pediu anteriormente. OK. Então, basicamente, é isso. Isso é o que vamos fazer. E com isso dito, este é o fim deste vídeo. O que fizemos por enquanto foi pegar todas essas informações e adicioná-las, então vamos supor. Vamos ver se eu adiciono algumas coisas aqui. E vamos para o próximo pagamento na entrega. Então, o que estamos basicamente fazendo aqui é exibir todas as informações aqui. Então, discutiremos isso ainda mais no próximo vídeo, esse é o seu projeto. E espero que você tenha uma ideia clara sobre sua tarefa e o que você deve fazer neste projeto Então, espero que você tenha gostado dessa aula. Espero que tenha sido benéfico. Com isso dito, este é o fim deste vídeo. Nos vemos na próxima. 16. Projeto: Olá, e bem-vindo de volta. Neste vídeo, vamos discutir o projeto. Portanto, lembre-se de que, no vídeo anterior , adicionamos tudo isso ou bloqueamos a função do cartão que é responsável por nos renderizar ao local, se tudo funcionar bem Nesse caso, o que levaremos conosco é a solicitação, os itens que o usuário pediu ou o pedido real e os pedidos. Agora, sua tarefa é fazer com que esta página fique assim. Como dissemos, obtivemos todas as informações e, por enquanto, elas não exibirão os pedidos aqui. Ele exibirá variáveis fictícias que acabamos de criar. O que você vai fazer é pegar esses pedidos e adicioná-los a esse pedido aqui. Voltando ao código, se formos para a ordem de colocação aqui, podemos ver que colocamos algumas variáveis fictícias aqui, e precisamos transformá-las em variáveis reais Sua tarefa é basicamente criar um loop dobrável, examinar todos os itens que o usuário pediu e, claro, exibi-los aqui e, em seguida, talvez calcular o total desses itens, exibir aqui o item com talvez seu preço e, em seguida, exibir o total aqui Obviamente, como dissemos, vamos supor que a entrega gratuita do pedido seja inferior a $50 Então, você deseja calcular o total desse pedido. Se for menor que 50, você escreverá a entrega gratuitamente. Obviamente, se for menor que 50, você escreverá talvez $10 pela entrega e, se for maior que 50, escreverá gratuitamente Por enquanto, é isso e, claro, só temos mais uma tarefa que é a forma de pagamento. Talvez, é claro, eu sempre possa voltar a partir desse botão adicionado e, claro, se eu pressionar aqui em seguida, serei processado com esse pagamento. Então, o que vamos fazer aqui também é acessar esta página e fazer com que o próximo botão não seja exibido, como neste exemplo aqui. Agora, se eu pressionar esse botão de pagamento na entrega, agora posso acessar próximo botão para ir para a página de fazer o pedido. A primeira tarefa é simplesmente exibir todas as informações que obtivemos da função do aplicativo ou da função de postagem que criamos anteriormente e exibi-las nesta página, como o resumo do pedido, os pedidos e, claro, a segunda tarefa é adicionar a função de pagamento que exibirá o próximo botão assim pressionarmos o pagamento na entrega. Agora, a última tarefa do seu projeto é criar essa edição ou executar a função adicionada. Nesse caso, sempre que pressionarmos essa função adicional ou esse botão adicionado, seremos redirecionados para a página de envio Essa é uma tarefa simples que você pode fazer com algumas linhas de código e pronto para todo o projeto. Criamos todos os componentes que são úteis e essenciais para nós. Com isso dito, este é o fim deste vídeo. Não se esqueça de colocar este projeto na seção de projetos, para que eu possa dar uma olhada e dar meu feedback. Com isso dito, este é esse vídeo. Espero que você tenha gostado dessa aula e mal posso esperar para ver você em mais aulas.