background top icon
background center wave icon
background filled rhombus icon
background two lines icon
background stroke rhombus icon

Скачать "Build and Deploy a Full Stack E-Commerce App with an Admin Dashboard & CMS in 2024 | Next 14, Stripe"

input logo icon
"videoThumbnail Build and Deploy a Full Stack E-Commerce App with an Admin Dashboard & CMS in 2024 | Next 14, Stripe
Оглавление
|

Оглавление

0:00
Intro
3:33
Payload Setup
8:05
Code Setup
16:55
Folder Structure
27:41
Header
43:37
Footer
1:04:41
Login Page
1:10:53
Create Account Page
1:14:32
Recover Password
1:19:58
Hero Section
1:34:30
Categories Section
1:56:47
Promotion Section
2:03:51
Products
2:13:16
Filters
2:25:53
Product Card
2:38:42
Product Details Page
2:45:58
Related Products
2:55:36
Cart Page
3:20:00
Stripe
3:25:15
Checkout
3:29:11
Order Confirmation Page
3:31:00
Challenge
3:33:56
Deployment
Теги видео
|

Теги видео

javascript
javascript mastery
js mastery
master javascript
next 14 tutorial
next 14 project
next 14 server actions
next 14 auth
next 14 js
next 14 e commerce
next 14 course
next
next js project
nextjs 14
next js ecommerce app
next js ecommerce store
next js ecommerce 2023
next js ecommerce template
next js ecommerce site
ecommerce react
ecommerce website
ecommerce nextjs
payload cms
web shop
online shop next js
payload cms ecommerce
ecommerce app
Субтитры
|

Субтитры

subtitles menu arrow
  • enАнглийский
Скачать
00:00:00
готовы ли вы развивать свою электронную коммерцию и
00:00:02
игра на панели администратора: узнайте удивительную вещь
00:00:04
CMS, использование и использование которой не вызывает головной боли
00:00:07
лучший стек для этого: следующая полоса и
00:00:10
машинописный текст, привет и добро пожаловать в новый
00:00:13
создадим и развернем видео, где мы будем строить
00:00:16
Сайт электронной коммерции на базе nextjs с
00:00:18
админка настолько хороша, что даже Тони Старк
00:00:21
будет немного завидовать, мы будем
00:00:24
разработать привлекательную домашнюю страницу, которая
00:00:26
следует лучшим практикам проектирования, которые мы
00:00:28
есть раздел героев
00:00:30
категории новые коллекции текущие акции
00:00:33
и функции магазина, дополненные
00:00:36
четкий нижний колонтитул, мы создадим страницу магазина
00:00:39
что даже гости могут посетить, позволяя
00:00:41
пользователи для изучения продуктов применяют категорию
00:00:43
фильтры посмотреть больше продуктов с бинированием
00:00:45
что является ключом к производительности в
00:00:47
проекты электронной коммерции разрабатывают краткую
00:00:49
Страница сведений о продукте с продуктом
00:00:51
рекомендации Внедрить и добавить
00:00:53
карточная система, которая работает без
00:00:55
пользователи аутентификации могут регулировать количество
00:00:58
получать мгновенные обновления цен или
00:01:00
удалить продукты Реализовать пользователя
00:01:02
аутентификация с безопасным входом в систему и
00:01:04
процесс регистрации, включая пароль
00:01:06
восстановления разработать рациональную и
00:01:09
минималистичный процесс оформления заказа, который
00:01:11
оптимизирован для лучшего взаимодействия с пользователем
00:01:13
и большинство покупок надежно собираются и
00:01:16
обрабатывать платежи, а также развивать
00:01:18
удобная страница учетной записи, которая позволяет
00:01:21
пользователи для обновления личной информации см.
00:01:23
прошлые покупки текущие заказы заказ
00:01:26
подробности и, конечно же, возможность выхода из системы
00:01:28
это только начало, это настоящее веселье
00:01:30
панель администратора, откуда вы можете
00:01:32
контролировать абсолютно все в своем магазине
00:01:34
веб-сайт, начиная с пользовательских страниц, где
00:01:37
вы можете напрямую добавлять новые страницы по индивидуальному заказу
00:01:39
их по своему вкусу, добавляя разнообразные
00:01:41
разделы создания текстовых изображений и многое другое
00:01:44
легко добавлять новые товары контролировать заказы
00:01:47
добавлять категории удаления или обновления в реальном времени
00:01:49
управлять временем клиентов, а также страницей
00:01:52
перенаправления для оптимальной навигации и
00:01:54
пользовательский опыт настроить заголовок и
00:01:57
нижний колонтитул и даже управлять SEO из объявления
00:02:00
панель это безумие, да, это типа
00:02:01
иметь лучшие части Wordpress
00:02:04
не ограничиваясь этим и не имея
00:02:06
все лучшие варианты nextjs у вас
00:02:08
на кончиках пальцев все это стало возможным
00:02:11
с полезной нагрузкой CMS, безголовой CMS и
00:02:13
платформа с открытым исходным кодом, которая оптимизирует
00:02:15
ваш рабочий процесс разработки, предоставляя вам
00:02:17
серверную функциональность, позволяя при этом
00:02:20
вы можете настроить свое приложение и добавить
00:02:22
дополнительные функции, поэтому создавайте и
00:02:24
развернуть быстрое безопасное и масштабируемое приложение в
00:02:27
всего несколько дней, которые обычно занимают
00:02:29
месяцев это самый быстрый способ развития
00:02:32
и обеспечивать работу всего, от веб-сайтов до
00:02:34
внутренние инструменты Определите свою схему в
00:02:35
магнитофонный сценарий и получите полный бэкэнд и
00:02:38
Админка CMS бесплатно примерно за год
00:02:40
полезная нагрузка в месяц поместит камеру ver в их
00:02:42
бесплатный уровень из-за этой полезной нагрузки будет
00:02:44
по сути стать официальным следующим GS
00:02:46
CMS, вы впервые услышали это здесь, вот и все
00:02:49
чтобы сделать это гораздо важнее
00:02:51
понимать и, следовательно, обеспечивать будущее
00:02:53
ваши навыки и разговоры о NEX GS
00:02:55
недавно мы добавили два специальных
00:02:58
бонусы к нашему следующему курсу gs14
00:03:01
one — это руководство по расширенным функциям.
00:03:03
мощные библиотеки и надежная безопасность
00:03:05
практики в х14 и других наиболее
00:03:08
общие следующие вопросы GSF ответили на оба
00:03:11
эти бонусы предлагают краткие и точные
00:03:13
пояснения с умением копать
00:03:15
глубже в это со многими проектами, поэтому, если
00:03:18
вы хотите зарегистрироваться и присоединиться к более чем 2500
00:03:21
разработчики, которые уже присоединились и любят
00:03:23
это перейти на jm.pro
00:03:26
next4 или нажмите на ссылку в
00:03:28
описание, чтобы записаться сейчас, давайте
00:03:30
начали создавать наше невероятное приложение, чтобы
00:03:33
начнем с создания нашего великолепного
00:03:35
приложение для электронной коммерции на этот раз мы
00:03:38
не начнется с создания нового пустого
00:03:40
папку на рабочем столе, скорее мы
00:03:43
использовать существующий инструмент с открытым исходным кодом
00:03:46
загрузить CMS, которая работает, и все
00:03:50
напечатайте все nextjs и это полностью
00:03:54
открытый исходный код, так что в этом видео не только
00:03:58
я научу тебя, как построить наш
00:04:00
феноменальный интернет-магазин, связанный с технологиями
00:04:03
но как использовать полезную нагрузку для создания любого
00:04:07
вид электронной коммерции или любое приложение
00:04:09
для этого требуется CMS в этом отношении
00:04:11
невероятно легко и масштабируемо до
00:04:15
Уровень предприятия: ссылка на веб-сайт.
00:04:18
а также специальный стартер, который мы будем использовать
00:04:20
ссылка внизу в описании и
00:04:22
пока мы здесь, давай дадим им звезду
00:04:25
теперь в правом верхнем углу вы можете нажать попробовать
00:04:27
полезная нагрузка Облако на 30 дней
00:04:30
но не волнуйся, ты сможешь получить
00:04:32
ваш проект запущен и работает в течение длительного времени
00:04:34
намного дольше, чем 30 дней, достаточно скоро
00:04:37
полезная нагрузка в сотрудничестве с versel
00:04:40
позволит вам развернуть ваши проекты
00:04:42
совершенно бесплатно и не забывайте о полезной нагрузке
00:04:45
имеет полностью открытый исходный код, поэтому вы можете
00:04:47
всегда ускоряйте свои проекты поверх
00:04:49
их кодовая база с этим сказала, давайте
00:04:52
нажмите «Электронная коммерция», чтобы создать полноценную
00:04:54
серверная часть электронной коммерции вместе с
00:04:57
красивая витрина, интегрированная с
00:05:00
и готов
00:05:01
продать здесь, вам придется зарегистрироваться для
00:05:04
бесплатный аккаунт, вы можете сделать это, введя
00:05:06
ваш адрес электронной почты и пароль после подтверждения
00:05:09
ваша учетная запись, в которую вы можете войти
00:05:11
и мы можем продолжить с того места, где остановились
00:05:14
создав новый проект электронной коммерции
00:05:17
давайте продолжим подключение GitHub и
00:05:20
выберите свою учетную запись GitHub, а затем
00:05:22
выберите имя репозитория, и вы сможете
00:05:25
даже выбрать, хотите ли вы это сделать
00:05:27
личное или публичное, в данном случае я собираюсь
00:05:30
чтобы сделать его общедоступным, и нажмите «клонировать»
00:05:32
шаблон, вот и вся полезная нагрузка уже есть
00:05:35
создание для вас стартового репозитория, который
00:05:38
смогу клонировать и продолжить
00:05:39
здание на вершине здесь, вы можете выбрать
00:05:42
ваш план, и вы можете выбрать бесплатную пробную версию
00:05:45
кредитная карта не требуется, вы можете выбрать
00:05:47
настройки вашего проекта, в данном случае я
00:05:49
собираюсь пойти ЕС название проекта слейф проекта
00:05:53
шаблон, а затем домен по умолчанию
00:05:55
что вы можете сделать что-то вроде
00:05:57
электронная коммерция _ JSM
00:06:00
приложение, конечно, не стесняйся что-нибудь сделать
00:06:02
иначе, включив JSM перед этим
00:06:04
позже в середине, как хочешь
00:06:07
и давай нажмем Согласен и начнем бесплатно
00:06:11
испытание, как я уже сказал, хотя есть
00:06:13
стоимость загрузки облака здесь будет
00:06:16
возможность запустить ваш проект
00:06:18
и в будущем, но, как я уже сказал
00:06:20
вы сможете иметь свой проект
00:06:22
развернуто на неопределенный срок с бесплатным уровнем
00:06:24
на верелле или всегда можно построить поверх
00:06:27
их репозитория с открытым исходным кодом с этим
00:06:30
давайте подождем, пока наш проект будет развернут
00:06:32
вот и все, а теперь проект
00:06:34
происходит настройка, и вы можете
00:06:36
см. журналы сборки ниже и всего за
00:06:39
пару минут наш новый проект
00:06:40
развернуто, давайте щелкнем по этому URL, как только сможете
00:06:43
см. весь наш шаблон здесь, хотя
00:06:46
сейчас база данных пуста, поэтому мы
00:06:48
хочу дополнить его новыми продуктами
00:06:50
и мы собираемся сделать это позже
00:06:52
в панели управления, но полный вход в систему
00:06:54
продукты для создания аккаунта и даже оформление заказа
00:06:57
все это было создано для нас
00:07:00
но учитывая все это уже
00:07:02
было сделано, вам может быть интересно, что
00:07:04
буду ли я делать и чему я научусь с помощью
00:07:08
Владение JavaScript моя цель всегда была
00:07:10
было сделать тебя независимым
00:07:12
разработчик, что это значит, ну это
00:07:15
означает, что если работодатель или клиент
00:07:17
приходит к тебе и говорит: эй, мне нужно
00:07:20
Интернет-магазин корпоративного уровня для
00:07:22
эту конкретную категорию продуктов я
00:07:25
хочу, чтобы ты мог сказать, что я сделал
00:07:27
это основано на феноменальном открытии
00:07:30
исходный проект, и я могу это сделать
00:07:32
полностью индивидуально для вас и это
00:07:35
именно то, чему я собираюсь тебя научить
00:07:36
этот
00:07:37
видео, поэтому мы можем перейти к нашему основному
00:07:41
ветка, и это показывает, что полезная нагрузка
00:07:43
это не какой-то низкий код, нет кода
00:07:46
инструмент, который используют полезную нагрузку не-разработчики
00:07:50
создан для разработчиков, где мы используем это
00:07:52
как звезда, ваш шаблон, а затем построить
00:07:55
пользовательские функции поверх него, поэтому наши
00:07:58
Следующий шаг — наладить правильную работу
00:07:59
на нашей локальной машине, что мы можем сделать с помощью
00:08:01
собираюсь кодировать, я бы порекомендовал
00:08:04
загрузка и использование рабочего стола GitHub, но
00:08:06
даже если у вас его нет, вы можете просто
00:08:08
скопируйте это
00:08:09
URL-адрес, как только вы это сделаете, откроете пустой визуальный
00:08:13
Окно кода студии перейдите к просмотру, а затем
00:08:16
терминал и просто нажмите «получить клон» и
00:08:20
затем вставьте этот URL-адрес и нажмите ввести это
00:08:23
теперь клонирован в электронную коммерцию, что означает
00:08:26
что вы можете перейти на электронную коммерцию, а затем
00:08:29
нажмите кодовую точку, которая откроет его
00:08:32
внутри нового кода Visual Studio
00:08:34
окно, поэтому я закрываю старое и открываю
00:08:38
это в полноэкранном режиме, чтобы начать работать
00:08:40
наш проект нам сначала нужно установить все
00:08:42
необходимых зависимостей, поэтому однажды
00:08:45
снова откройте свой терминал и затем запустите
00:08:48
установка mpm – устаревшая версия
00:08:53
dp-s это необходимо для установки некоторых
00:08:56
более старые версии зависимостей на случай
00:08:58
есть такие, которые вы также можете использовать из пряжи
00:09:01
как только вы это сделаете, нажмите Enter, пока
00:09:04
зависимости устанавливаются, пусть
00:09:06
я познакомлю тебя с началом
00:09:07
структуру, которую мы имеем прямо сейчас, вы можете
00:09:10
повторно посетите этот репозиторий GitHub, который был
00:09:12
создано для вас, и тогда вы сможете прочитать
00:09:14
Readme, давай пройдемся по нему вместе
00:09:17
просто
00:09:18
немного, это официальная полезная нагрузка
00:09:21
Шаблон электронной коммерции, используйте его для повышения эффективности
00:09:23
предприятия электронной коммерции и интернет-магазины
00:09:25
всех размеров это репо включает в себя полностью
00:09:29
рабочий бэкэнд-администратор уровня предприятия
00:09:31
панель и красиво оформленный
00:09:34
готовый к производству веб-сайт, который по
00:09:36
мы тоже собираемся настроить
00:09:39
этот шаблон подойдет вам, если вы
00:09:40
продажа физических продуктов, цифровых активов
00:09:43
или доступ к такому контенту, как курсы или
00:09:45
статьи премиум-класса теперь есть
00:09:48
важный момент, я хочу это сказать
00:09:50
видео не только научит вас, как
00:09:53
создайте этот сайт электронной коммерции это видео
00:09:56
также есть программа среднего образования
00:09:59
что, возможно, даже более ценно в
00:10:01
долго бежать, проходя через это
00:10:03
шаблон вместе мы неизбежно
00:10:06
научитесь читать и сотрудничать внутри
00:10:09
большие репозитории, это репозиторий огромен
00:10:13
имеет много пользовательских файлов. Папки страниц.
00:10:17
пользовательские функции. Специальные стили.
00:10:20
правила архитектуры файлов и папок и
00:10:23
больше и поверьте мне, когда я говорю это в
00:10:26
во многих случаях работаю в компании или на
00:10:29
клиент сильно отличается от нашего
00:10:31
типичные видеоролики YouTube, где мы строим
00:10:33
что-то с нуля, обычно что
00:10:35
произойдет, если ты будешь посвящен
00:10:37
к конкретной уже существующей базе кода
00:10:40
который вам придется выучить за пару
00:10:42
дней и начните вносить код
00:10:44
тоже, пока просматриваю этот репозиторий, я
00:10:47
собираюсь научить вас всем советам и
00:10:49
трюки и практики, которые я узнал за время
00:10:51
годы того, как легче получить
00:10:54
начал работать над большим существующим
00:10:57
кодовой базы, поэтому я надеюсь, что вы в восторге от
00:10:59
это тоже, и, говоря об этом, я
00:11:02
тоже думал о третьем правда
00:11:04
важный момент обучения и третий
00:11:06
дело в том, что в случае, если вы хотите построить
00:11:08
ваш собственный интернет-магазин в будущем
00:11:10
ты сможешь учиться у Беста
00:11:12
Практики инженеров по полезной нагрузке
00:11:14
они потратили много времени на размышления
00:11:16
как сделать свой продукт лучшим
00:11:18
может быть, поэтому давайте быстро пробежимся по
00:11:21
шаблон, мы можем быстро запустить его с помощью
00:11:24
клонируем его, и тогда мы сможем перейти к
00:11:26
разработка с помощью MPM или Yarn Dev
00:11:29
а затем открываем Local Host и это
00:11:32
изменения, сделанные в исходном коде, будут
00:11:34
отражено в вашем приложении, то нам также нужно
00:11:37
чтобы настроить полосу, и нам также нужно
00:11:39
ознакомьтесь с руководством по производству один раз
00:11:41
мы готовы развернуться здесь, они идут
00:11:43
глубже понять, как все работает
00:11:46
у нас будет по-другому
00:11:47
коллекции, указанные для
00:11:48
функциональные возможности, такие как пользовательские продукты
00:11:51
заказы Страницы медиа и категории, которые мы будем
00:11:55
также есть некоторые глобальные объекты, такие как Хизер
00:11:56
и
00:11:57
нижний колонтитул и фу
00:11:59
у нас будет контроль доступа, который у нас будет
00:12:02
другая ролевая система, такая как
00:12:04
администратор и клиент, нам нужно будет разобраться
00:12:06
как управлять корзиной покупок и
00:12:08
продукты интегрируют полосы и
00:12:10
подключите наконец, как это проверить
00:12:13
как пройти за платную стену как
00:12:15
построить, используя их конструктор макетов, как это
00:12:18
обрабатывает SEO, перенаправляет деньги с веб-сайтов
00:12:22
выбросы и заполнение Docker
00:12:25
база данных и многое другое, это очень важно
00:12:28
это интересно, и теперь давайте начнем
00:12:30
анализируя его и настраивая его
00:12:33
вместе наши зависимости были
00:12:35
установлено, и прежде чем мы продолжим и запустим
00:12:37
давайте быстро проверим окружение.
00:12:40
пример, вот у нас есть некоторая среда
00:12:42
переменные, которые мы можем копировать и можем
00:12:46
создайте новый файл с именем EnV, в который мы
00:12:50
можно вставить все эти демонстрационные переменные
00:12:53
и здесь мы добавим наши дополнительные
00:12:55
переменные позже, а также
00:12:58
дополнительный, например, я имею в виду это
00:13:00
Uuri базы данных, к которой вы можете получить доступ
00:13:02
перейдя к вашему проекту полезной нагрузки
00:13:05
щелкнув базу данных, а затем вы можете скопировать
00:13:07
эта связь с монго
00:13:09
строка, как только вы вернетесь, вы можете просто
00:13:11
переопределить это прямо здесь, дальше мы
00:13:14
нужно выбрать наш секрет полезной нагрузки, который
00:13:16
это просто рандомизированная строка
00:13:18
персонажей, которых я собираюсь сделать на заказ для JSM
00:13:22
секрет, что бы ты ни выбрал, обязательно
00:13:25
обратитесь к нему позже, как только мы развернем наш
00:13:27
проект, теперь мы можем закрыть это открытие
00:13:31
наш терминал и запускаем mpm run
00:13:34
Разработчик, мы собираемся начать проект
00:13:37
Локальный хост 3000, так что давайте продолжим и
00:13:39
Открой это
00:13:40
и вот мы идем, мы почти поднялись и
00:13:44
бежит, но прежде чем мы сможем увидеть наших
00:13:46
продукты, которые нам нужно добавить, чтобы
00:13:50
давайте нажмем «Перейти на панель управления» и давайте
00:13:52
создайте нашего администратора, которого я буду использовать
00:13:55
тот же адрес электронной почты, который я использовал раньше, чтобы открыться
00:13:58
моя учетная запись полезной нагрузки, выберите мою
00:14:00
пароль, подтвердите его, у меня было имя, например
00:14:04
Адриан, мы можем выбрать роль, которая в
00:14:07
в этом случае, конечно, будет администратор и
00:14:09
покупки будут пустыми, вот и все, давай
00:14:12
щелкнуть
00:14:13
создайте сейчас первое, что нам нужно будет
00:14:15
нужно заполнить нашу базу данных, что означает добавить
00:14:19
мало существующих продуктов, поэтому мы можем увидеть и
00:14:22
протестируйте все функциональные возможности приложения, чтобы
00:14:25
нажмите «разместить свой»
00:14:26
база данных, и там написано, что заполнение один раз
00:14:30
готово, просто вернитесь на локальный хост
00:14:33
3000, как вы можете видеть, наш полный магазин
00:14:36
теперь все в порядке, у нас есть хороший
00:14:38
просматриваю целевую страницу со всеми нашими
00:14:40
продукты, и мы также можем нажать «магазин»
00:14:43
теперь, чтобы увидеть все продукты, теперь есть один
00:14:47
на что я хочу обратить внимание, если вы пойдете в
00:14:49
конкретного продукта, вы можете заметить, что
00:14:51
сайт кажется немного медленным, это
00:14:54
происходит в разработке только после того, как вы
00:14:57
на самом деле разверните его, он собирается пойти
00:14:58
быть невероятно быстрым, поскольку, конечно, это
00:15:01
используя новейшую и лучшую версию nextjs
00:15:04
Итак, это типичная страница продукта, которую вы
00:15:06
могу добавить это в
00:15:07
корзина это твоя корзина, в которую ты можешь перейти
00:15:11
оформить заказ, и вы можете перейти только к оформлению заказа
00:15:13
после того как подключим страйп но как сможешь
00:15:16
видишь, все это выглядит довольно голым
00:15:18
Кости справа, это изображение огромно.
00:15:21
дизайн просто минимальный и это не так
00:15:24
почувствуйте себя всеобъемлющей электронной коммерцией
00:15:27
приложение определенно не то, что я
00:15:29
обещал, так что теперь наша настоящая работа
00:15:32
начинается, мы собираемся превратить это в
00:15:35
этот Технологический рай, возможно, чистый минималист
00:15:40
немного Apple вдохновила электронную коммерцию в сфере технологий
00:15:43
магазин, вы можете делать покупки по категориям, вы можете
00:15:46
просмотреть все продукты в этих
00:15:49
категории, как вы можете видеть, все есть
00:15:51
супербыстрый запуск страницы продукта
00:15:53
отлично смотрится с сопутствующими вам товарами
00:15:56
можно добавлять вещи на карту, сразу просмотреть
00:15:58
их на карте, а затем оформить заказ
00:16:01
у нас даже есть это совершенно кастомное
00:16:04
красивый экран регистрации и входа в систему
00:16:07
в этом видео много интересного
00:16:10
и до сих пор мы только выкладывали
00:16:11
фундамент, который означает создание всего
00:16:14
серверные системы, необходимые для запуска наших
00:16:16
магазины электронной коммерции, которые мы создали
00:16:19
панель администратора у нас есть полный вход
00:16:22
и экран регистрации мы можем даже
00:16:24
создавать новых клиентов, к которым мы можем добавлять товары
00:16:28
Корзина
00:16:29
выехать и оплатить позже, как только мы
00:16:31
включить полосу и даже добавить новые продукты
00:16:34
через наш интерфейс администратора не только
00:16:37
продукты, но управлять внешним видом
00:16:39
наш дизайн сайта заказывает медиа
00:16:42
категории и многое другое, теперь это наш
00:16:46
обратимся к пониманию кодовой базы и
00:16:49
медленно, но верно и начать
00:16:51
настраивая его, поэтому давайте пройдемся по
00:16:55
структура папок в исходнике
00:16:57
папку, а затем «В приложении», где находится
00:17:00
большая часть нашего приложения - это
00:17:03
наше приложение Nextjs Shop, что бы вы здесь ни делали
00:17:07
изменит вашу основную электронную коммерцию
00:17:09
сохранить, а затем в папке полезной нагрузки
00:17:12
здесь вы можете изменить пользовательский интерфейс администратора
00:17:15
интерфейс администратора, самые важные файлы
00:17:18
вот документ о полезной нагрузке
00:17:27
Конечные точки config.txt о клиентах
00:17:29
продукты семена и многое другое, а также
00:17:33
типы полезной нагрузки, где мы можем иметь
00:17:35
типы для всех наших продуктов
00:17:37
Коллекции и многое другое, что означает, что в
00:17:39
если вы измените что-то в своем
00:17:41
коллекцию, вам придется добавить ее сюда как
00:17:43
ну и, наконец, у нас также есть наш API
00:17:47
папка, которая находится прямо здесь, внутри
00:17:50
приложение, и здесь у нас есть все
00:17:52
необходимый функционал электронной коммерции
00:17:55
конечные точки, такие как выборка документа, и это
00:17:58
как мы получаем продукты с разных страниц
00:18:00
или заказы или, например, получение глобальных переменных
00:18:04
что позволяет нам получить нижний колонтитул
00:18:06
и данные настроек, но как я уже сказал
00:18:09
мы собираемся пройти через все
00:18:10
вместе и сначала полностью изучите это сейчас
00:18:13
все сначала, давайте начнем с изменения
00:18:15
Стили означают цвета шрифтов и
00:18:19
ресурсы, чтобы изменить некоторые стили по умолчанию.
00:18:22
мы можем перейти к исходному коду приложения CSS, а затем
00:18:27
приложение. SS здесь мы можем изменить тело шрифта
00:18:32
от системного пользовательского интерфейса к шрифту, известному как просто
00:18:36
и мы также можем сделать шрифт без засечек прямо здесь
00:18:40
и мы можем сделать то же самое для шрифта
00:18:42
отрегулировать и также сказать, что это просто и
00:18:46
Санс
00:18:47
засечка, затем мы можем пойти дальше и изменить
00:18:50
тело, которое находится прямо здесь, шрифт
00:18:53
семья будет шрифтом
00:18:56
просто мы собираемся также добавить
00:18:59
заполнение нулями обычно это называется
00:19:02
Сброс CSS, мы просто сбрасываем некоторые значения по умолчанию
00:19:05
стили, которые предоставляет браузер, мы
00:19:07
также хочу изменить цвет по умолчанию, поэтому
00:19:10
мы можем сказать VAR d-c
00:19:12
цвет- темный-
00:19:15
500, и мы можем настроить отображение на
00:19:18
равно гибкому и гибкому потоку колонны
00:19:22
ниже мы можем изменить основной класс на
00:19:26
скажем, Flex один, а затем Auto это
00:19:30
это поможет нашему будущему
00:19:31
макет в выборе мы также можем
00:19:34
измените наш цвет, чтобы мы могли сказать VAR --
00:19:39
цвет- темный 500 и в подборке М
00:19:43
мы можем сделать D-цвет-темный
00:19:48
D50, тогда мы хотим спуститься до конца
00:19:51
к нашему тегу P, и мы хотим просто
00:19:55
удалите включаемый средний перерыв и установите
00:19:57
маржа до нуля в O и UL, которые мы хотим
00:20:01
удалить отступы и поля и
00:20:04
мы хотим просто сказать, что маржа равна нулю и
00:20:07
отступ равен нулю, как и стиль списка
00:20:10
будет установлено значение «нет», мы не хотим
00:20:12
иметь это уродливо
00:20:14
подчеркните тег, который мы можем изменить
00:20:17
цвет, который будет установлен на VAR
00:20:21
цвет-- цвет- темный 500 и это
00:20:25
все глобальные изменения, которые нам предстоит
00:20:27
давай сейчас вернемся прямо сюда и
00:20:30
перейдем к цветам.
00:20:33
scss, здесь мы хотим добавить что-то особенное
00:20:35
фирменные цвета для нашего приложения, поэтому
00:20:39
давайте пройдем весь путь в конце и
00:20:41
скажем, фирменные цвета, конечно, можно
00:20:45
полностью измените их позже, и здесь мы
00:20:47
можно добавить цвета, такие как цвет d-c-темный-
00:20:51
500, а затем установите определенное значение RGBA.
00:20:55
как мы делали до того, как ссылка содержала
00:20:58
содержащий все эти блоки кода, которые
00:20:59
Я предоставлю вам, что будет связано
00:21:01
внизу в описании, так что не стесняйтесь
00:21:04
обратитесь к нему, перейдите к цветам. scss, а затем
00:21:07
просто добавьте эту часть прямо сюда, это
00:21:10
собираюсь нанести всего пару цветов
00:21:12
чтобы упростить наш стиль позже
00:21:15
линия есть также несколько небольших
00:21:18
дополнительные изменения стиля, которые я
00:21:20
заметил, что нам придется сделать и те
00:21:22
будут в пределах типа. scss
00:21:25
конкретно здесь, в самом начале, мы
00:21:27
хочу сбросить маржу для всех
00:21:29
заголовки еще раз это что-то
00:21:31
что вы хотите делать довольно часто в своем
00:21:33
приложение, если вы разрабатываете индивидуальный дизайн
00:21:36
мы также хотим удалить поля из
00:21:38
здесь каждый возраст из всех
00:21:40
заголовки, а также внутри включения
00:21:43
так что мы можем удалить здесь и повторить
00:21:46
это для всех заголовков, которые мы хотим иметь
00:21:49
чистая настройка, чтобы мы могли начать стилизацию с
00:21:52
поцарапай и H5 и наконец
00:21:56
H6, теперь мы хотим немного стилизовать H4.
00:21:59
тем более, что мы собираемся часто его использовать
00:22:01
поэтому мы можем изменить размер шрифта на 30
00:22:03
пикселей высота строки до 43 пикселей
00:22:07
вес шрифта до 400 и, наконец, буква
00:22:12
интервал до 0 em, еще раз какой-то маленький
00:22:15
Глобальные изменения, чтобы сделать наш стиль
00:22:17
позже будет легче, а теперь нам придется
00:22:20
используйте новый шрифт, о котором мы говорим
00:22:22
для импорта мы можем сделать это, перейдя в приложение
00:22:25
а затем макет, соответствующий всем
00:22:27
лучшие практики NE GS, кстати, я это делаю
00:22:30
есть эти маленькие предупреждения, которые мы
00:22:32
собираюсь исправить это позже, а пока
00:22:34
давайте просто
00:22:35
импортировать только шрифт, взятый из
00:22:39
следующий шрифт SL SLG Google, и тогда мы сможем
00:22:43
используйте это прямо здесь, сказав const just
00:22:45
равно тому, что принимает объект
00:22:50
подмножеств, установленных в массив Lain, мы
00:22:54
я получу два разных веса, так что
00:22:56
это будет вес около 400
00:22:59
и
00:23:00
700, а переменная для этого шрифта равна
00:23:04
будет... шрифт
00:23:06
наконец-то перенесемся в тело прямо здесь, мы
00:23:09
может применить имя класса, равное его
00:23:13
будет динамическая строка just.
00:23:17
переменная, и мы хотим обернуть
00:23:19
дети прямо здесь, в главном теге
00:23:22
потому что это будет основной HTML-код
00:23:24
5 смыслового содержания и это будет
00:23:27
иметь имя класса, равное основному, теперь я
00:23:31
знай, что многое из этого тоже не сработало
00:23:33
много смысла, но это были лишь некоторые
00:23:34
Глобальные изменения стиля, которые нам пришлось внести
00:23:37
чтобы нам было легче превратить это
00:23:40
в этом вы можете видеть, что мы уже являемся
00:23:42
шаг ближе, потому что теперь шрифт
00:23:44
точно так же, как здесь и сейчас назад
00:23:47
внутри макета. TSX, вы можете видеть, что мы
00:23:49
все еще есть проблемы с длиной es и
00:23:52
Прер жалуется на окончания наших строк
00:23:55
окончания строк у всех разные
00:23:57
разные типы операционных систем, поэтому я
00:23:59
в Windows и, скорее всего, поэтому
00:24:01
оно жалуется, так что ты можешь сделать это
00:24:04
вы можете нажать Control или команду p и
00:24:06
затем введите eslint RC и нажмите Enter
00:24:11
это был лишь один из многих советов, которые я дам
00:24:12
поделитесь в этом видео тем, как вы
00:24:14
может лучше использовать код Visual Studio
00:24:17
сочетания клавиш, конечно, можно
00:24:19
вручную перейдите к файлу прямо здесь
00:24:21
а также, если бы это было не так
00:24:23
работа здесь, мы должны добавить
00:24:26
правила, которые будут объектом
00:24:28
внутри которого нам нужно сказать красивее
00:24:30
для/
00:24:32
красивее, а затем определите это как
00:24:34
массив, где у нас есть запятая ошибки и
00:24:38
тогда конец объекта будет отключен от линии
00:24:42
установите значение «Авто» вот так, если вы сохраните его
00:24:46
это должно выглядеть примерно так, как эти правила
00:24:49
красивее, красивее, ошибка и штраф
00:24:51
Авто и теперь его уже не должно быть
00:24:54
жаловаться, как вы можете видеть прямо здесь и сейчас
00:24:56
есть еще одна вещь, которую нам нужно сделать
00:24:58
прежде чем мы продолжим и начнем
00:24:59
внедрение всех дополнительных
00:25:01
функциональные возможности, и это импорт всех
00:25:04
активов будет использоваться на протяжении
00:25:06
проект так в описании [ __ ]
00:25:09
Ниже по той же ссылке, где вы можете
00:25:11
найдите все остальные блоки кода, которые вы также сможете
00:25:13
уметь найти ссылку на Google Диск
00:25:16
содержащий все активы для нашего
00:25:18
проект, поэтому просто загрузите их и перейдите по ссылке
00:25:22
наш
00:25:23
файлы удаляют текущую общую папку
00:25:26
полностью, а затем перетащите
00:25:29
разархивированная папка прямо здесь, в корне
00:25:32
нашего каталога и нажмите «Копировать папку»
00:25:36
вы можете увидеть общедоступную полезную нагрузку CMS сейчас
00:25:38
здесь и мы можем просто убрать префикс
00:25:42
и просто оставьте его общедоступным в Windows
00:25:45
устройства, которые этот процесс переименования может занять
00:25:47
некоторое время, но если вы на Mac, так и должно быть
00:25:49
быть много
00:25:50
быстрее, и теперь, когда мы переименовали наш
00:25:53
папка с активами, у нас есть общедоступные активы
00:25:56
все изображения и значки были когда-либо
00:25:58
понадобится для этого приложения, и я
00:26:00
был также достаточно любезен, чтобы включить все
00:26:02
изображения пользовательского интерфейса администратора — это изображения, которые
00:26:05
вам не обязательно использовать внутри
00:26:07
приложение, но вам нужно использовать их, когда
00:26:09
вы загружаете определенные категории или
00:26:11
продукты и многое другое, поэтому я включил
00:26:15
те тоже сказали, что мы
00:26:18
почти готов приступить к стилизации нашего
00:26:20
приложение, но прежде чем мы это сделаем, я хочу
00:26:23
чтобы убедиться, что мы понимаем
00:26:25
терминология полезной нагрузки, но прежде чем мы
00:26:28
сделать это, я хочу убедиться, что мы
00:26:30
понимать терминологию полезной нагрузки, поэтому, если мы
00:26:33
зайдите в исходный код, а затем в приложение, которое вы можете
00:26:36
обратите внимание, что здесь мы видим пару
00:26:38
вещи, которые мы можем видеть, компоненты блоков
00:26:41
Что такое провайдеры услуг Heroes сейчас
00:26:45
это один из самых важных
00:26:47
аспекты называются «Коллекции» и «Паяда».
00:26:50
коллекции определяются через их
00:26:53
конфигурации, и вы можете определить столько, сколько
00:26:55
вашему приложению нужна каждая коллекция
00:26:58
создам новую коллекцию
00:27:00
автоматически в выбранной вами базе данных
00:27:02
на основе полей, которые вы определили таким образом
00:27:05
вы можете думать о коллекциях просто как о
00:27:06
типичные коллекции баз данных, где каждый
00:27:09
у одного есть конкретный URL, у него есть несколько
00:27:11
Поля помечены администратором, и вы можете выбрать
00:27:15
как вы хотите пройти аутентификацию и загрузить
00:27:17
эти конкретные документы внутри этого
00:27:19
с другой стороны, мы также можем
00:27:22
обсудить глобалы глобалы похожи на
00:27:26
коллекции, но они могут появляться только
00:27:28
один раз, поэтому они единственные, и они
00:27:31
идеально подходит для таких вещей, как Хизер
00:27:32
навигационные баннеры или нижние колонтитулы и что
00:27:36
Вы говорите, что мы начнем с изменения
00:27:38
пара глобальных переменных, с которых мы можем начать
00:27:40
поместив наш браузер рядом с нашим
00:27:43
редактор, затем мы можем перейти к исходному коду
00:27:48
компоненты, а затем мы можем найти
00:27:50
заголовок и перейдите к index. ТСХ, я
00:27:53
собираюсь уменьшить масштаб, немного потянуть
00:27:56
это немного в сторону
00:27:58
и разверните код, чтобы мы могли лучше видеть
00:28:01
что мы делаем здесь, мы можем
00:28:03
удалите эти классы, а также
00:28:05
заголовок сейчас и сточной канавы, как мы не будем
00:28:08
используя эти компоненты в наших новых
00:28:10
измененный заголовок вместо того, чем мы будем
00:28:13
использование импорта компонента Heer из SL
00:28:20
компонент заголовка и, конечно же, теперь мы
00:28:22
мне нужно его создать, так что поехали
00:28:25
прямо здесь, в нашем заголовке, давайте
00:28:27
удалить этот индекс. модуль.
00:28:30
sccss и давайте создадим новую папку
00:28:33
по имени Хизер
00:28:35
внутри него мы можем создать два
00:28:38
индекс новых файлов. TSX, а также
00:28:43
индекс. модуль.
00:28:45
scss, это будет стиль для
00:28:48
этот конкретный компонент сейчас здесь
00:28:51
мы можем управлять ра
00:28:53
Ace – это сокращение для создания
00:28:56
базовый компонент компонента реагирования в этом
00:28:58
случае мы можем назвать это компонентом heer и
00:29:01
затем внизу экспортируйте заголовок по умолчанию
00:29:03
компонент, а после этого мы можем
00:29:06
вернитесь к нашему индексу, и мы сможем гарантировать
00:29:08
что импорт выполнен правильно, но
00:29:10
это время больше не будет отображаться
00:29:13
весь этот заголовок и The Gutter и
00:29:15
все эти вещи мы можем просто вернуть
00:29:17
реакция
00:29:19
фрагмент, а затем внутри него мы собираемся
00:29:21
сделать нашу собственную Хизер
00:29:23
компонент точно так же, и к нему мы
00:29:27
собираюсь пройти мимо, чтобы мы могли сказать
00:29:30
заголовок равен заголовку, которым является этот заголовок
00:29:34
идем прямо сюда, наверх, где мы находимся
00:29:36
получение его непосредственно из полезной нагрузки CMS
00:29:39
скоро я научу тебя, как мы можем
00:29:40
измените его, и мы также можем удалить эти
00:29:43
комментируйте прямо здесь и скажите что-нибудь
00:29:45
как ошибка console.log, вот и все
00:29:48
теперь мы можем постепенно увидеть, с чего начинаем
00:29:50
чтобы изменить нашу кодовую базу, вот это
00:29:53
жалуюсь на журнал консоли, чтобы исправить
00:29:55
это предупреждение прямо здесь, мы можем перейти к es
00:29:58
RC, а затем сказать, что консоль отключена, это
00:30:02
собираюсь убедиться, что он не жалуется
00:30:05
тогда мы можем перейти в наш заголовок
00:30:08
компонент и фактически определим его сейчас, мы
00:30:12
знать, что он будет принимать
00:30:14
весь заголовок, который будет представлять собой
00:30:17
введите заголовок заголовка вот так, потому что мы
00:30:21
используете машинописный текст и это довольно круто
00:30:24
особенность полезной нагрузки в том, что они уже
00:30:26
создал для нас типы, чтобы мы могли
00:30:28
просто импортируйте заголовок, нажав
00:30:30
контрольное пространство или командное пространство, пока
00:30:32
выбрав его, и мы сможем импортировать его из
00:30:35
полезная нагрузка полезная нагрузка тире
00:30:37
типы здесь, мы можем определить нашу навигацию
00:30:41
это тег семантической навигации HTML 5 внутри
00:30:45
мы собираемся использовать что-то, известное как
00:30:47
желоб, который мы можем импортировать из
00:30:50
d// желоб внутри желобов, в которых мы находимся
00:30:54
будет иметь компонент ссылки, который из
00:30:56
курс должен быть импортирован из следующего
00:30:59
ссылку, и внутри нее у нас будет
00:31:02
самозакрывающееся изображение с источником, равным
00:31:06
к/
00:31:07
логотип-черный SVG. Я отмечу логотип, чтобы мы
00:31:12
просто пытаюсь отобразить наш логотип, и если
00:31:14
мы нажимаем на него, и href будет
00:31:16
указать на домашнюю страницу, что означает просто
00:31:18
вперед
00:31:20
срежь сейчас, если мы сохраним это, ты увидишь
00:31:24
этот локальный хост загружается, но там
00:31:26
кажется, все еще есть некоторые проблемы, верно
00:31:28
здесь при импорте компонента заголовка
00:31:31
пишет, что компонент заголовка не найден
00:31:34
это потому, что мы импортируем его как
00:31:36
названный импорт, и здесь у нас есть экспорт
00:31:39
по умолчанию, поэтому мы можем просто
00:31:41
измените его, выполнив импорт по умолчанию, если
00:31:45
теперь мы сохраняем его, вы можете видеть, что наша технология
00:31:47
Ключевой логотип Tech Haven появился сверху
00:31:50
это здорово, так что давайте закроем
00:31:52
файлы, которые нам не нужны и давайте только
00:31:55
индекс компонента заголовка DS превышает
00:31:57
откройте сейчас, давайте продолжим стилизацию нашего
00:32:00
панель навигации, которую мы можем сделать, импортировав
00:32:02
приближаются занятия
00:32:04
из индекса. модуль.
00:32:09
sccss, как только он у нас появится, мы сможем определить
00:32:11
имя класса прямо здесь, создав
00:32:14
массив, а затем произнеся классы.
00:32:18
заголовок, так что теперь это будет
00:32:20
соответствуют классу заголовка внутри
00:32:22
индексный модуль
00:32:24
scss, так что давайте откроем его, перейдя в
00:32:27
индекс. модуль. scss и давайте создадим
00:32:31
класс деятеля, который будет иметь
00:32:33
отступы по 36 пикселей сверху и снизу
00:32:37
и ноль слева и справа, так что теперь вы
00:32:40
это видно, просто оставлено немного места
00:32:42
теперь у нас также есть предупреждение, но
00:32:44
мы исправим это позже
00:32:46
Следующее, на чем я хочу сосредоточиться, это добавление
00:32:48
имя класса для этого желоба, которое
00:32:51
будет иметь имя класса
00:32:55
занятия. r обернуть, и эта обертка собирается
00:32:59
быть простым классом, где мы можем сказать
00:33:02
оберните, там будет отображаться
00:33:05
гибкое выравнивание элементов по центру, выравнивание тире
00:33:10
содержимое пространства между и мы хотим
00:33:14
оберните содержимое так, чтобы работала гибкая упаковка
00:33:16
быть установлен на
00:33:18
нам также нужно установить разрыв между
00:33:21
элементы на панели навигации, чтобы мы могли
00:33:22
скажите Gap, и мы сможем использовать CSS C
00:33:26
функция, с помощью которой мы можем вычислить
00:33:28
База прямо здесь разделена на два, так что это
00:33:33
для строки Gap, а теперь для
00:33:35
столбец Gap мы можем использовать обычный VAR D-
00:33:39
база, мы идем, и теперь мы подаем заявку
00:33:41
это тоже, но, конечно, между
00:33:44
желоб у нас есть ссылка у этой ссылки есть
00:33:46
имя класса логотипа, на который указывает эта ссылка
00:33:49
дома, и у изображения есть источник, но мы
00:33:51
также можно дать ему имя класса, которое
00:33:54
скажу классы. логотип
00:33:58
так что теперь, если мы пойдем на занятия, мы сможем
00:34:01
нарисуйте логотип do и просто предоставьте
00:34:04
шириной около 170 пикселей я обнаружил, что
00:34:08
работать лучше всего, теперь вы можете заметить, что
00:34:10
имена моих классов просто превращаются в три точки
00:34:13
вот это для этого не нужно
00:34:15
тип приложения, но я начал использовать
00:34:17
это потому, что классы Tailwind могут стать такими
00:34:19
длинные, поэтому их легко спрятать в этом
00:34:22
случае я собираюсь включить это расширение
00:34:23
выключен, чтобы я мог видеть полное имя класса, если
00:34:27
интересно, имя расширения соответствует
00:34:29
сложите, поехали, теперь мы можем увидеть
00:34:31
занятия и, конечно, в этом случае мы
00:34:33
можно перейти к использованию изображения следующего gs
00:34:36
свойство, поступающее из следующего
00:34:39
изображение, мы идем, просто чтобы сделать это немного
00:34:41
более
00:34:43
оптимизировано, но, конечно, в этом случае мы
00:34:45
не нужно указывать имя класса
00:34:47
скорее просто ширина и высота
00:34:49
свойства, поэтому мы можем сказать, что ширина равна 170
00:34:52
и рост около 50 и вот пошло
00:34:55
у нас есть оптимизированный следующий xjs
00:34:57
компонент теперь под этой ссылкой, который мы хотим
00:35:01
визуализировать навигацию заголовка, которая будет
00:35:03
исходя из do do/ naav и к нему мы
00:35:07
хочу пройти весь
00:35:09
заголовок, и этот заголовок проходит
00:35:11
реквизит, мы передаем его из оригинала
00:35:13
страница заголовка прямо под ней, мы также хотим
00:35:16
для отображения заголовка мобильной навигации, к которому
00:35:21
мы хотим передать заголовок сейчас
00:35:23
мы должны создать, перейдя в наш заголовок
00:35:27
а затем внутри него создаем новую папку
00:35:29
называется мобильной навигацией, внутри нее мы можем
00:35:33
создать новый
00:35:35
индекс. модуль. scss, а также создание
00:35:40
новый индекс.
00:35:43
DSX прямо внутри него мы можем запустить
00:35:46
rafc изменить индекс на мобильный
00:35:51
навигация, сохраните его и затем вернитесь прямо сюда
00:35:55
и импортируйте его, сказав мобильную навигацию
00:35:58
идет из do/mobile nav, вот и мы
00:36:02
иди, теперь ты можешь видеть, так как в намотке
00:36:04
навигация по умолчанию, которую мы уже получили
00:36:07
несколько ссылок прямо здесь, сейчас вы можете увидеть
00:36:09
что у нас, возможно, есть несколько ссылок, которые мы
00:36:11
здесь не обязательно нужно, например, создать
00:36:13
учетная запись или логин или даже индекс прямо так
00:36:16
что мы можем сделать, так это скрыть их и
00:36:18
позвольте мне показать вам, как мы будем повторно использовать
00:36:21
это позже, так что лучше создать
00:36:23
это как файл констант, так что прямо внутри
00:36:25
источник, а затем приложение, мы можем создать
00:36:28
новые константы
00:36:31
папку внутри нее мы можем создать новую
00:36:34
index.ts и внутри этой же ссылки
00:36:37
в описании я тебя передам
00:36:39
все константы, которые мы будем здесь использовать
00:36:42
у вас нет URL-адресов нижнего колонтитула, поэтому эти
00:36:45
— это URL-адреса, которые мы можем скрыть, а также мы
00:36:48
иметь несколько профильных элементов MV и
00:36:50
включения, например, что мы предлагаем сейчас
00:36:53
что у нас есть, что мы можем немедленно
00:36:55
начните использовать его в имени класса с помощью
00:36:58
говоря, что мы не можем использовать URL-адреса верхнего и нижнего колонтитула
00:37:02
щелкните его, чтобы импортировать, точка включает путь
00:37:06
имя, поэтому, если оно включает имя пути
00:37:09
затем запускайте занятия. высота и как это сделать
00:37:13
мы добираемся до пути, и нам нужно
00:37:15
импортируйте его с помощью nextjs, чтобы мы могли сказать
00:37:19
имя константного пути равно используемому пути
00:37:24
имя, которое происходит от следующего
00:37:27
навигация и, конечно, нам придется
00:37:29
Определите, что такое классы. hiide означает, что мы
00:37:33
могу сказать, что будет hiide display
00:37:37
нет, теперь это не сработает правильно
00:37:39
с места в карьер, и это потому, что мы все еще
00:37:41
придется отфильтровать его и присоединиться к нему, чтобы быть единственным
00:37:43
одна строка, потому что имя класса
00:37:46
ожидает строку, а не массив
00:37:48
строки, чтобы мы могли вызвать точечный фильтр
00:37:51
это и получите только те, которые есть
00:37:54
хулиган и правдивый, и тогда мы сможем присоединиться к ним
00:37:57
с пустым пространством вот как из
00:37:59
массив, мы собираемся получить простую строку
00:38:02
и, конечно, поскольку мы используем путь использования
00:38:04
имя, в которое мы должны преобразовать наш заголовок
00:38:08
клиентский компонент, используя использование
00:38:10
клиент
00:38:13
директива, вот и все, теперь у нас есть все
00:38:16
из нашего ссылки, на которые мы можем нажать
00:38:19
магазин, который работает, и если мы на них
00:38:23
ссылки, такие как создание учетной записи, вход в систему
00:38:25
восстановить пароль, мы можем скрыть
00:38:28
панель навигации, это именно то, что
00:38:30
мы делаем здесь, потому что мы создаем
00:38:32
аккаунт будет полностью
00:38:34
новая планировка внутри которой нам не нужна
00:38:37
наша панель навигации, теперь давайте углубимся в нашу
00:38:40
навигация по заголовку, которая находится прямо здесь, в
00:38:42
do/naav и давайте изменим его дальше
00:38:45
внутри здесь мы можем удалить эти
00:38:47
комментарии, чтобы было легче увидеть, что
00:38:50
происходит, и мы можем включить эти ссылки
00:38:52
в кнопку, которая выглядит немного лучше, поэтому
00:38:55
давайте удалим эти ссылки и отреагируем
00:38:57
фрагментировать и визуализировать новую кнопку, которая
00:39:00
мы можем импортировать из сл. кнопка SL это
00:39:05
самозакрывающийся компонент, который собирается
00:39:08
иметь L как элемент, равный ссылке
00:39:12
у него будет href форвардного SL
00:39:15
войдите, там будет метка
00:39:18
войдите, это будет выглядеть так
00:39:21
из
00:39:22
первичный и по клику мы хотим иметь
00:39:26
функция обратного вызова, где мы делаем
00:39:31
window.location.href равен
00:39:34
отключите строку для входа в систему SL, поэтому мы просто
00:39:37
переходим к логину вот и все, что можно
00:39:40
видите, теперь у нас есть красивая кнопка входа в систему
00:39:43
мы также можем дополнительно стилизовать эту кнопку с помощью
00:39:46
вникнуть в это и заставить его также принять
00:39:49
дети, так что прямо здесь мы можем сказать
00:39:52
дети будут нетипичными
00:39:55
реагировать. узел реагирования, мы собираемся его передать
00:39:58
через реквизит
00:40:00
дети, и мы сможем добавить это правильно
00:40:03
здесь, в содержании, итак, здесь у нас есть
00:40:06
контент и прямо под этим веером мы можем
00:40:09
отдать детей, это на тот случай, если мы
00:40:11
хотите передать некоторые дополнительные значки или
00:40:14
метки или стрелки для оформления нашей кнопки
00:40:16
далее, что мы также можем сделать, пока мы
00:40:18
здесь также измените его индекс. модуль.
00:40:22
CSS, присвоив отступу значение 10.
00:40:27
24, чтобы сделать это немного
00:40:29
Тоньше, а также увеличение границы
00:40:32
радиус до 10
00:40:34
пикселей, поэтому, если мы сохраним его, вы сможете увидеть сейчас
00:40:37
это больше соответствует нашей теме, мы можем
00:40:39
закройте наши кнопки, это хорошо, что у нас есть
00:40:42
использовал его прямо здесь, но теперь наша кнопка
00:40:45
жалуемся, и это потому, что мы этого не сделали
00:40:47
сделайте дочерние элементы необязательными, чтобы мы могли
00:40:49
изменяйте этот тип, всегда будьте осторожны
00:40:51
типы машинописных текстов, они здесь, чтобы спасти нас
00:40:54
не ро нашего дня и, наконец, иногда
00:40:57
мы также хотим отобразить ссылку на корзину
00:40:59
прямо под
00:41:01
кнопка, поэтому здесь мы можем сказать, существует ли пользователь
00:41:05
тогда, возможно, у этого пользователя есть ссылка на корзину
00:41:09
который мы можем просто определить следующим образом: I
00:41:11
поверь, сейчас мы не вошли в систему, поэтому
00:41:13
мы не можем этого видеть, и это совершенно нормально
00:41:16
также нам больше не нужно импортировать
00:41:18
пользователь, итак, начнем, и теперь, когда наш
00:41:22
Навигация по заголовку почти готова, у нас есть
00:41:24
сейчас мобильный, но смотрю на эту полезную нагрузку
00:41:27
сделал это настолько хорошо, что технически это подходит
00:41:29
хорошо работает на мобильных устройствах, так что на данный момент я
00:41:32
просто собираюсь удалить мобильную навигацию и
00:41:34
мы можем вернуться к этому позже, если понадобится, но
00:41:36
на данный момент, как я уже сказал, мы можем удалить это
00:41:38
папка, а теперь что мы можем сделать, это пойти
00:41:41
в модуль индекса компонента заголовка
00:41:44
scss, и это также удалило этот индекс
00:41:47
вот здесь, внизу, так оно и выглядит
00:41:49
идеально с учетом сказанного, что у нас есть
00:41:51
успешно изменил первый раздел
00:41:54
нашего приложения заголовок
00:41:56
но мы только что изменили стили и
00:41:58
контент, но не ссылки
00:42:02
да, это исходит непосредственно от
00:42:04
заголовок и заголовок взяты из Let's
00:42:07
посмотрим, куда, если мы перейдем к нашему основному индексу
00:42:11
прямо здесь это идет из заголовка Fetch
00:42:14
который поступает из глобальных переменных API
00:42:17
это огромная функция, поэтому вопрос
00:42:20
как мы можем изменить содержимое
00:42:23
глобальные коллекции или данные
00:42:25
наше приложение
00:42:27
и ответ: мы можем сделать это правильно
00:42:29
в нашем интерфейсе администратора, так что давайте
00:42:32
расширь это чуть-чуть и открой
00:42:35
администратор localhost 3000 SL, затем откройте
00:42:39
боковая панель, которая, я думаю, находится прямо здесь, иди
00:42:42
в заголовок, и здесь вы можете добавить все
00:42:45
нужные вам ссылки, давайте добавим новый элемент навигации
00:42:49
в данном случае давайте укажем на это
00:42:51
домой и давайте добавим ярлык
00:42:55
дом
00:42:57
это будет внутренняя ссылка и
00:42:58
оно появится на первом месте
00:43:01
мы можем оставить продукты вторыми
00:43:03
ссылка и там можно сказать
00:43:05
делайте покупки сейчас, как только вы сохраните это и
00:43:08
свернуть вправо
00:43:10
здесь вернитесь к локальному хосту и
00:43:14
перезагрузи, ты можешь заметить, что теперь ты
00:43:17
вошли в систему, и у нас есть эта дополнительная вещь
00:43:19
прямо здесь, но у нас также есть
00:43:21
дом и карта, учитывая, что мы
00:43:24
вошел в систему, так что очень классные вещи, которые вы можете
00:43:27
легко изменить его прямо здесь, в вашем
00:43:29
администратор
00:43:30
интерфейс теперь, когда мы изменили
00:43:32
заголовок, давайте сосредоточимся на нижнем колонтитуле
00:43:35
далее, чтобы начать работу над нашим
00:43:38
компонент нижнего колонтитула, давайте найдем, где мы
00:43:40
есть этот нижний колонтитул, который будет в
00:43:43
компоненты, а затем не заголовок, а
00:43:45
на этот раз это будет
00:43:48
нижний колонтитул, вот и у нас есть
00:43:50
индекс. TSX теперь, как и раньше, мы можем
00:43:55
удалить большую часть импорта, который мы
00:43:57
не понадобится, как сточная канава, как
00:44:00
CMS ссылается на желоб и тему
00:44:03
селектор, а затем также глобальные переменные fedge
00:44:06
мы будем использовать все это через некоторое время
00:44:08
другие файлы, мы можем удалить эти комментарии
00:44:11
прямо здесь и просто сделай
00:44:13
console.log с
00:44:16
ошибка, мы можем удалить все, что есть
00:44:19
внутри этого тега нижнего колонтитула и просто оберните
00:44:21
все в реакции
00:44:23
такой фрагмент, и прямо внутри мы можем
00:44:27
визуализировать новый компонент нижнего колонтитула самостоятельно
00:44:30
закрытие и ему мы можем передать нижний колонтитул
00:44:33
равно нижнему колонтитулу, вот и все, теперь мы можем
00:44:37
также удали классы и мы сможем идти
00:44:41
прямо здесь, в нижнем колонтитуле, и создайте
00:44:43
новая папка компонента нижнего колонтитула, которая
00:44:47
собираюсь провести
00:44:50
index.ts, внутри которого мы можем запустить
00:44:54
rafc переименуйте его в компонент нижнего колонтитула, скажем
00:44:59
что-то вроде
00:45:00
нижний колонтитул, и мы можем создать новый индекс.
00:45:04
модуль. scss-файл, который мы можем импортировать
00:45:08
в компоненте нижнего колонтитула, сказав
00:45:10
импортировать классы из индекса SL. модуль.
00:45:17
scss, наконец-то мы можем вернуться к этому
00:45:19
индекс, и мы можем импортировать компонент нижнего колонтитула
00:45:22
из этого компонента/нижнего колонтитула теперь здесь
00:45:25
он жалуется, что мы не можем иметь
00:45:27
нижний колонтитул здесь, и это потому, что я позвонил
00:45:29
это TS вместо TSX, это компонент
00:45:33
вместо этого правильно, чтобы мы могли сделать это как
00:45:35
это и теперь не будет жаловаться
00:45:38
что мы импортировали компонент нижнего колонтитула в
00:45:41
который мы передаем в нижний колонтитул и в
00:45:43
внизу мы можем просто увидеть текст, который
00:45:45
написано в нижнем колонтитуле, что означает, что мы можем начать
00:45:47
сосредоточимся на нашем новом нижнем колонтитуле
00:45:49
компонент, поэтому давайте обернем его
00:45:52
семантический тег нижнего колонтитула HTML 5
00:45:57
вот так, давайте также дадим ему имя класса
00:46:01
равносильно тому, что URL-адреса нижнего колонтитула не приходят
00:46:05
из констант, и мы собираемся сделать
00:46:07
то же самое, что мы сделали с нашим
00:46:09
navbar do включает в себя, если он включает
00:46:13
это конкретное имя пути, которое мы должны
00:46:16
Определите верхний константный путь
00:46:19
имя равно использованию имени пути
00:46:25
из следующей навигации
00:46:26
который нам нужно импортировать, тогда мы сможем сделать
00:46:29
занятия.
00:46:31
hiide, иначе мы можем сделать пустую строку для
00:46:34
имя класса прямо в этом нижнем колонтитуле
00:46:37
мы можем визуализировать
00:46:39
желоб, который просто обеспечит
00:46:41
некоторое расстояние, и мы можем его импортировать
00:46:43
от. Желоб и внутри него мы можем визуализировать
00:46:47
UL - неупорядоченный список, который будет
00:46:51
иметь имя класса, равное
00:46:54
на занятия
00:46:56
это делать
00:46:59
включения достаточно скоро мы собираемся
00:47:01
реализовать для них стиль, конечно
00:47:04
как только мы добавили имя пути, мы
00:47:06
надо превратить это в клиента
00:47:08
компонент, используя клиент, теперь давайте
00:47:11
посмотреть, как выглядит готовый нижний колонтитул
00:47:14
вот и у нас есть эти так называемые
00:47:16
включений, что входит в наш
00:47:18
оплата как бесплатная доставка денег
00:47:20
гарантировать выплаты алиментов, а затем
00:47:23
наконец-то у нас есть этот нижний колонтитул на
00:47:25
низ, который выглядит очень красиво и
00:47:27
конечно, наши логотипы будут работать так
00:47:30
давайте продолжим создавать макет для
00:47:32
это, а затем мы сосредоточимся на
00:47:34
Стилизация позже, сначала у нас есть UL
00:47:38
внутри которого мы можем визуализировать включения
00:47:41
которые мы можем импортировать из
00:47:43
карта констант, где мы получаем каждую
00:47:46
индивидуальное включение, а также его
00:47:49
индекс, а затем мы можем сразу вернуться
00:47:52
то есть просто поставьте здесь скобку и
00:47:56
Ли, у каждого Ли должен быть ключ, который может
00:48:00
быть равным чему-то вроде
00:48:04
включение. плитка, а затем внутри нее мы
00:48:07
может иметь изображение изображения nextjs
00:48:11
компонент, который необходимо импортировать из
00:48:13
следующая косая черта
00:48:16
изображение, мы можем дать ему источник SRC
00:48:19
включение. ion и, кстати, если ты
00:48:22
интересно, откуда это взялось, смотри
00:48:24
во включение
00:48:26
это исходит из наших констант, где мы
00:48:28
просто дайте каждому включению название
00:48:30
описание и
00:48:33
значок рядом со значком, который мы также можем дать
00:48:36
это тег Al, равный
00:48:39
включение.
00:48:40
плитка, а также ширина 36 высота
00:48:45
36 и имя класса, равное classам.
00:48:51
Значок, если мы сохраним его, вы увидите четыре
00:48:54
значки прямо здесь внизу
00:48:56
под изображением, все еще внутри Ли, мы можем
00:48:58
оказать
00:49:00
H5 вот что скажет
00:49:02
включение. заголовок и теперь, если перезагрузить
00:49:06
вы увидите, как появится текст
00:49:08
прямо здесь мы также можем дать этому
00:49:11
имя класса
00:49:13
занятия. плитка и Ниже мы также можем сделать
00:49:18
P-тег, который будет отображать
00:49:21
включение.
00:49:23
описание вот и все
00:49:25
теперь, конечно, здесь, как только мы стилизуем
00:49:28
Includes div мы действительно сможем
00:49:31
увидеть, как они красиво отображаются в виде сетки
00:49:34
формат, так что теперь мы можем пойти ниже этого
00:49:37
Gutter, и мы можем создать новый div.
00:49:40
это будет иметь имя класса, равное
00:49:42
на занятия. нижний колонтитул, пока мы здесь, почему
00:49:46
разве мы не добавим сразу классы для
00:49:49
наш нижний колонтитул, поскольку это всего лишь
00:49:51
стиль еще раз по ссылке внизу
00:49:53
описание, где весь код
00:49:55
блоки, вы сможете найти
00:49:57
нижний колонтитул. модуль. scss, который вы можете
00:50:01
просто скопируйте и вставьте сюда это
00:50:04
всего пара занятий по сокрытию
00:50:06
социальные иконки, а также создание
00:50:09
сетка для нашего
00:50:11
включения, чтобы вы могли видеть
00:50:14
что теперь оно выглядит немного лучше
00:50:16
в нашем нижнем колонтитуле мы также можем сделать
00:50:18
сточной канавы, которая снова просто создает
00:50:20
какое-то пространство внутри него мы можем создать
00:50:23
еще один div, у которого будет класс
00:50:26
название классов.
00:50:30
WP, то мы сможем создать ссылку, которая
00:50:33
собираюсь указать на час просто дома для
00:50:38
теперь и, конечно же, нам нужно импортировать
00:50:40
ссылка, идущая из следующей косой черты, и
00:50:44
внутри ссылки мы можем визуализировать изображение
00:50:46
тег, источник которого равен /
00:50:49
логотип-белый
00:50:53
SVG и я отметим логотип и ширину
00:50:58
примерно давайте сделаем 170 и рост примерно
00:51:02
50 будет хорошо, если мы сохраним это, вы можете
00:51:06
видишь красивый логотип здесь, теперь мы можем идти
00:51:09
ниже этой ссылки и отобразите тег P, например
00:51:13
как нижний колонтитул.
00:51:16
авторские права, и вот в чем теперь я
00:51:19
хочу научить вас, как добавлять дополнительные
00:51:22
что-то в вашем контенте похоже на то, что
00:51:25
мы покончили с их наваром, так что давай
00:51:27
быстро прокомментируйте это, потому что если вы
00:51:29
оставьте, там написано, что не могу найти имя, нижний колонтитул
00:51:33
ну, нижний колонтитул в данном случае взят из
00:51:35
параметры, чтобы мы могли его деструктурировать, потому что
00:51:39
мы передаем его в этот компонент
00:51:41
не забывайте, что в нашем основном индексе мы получаем
00:51:44
нижний колонтитул, получив его из веса
00:51:48
извлекаем нижний колонтитул, а затем передаем его как
00:51:50
prop, поэтому мы можем его разрушить и
00:51:53
тогда скажем, нижний колонтитул — это тип нижнего колонтитула
00:51:57
исходя из типов полезной нагрузки, и мы можем
00:51:59
сохраните его, но вы можете видеть, что
00:52:02
авторских прав не существует в нижнем колонтитуле, так как же
00:52:07
можем ли мы добавить дополнительное свойство, например
00:52:09
в качестве авторских прав в данном случае на наш нижний колонтитул
00:52:12
ну, мы можем перейти к нашим глобальным точкам
00:52:16
прямо здесь, внутри
00:52:18
Graphql, вы можете видеть, что мы здесь
00:52:21
собираюсь увидеть нашу
00:52:22
нижний колонтитул с навигационными ссылками, а также мы
00:52:25
хочу получить авторские права рядом с этими навигаторами
00:52:29
ссылки, то мы тоже хотим перейти на нашу
00:52:32
нижний колонтитул. DS глобальных переменных полезной нагрузки и здесь
00:52:36
вы можете выбрать, какие поля вы хотите
00:52:38
добавь к этому, так что сейчас мы находимся в глобальных масштабах
00:52:40
а потом
00:52:42
foter и здесь можно добавить новое поле
00:52:45
с названием авторского знака
00:52:50
авторское право как
00:52:52
этот тип текста
00:52:56
и требуется true, мы идем и добавляем
00:53:01
запятая
00:53:03
здесь, наконец, о типах полезной нагрузки, которые мы
00:53:06
можно также перейти к типам полезной нагрузки, которые мы
00:53:10
можно выполнить поиск по нижнему колонтитулу и здесь поверх
00:53:14
навигационные ссылки, мы также можем добавить авторские права
00:53:18
строка, так что это три места, где
00:53:21
мы должны изменить
00:53:23
что-то одно - это типы полезной нагрузки на
00:53:26
нижний колонтитул, еще один — нижний колонтитул Global
00:53:30
вот здесь и третий — глобальные
00:53:33
внутри Graphql, где мы получаем эти данные
00:53:37
мы собираемся пройти через этот процесс
00:53:38
много раз, но да, я согласен, полезная нагрузка
00:53:42
требуется некоторое время, чтобы привыкнуть
00:53:44
но как только ты к этому привыкнешь, ты
00:53:45
по сути построен на основе Open
00:53:47
Исходные каталоги с использованием Graphql и
00:53:50
используя правильные типы, это не так
00:53:53
Изобретая колесо, которое они просто предоставляют
00:53:55
правильный набор текста, они обеспечивают правильный
00:53:58
Graphql извлекает, и они позволяют вам
00:54:00
затем измените его, используя свою собственную CMS, чтобы
00:54:03
теперь, когда мы изменили эти типы
00:54:05
есть еще одна вещь, которую нам нужно сделать
00:54:07
мне нужно зайти в наш терминал, остановить наше приложение
00:54:10
от бега, нажав Ctrl C и
00:54:12
тогда Y, и тогда я бы порекомендовал
00:54:15
установка пряжи, чтобы вы могли сделать это,
00:54:18
запуск установки mpm — глобальная пряжа в
00:54:21
случай, когда вы использовали MPM, если вы RN
00:54:23
пряжа, тогда это уже хорошо
00:54:26
обычно пряжа лучше работает с графиком
00:54:28
запросы, поэтому мне просто нравится использовать его здесь
00:54:31
а затем запустите полезную нагрузку пряжи, сгенерируйте двоеточие
00:54:35
схема Graphql, которая будет сгенерирована
00:54:38
схема Graphql, основанная на нашей модифицированной
00:54:41
конфигурация Graphql и, наконец, мы тоже хотим
00:54:44
для генерации типов путем запуска пряжи
00:54:47
генерировать
00:54:49
отлично, это тоже сделано сейчас
00:54:53
вернемся к нашему интерфейсу администратора
00:54:55
что будет прямо здесь, давайте
00:54:58
разверните его и проверьте, даже не
00:55:02
перезагрузка администратора Local Host 3000
00:55:05
группа знала, что теперь у нас есть новый
00:55:08
поле авторских прав, которое мы можем добавить, это
00:55:12
круто, так вот как ты меняешь свой
00:55:14
глобальные переменные внутри полезной нагрузки CMS, скажем, в
00:55:18
2024, давай сделаем что-нибудь вроде Tech
00:55:23
Хейвен или Все права
00:55:27
Зарезервировано, и мы можем нажать «Сохранить сейчас», если мы
00:55:30
вернитесь назад, это обновление нижнего колонтитула и
00:55:34
также, если мы вернемся к нашему
00:55:37
нижний колонтитул, вы можете заметить, что машинописный текст
00:55:39
сразу узнает, что теперь авторские права
00:55:42
свойство типа string действительно имеет
00:55:44
существуют в нашем нижнем колонтитуле, поэтому давайте повторим наш
00:55:47
приложение, запустив mpm run Dev и
00:55:51
пока мы ждем, пока он запустится, давайте
00:55:53
также добавьте дополнительные значки социальных сетей
00:55:55
в наш нижний колонтитул, зайдя к нашему администратору
00:55:58
панель и добавление новой навигации
00:56:01
элементы, мы можем добавить собственный URL-адрес, открыть новый
00:56:05
вкладка и давайте сделаем что-то вроде
00:56:08
https
00:56:11
толстая кишка
00:56:14
facebook.com, а затем вы можете сказать ярлык
00:56:16
Facebook мы также можем повторить это
00:56:19
обработка пользовательского URL еще для трех сайтов
00:56:23
открываю новую вкладку, давай сделаем htps
00:56:27
Колин
00:56:29
instagram.com и мы можем сделать
00:56:32
Instagram и, наконец, давайте также сделаем
00:56:35
давайте сделаем третий пользовательский URL
00:56:40
youtube.com и скажем
00:56:43
YouTube великолепен, теперь у нас есть три
00:56:46
таких, надеюсь, у них больше не будет
00:56:49
ошибки, и мы можем нажать
00:56:51
за исключением того, что мы идем, это выглядит хорошо и
00:56:55
теперь наше приложение запущено и работает, мы
00:56:57
действительно видите наши авторские права на
00:57:00
дно, что здорово, и последнее
00:57:02
нужно сделать, это прокрутить наши социальные значки
00:57:06
Итак, давайте создадим новый div с классом
00:57:09
имя, равное
00:57:11
занятия. Социальное
00:57:14
Ссылки и давайте пройдемся по нашим элементам навигации.
00:57:18
которые мы можем импортировать из
00:57:20
карта констант, где мы получаем каждую
00:57:23
отдельный товар и прежде чем мы его вернем
00:57:26
мы хотим просто открыть регулярное
00:57:28
функциональный блок, который мы хотим извлечь
00:57:31
значок из каждой из этих ссылок для
00:57:34
теперь оставим это как пустую строку
00:57:36
а потом мы хотим вернуться, мы можем вернуться
00:57:39
кнопка для каждого из
00:57:41
это то, что будет содержаться сейчас
00:57:44
просто кусок текста, говорящий
00:57:46
элемент. связь. ярлык, давайте дадим эту кнопку
00:57:51
а
00:57:52
ключ, равный ссылке на элемент.
00:57:56
Лаэль, давай добавим ему элемент Link
00:58:00
Н предмета. связь. URL, давайте исправим
00:58:05
это новая вкладка true и имя класса
00:58:11
из
00:58:12
занятия. элемент социальной ссылки и, конечно же,
00:58:16
нам нужно импортировать кнопку из
00:58:18
делать/сл
00:58:21
кнопку, и если мы сохраним ее, вы увидите
00:58:24
что оно сломается, потому что оно
00:58:26
не могу прочитать ссылку на недвижимость прямо здесь
00:58:29
и это потому, что я сопоставил профиль
00:58:31
элементы навигации вместо элементов навигации, которые
00:58:35
мы собираемся определить прямо здесь, в
00:58:37
наверху, сказав, что константные элементы навигации равны
00:58:41
в нижний колонтитул вопросительный знак. элементы naav так
00:58:45
мы получаем их напрямую от
00:58:47
нижний колонтитул, исходящий из полезных данных, и если он
00:58:50
не существует, мы можем сделать его пустым
00:58:52
массив великолепен, поэтому теперь мы сможем
00:58:56
принять те ссылки, которые сейчас хороши
00:59:01
множественное число, если мы сэкономим
00:59:04
сейчас мы видим три логотипа, но
00:59:08
они очень темные, так что ты едва сможешь
00:59:09
посмотрите их, если у вас есть, кроме Facebook
00:59:12
Instagram и YouTube действительно здесь
00:59:15
теперь последнее, что нам нужно выяснить
00:59:17
как прикрепить эти социальные сети
00:59:20
значки для этих различных навигационных ссылок и
00:59:23
для этого мы снова собираемся погрузиться
00:59:25
немного глубже в то, как работает полезная нагрузка, поэтому
00:59:29
мы собираемся перейти на Graphql
00:59:32
Сокоре
00:59:34
Graphql, а затем, в частности, мы
00:59:36
собираюсь перейти по ссылке.
00:59:38
TS здесь мы можем определить это сверху
00:59:42
URL-адреса мы также хотим получить значок
00:59:45
который будет содержать собственный URL-адрес
00:59:49
затем мы также хотим перейти к полезной нагрузке
00:59:52
Ссылка на поля. ТС
00:59:55
и прямо здесь, внизу, под этим
00:59:59
админ с 50, а затем еще ниже двух
01:00:02
фигурные скобки, мы хотим добавить новую ссылку
01:00:05
с именем
01:00:07
Значок метки
01:00:10
Тип значка
01:00:13
загрузить, и мы хотим добавить связь с
01:00:18
СМИ, так что это будет СМИ
01:00:21
файл, наконец, ты узнаешь след, если мы
01:00:24
изменить конфигурацию графа C, которую нам нужно
01:00:27
остановить запуск нашего приложения, мы
01:00:30
нужно запустить полезную нагрузку пряжи, сгенерировать график
01:00:33
Квилл
01:00:34
схема, а также типы генерации пряжи
01:00:38
для этого
01:00:39
схема, наконец, мы можем перезапустить нашу
01:00:42
приложение и пока мы его перезапускаем
01:00:44
мы можем зайти в нашу админ-панель и мы можем
01:00:48
добавьте эти ссылки к этим элементам навигации
01:00:52
как только приложение загрузится, мы
01:00:54
иметь возможность загружать медиафайлы
01:00:57
файлы, поехали, я перезагрузил страницу
01:01:00
и теперь вы видите, что можете загрузить
01:01:02
Новые медиа или выберите из существующих
01:01:05
собираюсь загрузить новый
01:01:07
Медиа выберите файл, и теперь вы хотите
01:01:10
найди папку, над которой мы сейчас работаем
01:01:13
включено, потому что помните, в общей папке
01:01:16
а затем в интерфейсе администратора я предоставил вам доступ
01:01:19
ко всему, что вам может понадобиться
01:01:21
например нижний колонтитул, а затем значки, поэтому сначала
01:01:24
мы загружаем, потому что я думаю, что это так
01:01:27
Фейсбук, ты можешь сказать
01:01:29
Фейсбук и
01:01:31
сохраните, тогда мы пойдем в
01:01:33
вторая загрузка в инстаграм новая
01:01:37
СМИ
01:01:40
Instagram, а также Instagram и
01:01:43
в данном случае третьим будет я
01:01:47
кажется, я назвал это YouTube, но у нас есть
01:01:50
Значок Твиттера, так что я собираюсь сделать
01:01:52
Твиттер сохрани, я его переименую.
01:01:55
в Твиттер или теперь это Х и Твиттер
01:02:00
прямо здесь, не стесняйся делать все, что хочешь
01:02:02
хочу Twitter или X, это нормально, и давай
01:02:06
нажмите «Сохранить», и теперь это даст
01:02:08
нам доступ к этим значкам внутри
01:02:12
код, поэтому давайте вернемся к этому индексу и
01:02:16
внутри кнопки вместо рендеринга
01:02:18
метку, которую мы можем создать новую
01:02:20
самозакрывающийся тег изображения nextjs, который
01:02:23
значок будет прямо внутри
01:02:26
но чтобы добраться до этого значка, мы можем сказать item
01:02:29
вопросительный знак. вопрос по ссылке
01:02:32
отметить как
01:02:34
носитель, поступающий из полезной нагрузки
01:02:37
типы, и тогда здесь мы можем сказать, что источник
01:02:41
равный
01:02:42
к значку вопросительного знака.
01:02:45
URL, давайте добавим ему тег ALT
01:02:48
что-то вроде предмета. связь.
01:02:52
Лаэль, вот и все
01:02:56
давайте также зададим ему ширину около 24 а
01:03:00
высота 24 и имя класса
01:03:04
занятия. значок соцсети сейчас, если я его сохраню
01:03:09
появляются все три значка и они перенаправляют
01:03:12
на соответствующие страницы в новой вкладке нижнего колонтитула
01:03:16
теперь выглядит великолепно, как и
01:03:18
Навар, это просто и ясно, но теперь
01:03:21
основное содержание – это то, что действительно делает это
01:03:24
приложение Освещайте продукты, которые мы видим на
01:03:27
там, в этом удивительном разделе героев, но
01:03:31
прежде чем мы начнем работать над героем
01:03:32
раздел и категории есть один
01:03:35
еще страница, которая прекрасна и так
01:03:37
важно, какой аккаунт создать
01:03:40
страница и страница входа не похожи
01:03:43
что-то на мобильном телефоне, но посмотрите
01:03:46
вид на рабочем столе, это здорово, правда
01:03:49
действительно кричит о технических продуктах, так что поехали
01:03:52
вперед и создайте логин, создайте учетную запись
01:03:55
а также забыть пароль на всех
01:04:00
однажды я упаду так близко
01:04:03
все открытые в данный момент файлы и
01:04:06
надеюсь, мы приближаемся к
01:04:08
понимание того, как работает полезная нагрузка
01:04:10
сцены, требующие обучения
01:04:13
но как только вы поймете, как использовать
01:04:15
это становится таким мощным инструментом для
01:04:18
создавать не только магазины электронной коммерции, но и
01:04:21
а также все виды приложений, требующих
01:04:23
система управления контентом
01:04:25
Итак, давайте начнем с выхода из системы, если
01:04:27
ты еще этого не сделал, а потом читаешь
01:04:30
страница входа это текущий вход в систему
01:04:34
и это то, что мы хотим, чтобы наш логин
01:04:35
выглядят совсем по-другому, да и что
01:04:39
мы можем сделать, это открыть страницу входа
01:04:42
вот это будет
01:04:44
страница авторизации. TSX прямо здесь, здесь
01:04:49
мы хотим удалить все, что мы
01:04:51
иметь в сточных канавах, и мы хотим, чтобы
01:04:53
превратить это в
01:04:56
раздел, в этом разделе будет
01:04:59
имя класса, равное классам.
01:05:03
войдите в систему, и внутри него у нас может быть div
01:05:06
это будет имя класса
01:05:09
занятия. герой IMG для наших основных праймериз
01:05:13
изображение, а затем ссылку, которая будет
01:05:17
есть href для косой черты, и мы
01:05:20
конечно, придется импортировать ссылку из
01:05:22
следующую ссылку, и внутри нее мы можем отобразить
01:05:26
Тег изображения nextjs, импортированный из следующего SL
01:05:31
изображение, которое будет отображать источник
01:05:34
СЛ
01:05:37
черный логотип в формате SVG с ал-тегом
01:05:43
логотип шириной
01:05:45
250 высота
01:05:48
23 и имя класса, равное
01:05:52
занятия. логотип
01:05:55
если мы сохраним это, вы увидите, что теперь мы только
01:05:57
есть логотип, и мы можем пойти ниже этого
01:06:01
ссылку и под div, чтобы создать
01:06:03
form, чтобы мы могли сказать div с именем класса
01:06:07
равны классам. обертка формы и
01:06:11
внутри него еще один div, который будет
01:06:14
иметь имя класса, равное classам.
01:06:18
сформируйте контейнер и не волнуйтесь, мы
01:06:20
скоро добавим в него классы
01:06:23
мы можем добавить что-то, называемое рендерингом
01:06:26
параметры, и это происходит непосредственно из
01:06:29
полезную нагрузку, мы можем передать имя класса
01:06:33
классов. перам ниже мы можем
01:06:36
оказать
01:06:38
div, у которого будет имя класса
01:06:41
равны классам. сформировать заголовок и право
01:06:46
внутри мы можем визуализировать H3, который будет
01:06:48
поздороваться, поехали, и правильно
01:06:52
под ним мы можем визуализировать изображение
01:06:54
у этого будет источник SL
01:06:57
значки косой черты активов SL
01:07:02
hand.png с тегом ALT, указывающим ширину руки
01:07:07
30 и высота 30 как
01:07:12
ну так это просто махание рукой внизу
01:07:15
в этом div мы также можем добавить тег P, который
01:07:18
собираюсь сказать, пожалуйста, войдите сюда и направо
01:07:22
ниже мы можем отобразить форму входа
01:07:24
приходящий из
01:07:26
полезная нагрузка, вот и все, конечно, это
01:07:29
наша очередь также стилизовать его немного так
01:07:33
описание ниже вы можете найти
01:07:35
индекс. модуль. scss измененный
01:07:38
хотя бы один и вставьте его, что будет
01:07:41
полностью изменить внешний вид и
01:07:43
чувствую, что мы также хотим немного изменить
01:07:46
входные данные, перейдя к индексу входных данных.
01:07:51
модуль.
01:07:52
scss, и здесь мы хотим изменить
01:07:55
Радиус границы примерно до 10 пикселей, это
01:07:58
мы хотим сделать их немного округлыми
01:08:00
изменить высоту примерно до 52 пикселей
01:08:04
чтобы увеличить его, мы хотим изменить
01:08:07
заполнение примерно до 16 пикселей, а также
01:08:11
размер шрифта до 16
01:08:14
пикселей, если вы сохраните его, вы сможете его увидеть
01:08:16
выглядит хорошо, и мы также хотим дать ему
01:08:18
граница 1 пиксель
01:08:22
сплошной VAR -- цвет-серый
01:08:27
500, наконец, мы можем пойти прямо здесь, внизу
01:08:30
в метке и добавьте размер шрифта
01:08:33
около 12
01:08:35
пикселей, вот и все, вот и все
01:08:38
уменьшите размер шрифта, теперь мы тоже хотим
01:08:41
немного изменить эти ссылки прямо сейчас
01:08:43
они выглядят не очень хорошо, так что пойдем
01:08:46
форма входа, поэтому индексируйте DSX входа в систему
01:08:50
форма, давайте прокрутим вниз до того места, где у нас есть
01:08:53
те в ссылки, вот и давайте добавим
01:08:56
имя класса
01:09:00
занятия. ссылки, а также удалить это
01:09:03
текст, здесь клиенты будут входить в систему
01:09:07
нам это не обязательно нужно здесь и
01:09:09
эту ссылку, а также весь тег P для
01:09:12
это важно, мы идем, это немного
01:09:15
чище также в этом перенаправлении прямо здесь
01:09:19
вместо того, чтобы привлекать к ответственности, мы хотим
01:09:21
нажмите косую черту и установите
01:09:25
window.location.href для пересылки косой черты как
01:09:28
ну, поскольку мы добавили это имя класса
01:09:31
ссылки, которые нам теперь нужно перейти в этот модуль
01:09:34
и изменить его при отправке, мы можем дать ему
01:09:38
ширина
01:09:41
100% мы можем добавить эту новую DOT
01:09:44
Ссылки на дисплей гибкие, это происходит
01:09:48
чтобы они отображались в строке, выровняйте элементы
01:09:52
Центра обосновывают содержание пространства
01:09:56
между и шириной
01:10:01
100% готово, уже лучше
01:10:05
давайте также изменим форму
01:10:07
Сам изменив ширину на 100% мы
01:10:11
тогда не нужно это включать в середине перерыва
01:10:14
и мы можем убрать ширину здесь, мы можем
01:10:16
сделайте зазор примерно 24 пикселя и отступ
01:10:20
сверху примерно на 30 пикселей, чтобы создать несколько
01:10:24
космос, вот и мы, так лучше
01:10:28
уже и с этим у нас есть
01:10:31
успешно прошел пару
01:10:32
файлы и изменили нашу страницу входа, которая
01:10:36
сейчас выглядит намного лучше, чем
01:10:38
по умолчанию создать учетную запись или восстановить
01:10:41
страницы с вашими паролями, так что давайте быстро
01:10:43
перейдите к созданию учетной записи и о боже
01:10:47
Боже, ты бы посмотрел на это, пойдем
01:10:48
вперед и изменить это дальше, мы можем
01:10:51
начните с создания учетной записи и
01:10:54
затем индекс этой учетной записи
01:10:56
странице и изменив Стили
01:11:00
немедленно, скопировав их из
01:11:02
описание внизу, а затем вставить
01:11:04
новые, и тогда мы сможем пойти к нему
01:11:07
страница. DSX внутри, создайте учетную запись, чтобы начать
01:11:10
модифицирую его, потому что сейчас это не так
01:11:12
выглядишь так хорошо, что мы можем сделать почти
01:11:15
то же самое, что и мы сделали
01:11:17
с логином, так что давайте быстро перейдем к
01:11:20
страница авторизации. TSX и давай копировать
01:11:23
все, что находится в пределах возврата
01:11:25
заявление и вставьте его прямо сюда
01:11:28
это возвращение, конечно, нам придется
01:11:30
импортировать ссылку из изображения следующей ссылки
01:11:33
со следующего изображения, а также обменять это
01:11:36
к
01:11:37
зарегистрироваться
01:11:40
форма, если мы сохраним ее, вы увидите, что это
01:11:43
собираюсь снова работать, но, конечно
01:11:45
нам нужно внести пару изменений
01:11:46
измените это на классы. создавать
01:11:49
учетной записи логотип может остаться прежним
01:11:52
обертка формы и все все
01:11:53
остальное хорошо, а не добро пожаловать, мы можем
01:11:56
скажи создай
01:11:59
вместо учетной записи, пожалуйста, войдите сюда, мы
01:12:02
могу сказать, пожалуйста, введите
01:12:04
подробности, и это более или менее то, что мы
01:12:07
иметь красивую форму, есть кое-что
01:12:10
несоответствия с дизайном здесь
01:12:12
нам не хватает пробелов и даже больше
01:12:14
мы можем сделать то же самое, что и мы
01:12:15
сделано, прежде чем мы сможем войти в
01:12:18
форма создания или форма создания учетной записи
01:12:22
это прямо здесь, мы можем прокрутить
01:12:25
вниз, а затем в этом другом месте, где мы
01:12:28
перенести на этот другой аккаунт, мы просто
01:12:30
хочу двигаться вперед
01:12:33
косая черта, мы идем и добавляем
01:12:37
window.location.href для пересылки косой черты как
01:12:39
ну, я помню, что мне пришлось это добавить
01:12:42
чтобы полностью заставить его работать в данных формы
01:12:45
мы также можем добавить дополнительное поле и
01:12:47
эти данные формы, я думаю, находятся прямо здесь
01:12:51
поэтому мы также можем добавить имя, которое
01:12:54
будет иметь строку типа, тогда мы
01:12:57
могу добавить ввод для этого имени правильно
01:12:59
здесь ниже первого ввода от
01:13:02
дублируя его, меняя его на
01:13:05
имя, то мы можем изменить его на полное имя
01:13:09
необходимые ошибки реестра. имя и тип
01:13:14
текста, поэтому теперь добавлено полное имя
01:13:16
собственность прямо здесь, наконец, вместо
01:13:20
создайте аккаунт здесь, мы можем что-то сказать
01:13:23
знак лайка
01:13:25
и я считаю, что мы отлично выглядим
01:13:29
форма, о да, нам нужно сделать этот стиль
01:13:32
поэтому мы можем перейти к стилям создания
01:13:34
форму аккаунта, мы можем убрать эту ширину
01:13:37
и в середине перерыва и вместо этого сделайте ширину
01:13:43
100% добавить отступ сверху около 30 пикселей.
01:13:48
как и прежде, измените Gap на 24 пикселя.
01:13:53
и в отправке вместо изменения
01:13:55
верхнюю границу поля мы можем установить ширину
01:13:58
100% вот и все, это больше похоже на это
01:14:02
теперь у нас есть Великая Техническая Гавань, созданная
01:14:05
аккаунт, а также страницы входа в систему и
01:14:09
вы можете заметить, как также изображения
01:14:11
менять время от времени последнюю страницу
01:14:14
нам нужно сосредоточиться на восстановлении вашего
01:14:16
пароль
01:14:17
страница, которая выглядит вот так, и я думаю
01:14:20
Вы уже можете догадаться об этом, но
01:14:22
процедура будет очень похожа
01:14:25
мы можем закрыть все открытые на данный момент
01:14:27
страницы, как и прежде, мы собираемся изменить
01:14:30
сначала форму, перейдя в
01:14:32
восстановить форму пароля, а затем восстановить
01:14:36
модуль пароля как
01:14:39
CSS внизу вы можете найти восстановление
01:14:42
модуль формы пароля. scss и просто
01:14:46
перезапишем его, пока мы здесь, давай тоже
01:14:49
перейти к форме восстановления пароля индекс TS
01:14:53
X, а также прокрутите до возврата и, если
01:14:56
не получилось, мы можем поставить тег P прямо здесь
01:15:00
внутри фрагмента реакции что-то
01:15:04
типа введите свой
01:15:07
зарегистрированная электронная почта
01:15:09
адрес отправит вам код для сброса
01:15:14
твой
01:15:16
пароль, вот и пароль с 1
01:15:20
а нам здесь не нужен H1, скорее мы
01:15:24
просто нужна форма, чтобы мы могли удалить это
01:15:27
оболочка формы, а также этот тег P все
01:15:29
вместе и просто имеем форму, которую мы тоже
01:15:32
надо убрать замыкание
01:15:34
div и сделайте отступ правильно, форма
01:15:38
будет иметь имя класса классов.
01:15:40
форму, и внутри нее у нас есть сообщение, которое мы
01:15:44
есть
01:15:45
введите, и у нас есть кнопка отправки, так что теперь
01:15:49
как вы можете видеть, это выглядит даже
01:15:50
хуже, чем раньше, но это потому, что мы
01:15:52
не изменял реальное восстановление
01:15:55
страница пароля, поэтому давайте перейдем к
01:15:58
восстановить пароль под страницами и давайте
01:16:03
сначала перейдите к индексному модулю scss и
01:16:06
переопределить
01:16:07
вот и все, теперь мы можем увидеть
01:16:10
фон и потом можно идти восстанавливаться
01:16:14
страница с паролем настоящая и ты знаешь
01:16:17
дрель, это будет выглядеть довольно
01:16:19
похоже на вход и регистрацию, так что давайте
01:16:22
быстро перейдите на страницу входа и скопируйте
01:16:26
все из оператора возврата
01:16:28
верно
01:16:29
сюда и вставьте это в этот возврат
01:16:32
заявление, конечно, мы должны импортировать
01:16:35
ссылка, а также изображение в этом
01:16:38
если у нас не будет рендеринга колясок и
01:16:41
вместо формы входа здесь у нас будет
01:16:44
восстановить пароль
01:16:47
форма, если мы сохраним ее, она будет выглядеть немного
01:16:50
лучше, но вместо занятий что то
01:16:53
Войдите, мы хотим дать ему уроки.
01:16:56
восстанавливаться
01:16:57
пароль, который собирается вернуть
01:17:00
это красиво
01:17:01
изображение у нас есть изображение нашего героя, тогда мы
01:17:05
у нас также есть наш логотип, мы можем перейти к
01:17:07
оболочка формы и внутри формы
01:17:10
контейнер Я ошибся, мы добавим
01:17:12
также визуализируйте параметры, и позвольте мне рассказать
01:17:15
почему, если ты добавишь это сюда и поставишь
01:17:17
сорт
01:17:19
имя, равное классам. перам и сохранить
01:17:23
это потому, что это необходимо для правильного
01:17:26
маршрут через URL-коляски, потому что, если вы
01:17:29
откройте этот компонент, вы увидите это
01:17:32
у них были некоторые проблемы, поэтому надо это исправить
01:17:35
они окутывают компонент в напряжении
01:17:37
компонент прямо здесь, а затем они
01:17:39
конечно, визуализировать компонент perams
01:17:42
вместо «Добро пожаловать прямо здесь» мы можем сказать
01:17:44
что-то вроде H3 выключен, забыл
01:17:51
пароль нам не нужен, нужен этот тег B
01:17:54
прямо здесь, и нам также нужно добавить
01:17:56
ссылка для возврата на случай, если мы, возможно,
01:17:58
мы вспомнили наш пароль, так что мы можем
01:18:01
мы можем разместить этот H3 прямо здесь
01:18:05
ниже, а также div, который обертывает
01:18:07
вот это название формы
01:18:11
это будет выглядеть так
01:18:13
нам не нужно махать рукой здесь, чтобы мы могли
01:18:16
удалите это изображение, это
01:18:20
вручную, но ниже форумов рендеринга мы можем
01:18:23
добавьте ссылку, которая будет иметь href
01:18:27
логина SL и имени класса, равного
01:18:33
классы, ссылка на doback, это будет просто
01:18:37
визуализировать изображение, которое будет иметь
01:18:39
источник, равный активам SL, ионам SL, SL
01:18:45
стрелка влево
01:18:48
Тег SVG Al слева. Ширина стрелки равна 24.
01:18:53
и высота тоже 24, так что теперь у нас есть
01:18:57
эта стрелка назад и дополнительная буква
01:19:00
L, который я добавил сюда, но могу удалить
01:19:03
и прямо ниже мы также можем просто сделать
01:19:05
Тег P, который говорит, что мы идем, вот это
01:19:10
мне кажется, что это хорошо, и теперь у нас есть
01:19:13
полностью настроенный вход в систему создать
01:19:15
страницы учетной записи и восстановления пароля
01:19:19
конечно, давайте продолжим и проверим это
01:19:21
Я попробую Просто войти в систему с помощью
01:19:23
учетную запись, которую я создал ранее как
01:19:26
админ, и ты видишь, что все получилось
01:19:29
и мы вошли в систему, это здорово и
01:19:32
наконец-то теперь мы можем сосредоточиться на настоящем моменте
01:19:35
мы ждали, что это
01:19:37
изменение домашней страницы, чтобы она работала
01:19:39
от
01:19:41
это для
01:19:44
это да, я знаю, что ты в восторге, так что давай
01:19:47
иди и построй это
01:19:49
вместе мы можем начать с выполнения
01:19:52
здесь раздел героев, так что давайте откроем
01:19:55
подчеркнуть Героев, это папка, в которой находится
01:19:58
вот и все, так что подчеркните
01:20:01
Герои, и у нас здесь несколько Героев.
01:20:04
у нас высокая степень воздействия низкая степень воздействия средняя
01:20:06
продукт и многое другое внутри, давайте
01:20:09
добавить новую папку под названием custom
01:20:13
героя внутри него мы можем создать нового
01:20:16
индекс. TSX, и мы можем начать с копирования
01:20:20
что у нас здесь такое сильное влияние, так что
01:20:23
давайте скопируем его и изменим
01:20:26
это от высокоэффективного героя до кастомного
01:20:31
герой, теперь у нас есть дополнительный герой, и мы
01:20:35
можете перейти к нашему индексу героев. Компонент TSX
01:20:38
так что теперь под подчеркиванием компонентов справа
01:20:40
здесь мы хотим добавить нашего героя в
01:20:43
массив героев, поэтому мы имеем большое влияние
01:20:46
среднее и слабое воздействие и внизу
01:20:49
мы хотим добавить собственного героя, который
01:20:51
равен обычаю
01:20:53
герой из Heroes, индивидуальный герой
01:20:56
Там мы
01:20:57
иди, давайте перейдем на наш существующий сайт, и мы
01:21:00
вижу, что у нас есть проблема и что
01:21:02
в том, что мы импортируем индексный модуль
01:21:04
CSS, но у нас его нет, поэтому давайте создадим
01:21:06
новый индекс. модуль. scss внутри кастома
01:21:11
тоже герой, и ты знаешь, как это сделать.
01:21:15
описание Down Below в том же
01:21:17
по ссылке вы сможете найти заказной
01:21:19
модуль героя scss, вы можете скопировать его и
01:21:22
вставлено прямо сюда с этим нашим приложением
01:21:26
теперь функционален
01:21:27
еще раз, а это значит, что мы можем начать
01:21:29
использовать его пока единственное, что
01:21:31
мы можем просто немного изменить его, чтобы
01:21:34
мы увидим, когда этот герой на самом деле
01:21:36
скоро появится, поэтому я прокомментирую
01:21:38
вынести все, что находится в желобах и
01:21:41
тогда скажи
01:21:42
H1 сказал, что это наш собственный герой, просто так я
01:21:47
могу показать тебе, как мы можем добраться до этого
01:21:49
потому что прямо сейчас мы все еще можем видеть
01:21:50
другой, чтобы сделать это, нам тоже придется пойти
01:21:53
для загрузки полей, так что давайте перейдем к полям
01:21:56
герой. TS, который находится прямо здесь, внутри
01:22:00
поля внутри
01:22:02
полезная нагрузка и здесь внизу внизу низкая
01:22:05
влияние, мы также хотим добавить новый ярлык
01:22:08
для пользовательского героя, а также значение
01:22:12
обычая
01:22:13
герой, вот и мы тоже хотим измениться
01:22:16
условие, поэтому здесь ниже мы имеем
01:22:19
состояние администратора показывает большое влияние и
01:22:22
Влияние Medi, но теперь мы хотим также добавить
01:22:25
здесь также есть собственный герой, который будет
01:22:29
чтобы выглядеть примерно так, дальше у нас есть
01:22:32
перейти на нашу страницу, где находится этот герой
01:22:34
будет показано, и это будет
01:22:36
быть пустой страницей. DSX написано вот так
01:22:41
Pages Slug, и здесь мы должны показать наши
01:22:44
герой, это произойдет, верно
01:22:46
здесь Ниже в операторе возврата, чтобы мы
01:22:49
нужно выяснить, находимся ли мы в настоящее время
01:22:51
на главной странице, сказав, что пуля тройная
01:22:54
равно дому, если это так, то
01:22:58
мы хотим визуализировать желоб и внутри
01:23:01
желоб, в который мы хотим отобразить героя
01:23:03
который мы собираемся выложить всем героем
01:23:06
свойства, которые мы хотим отобразить
01:23:08
еще один фрагмент реакции, внутри которого мы
01:23:11
хочу иметь то, что было до героя
01:23:14
с
01:23:16
блоки, вот и все, теперь мы можем отобразить
01:23:18
наши собственные и, конечно, нам приходится импортировать
01:23:20
желоб из компонентов желоб сейчас
01:23:23
еще одна вещь, которую мы можем сделать здесь в рамках этого
01:23:25
попробуй уловить, получаем ли мы
01:23:27
документ, который мы хотим показать, но мы
01:23:29
также хочу получить категории, которые
01:23:31
позже мы будем использовать So Ниже страницы
01:23:34
мы можем сказать, что пусть категории имеют тип
01:23:38
категория, которую мы можем получить из типов P
01:23:41
но массив
01:23:42
категории, и для него будет установлено значение
01:23:45
по умолчанию значение null, так что если вам интересно
01:23:48
почему мы делаем это хорошо, мы должны
01:23:49
выберите категории прямо здесь, потому что
01:23:51
мы показываем им их здесь, у нас есть
01:23:53
их еще в паре мест
01:23:55
поэтому мы делаем наше приложение немного лучше
01:23:57
продвинутый, чем стартер, чтобы получить
01:23:59
категории, которые мы можем сделать аналогично тому, что
01:24:01
мы делаем со страницей здесь
01:24:03
категории равны ожиданию получения документов
01:24:07
типа
01:24:08
категория, и мы просто называем ее по
01:24:11
проходящие категории во множественном числе прямо здесь как
01:24:14
строку, которую мы также хотим импортировать
01:24:16
дополнительные занятия прямо здесь и в
01:24:18
наверх, мы можем сказать, импортировать классы из этого
01:24:22
Индекс СЛ. модуль.
01:24:25
scss, и поэтому нам нужно создать
01:24:28
новый индекс. модуль.
01:24:32
scss, здесь не будет много стилей
01:24:35
мы просто хотим
01:24:36
Импортировать.
01:24:38
косая черта
01:24:40
грязь
01:24:42
CSS SL
01:24:44
запросы. scss для получения запросов и
01:24:48
затем мы хотим провести урок Doom, который
01:24:50
имеет гибкий дисплей
01:24:53
Flex Dash направление разрыва столбца 100
01:24:58
пиксели также превышают 100 пикселей.
01:25:03
обязательно поставьте здесь точку с запятой
01:25:05
в конце, и мы также можем включить середину
01:25:08
Тормозить медиа-запрос с разрывом 60
01:25:12
пиксели, вот и все, и вот мы почти
01:25:16
надоело видеть нашего нового героя, но в нашем
01:25:19
терминал, мы хотим перезапустить граф Quil
01:25:21
командует еще раз, поэтому вместо
01:25:24
перезагружаю наш терминал, собираюсь открыть
01:25:26
один рядом, а потом я иду
01:25:28
для запуска полезной нагрузки пряжи сгенерируйте Graphql
01:25:32
схема, а также генерация пряжи
01:25:35
печатает сейчас, если перезагрузить страницу, ничего
01:25:38
произойдет, но давайте продолжим и зарегистрируемся
01:25:40
мы хотим перейти в панель администратора
01:25:44
страницы, а затем
01:25:47
сейчас дома, если развернуть, то можно увидеть
01:25:50
что у нас есть заголовок этой страницы
01:25:52
и вы также можете видеть, что мы можем выбирать
01:25:54
из разных разделов героев, поэтому вместо этого
01:25:57
сильного воздействия, давайте выберем наш обычай
01:25:59
герой и давай нажмем опубликовать
01:26:02
изменения, он говорит, что это следующее
01:26:05
поле имеет недопустимый тип героя, который
01:26:08
возможно, потому, что мы забыли изменить
01:26:10
типы, поэтому, если я перейду к типам полезной нагрузки Das
01:26:14
а затем мы идем до самого места, где
01:26:15
влияние закона заключается в том, что мы видим, что это также
01:26:18
есть собственный герой, так что нет, мы не забыли
01:26:22
добавить это, чтобы мы могли попробовать одну вещь
01:26:24
это просто перезагрузка нашего терминала
01:26:27
еще раз, давайте нажмем Ctrl + C и
01:26:29
затем Y, а затем просто запустите mpm run Dev
01:26:33
еще раз это должно гарантировать, что
01:26:35
все изменения действительно признаны
01:26:38
от Graphql, а также от администратора полезных нагрузок
01:26:41
интерфейс, давай подождем, пока приложение заработает
01:26:43
и снова бегом, тогда пойдем к нашему
01:26:46
админка перезагрузи страницу и поехали
01:26:49
измените его на собственного героя и нажмите
01:26:51
опубликуйте, как видите, обновление было
01:26:54
успешно, поэтому теперь мы можем вернуться к нашему
01:26:56
домашнюю страницу и перезагрузите, и вы посмотрите
01:26:59
к тому же это наш собственный герой, поэтому мы
01:27:02
только что добавили нового героя, которого вы можете
01:27:04
просто выбирайте из разных
01:27:06
Герои прямо здесь, что мы также можем сделать, это
01:27:08
измените содержимое, чтобы мы могли выбирать
01:27:12
собственный герой, а затем вы можете выбрать
01:27:13
делай с этим все, что захочешь, так что давай
01:27:15
попробуем повторить то, что у нас есть на
01:27:17
последний сайт, на котором мы реализуем инновации
01:27:20
каждый кусочек исследует мир Cutting Edge
01:27:22
Технология, так что давайте просто скопируем
01:27:25
это и вставь сюда, поехали
01:27:29
мне кажется, это хорошо, и позже
01:27:32
мы можем сосредоточиться на мире резки
01:27:33
Edge tech на данный момент является самым важным
01:27:35
дело в том, что мы сможем увидеть позже, что
01:27:38
у нас есть расширенный текст прямо здесь
01:27:40
и вы готовы полностью изменить
01:27:42
это, изменение размера и многое другое, давайте
01:27:45
также добавьте ссылки, чтобы мы могли перейти на наш
01:27:48
ссылка 01, сделайте ее внутренней ссылкой
01:27:51
указывая на товар и совершая покупки сейчас, и мы
01:27:54
также можете загрузить новый медиафайл, чтобы
01:27:57
перейдем к Медиа, выберем файл и
01:28:00
мы собираемся перейти к герою пользовательского интерфейса администратора и
01:28:03
выбери героя прямо здесь, мы можем
01:28:07
скажи герой и сохрани там, мы идем, мы можем
01:28:11
затем удалите эту вторую ссылку, а также
01:28:14
тот
01:28:15
media и я только что заметили, что этот значок
01:28:18
ибо ссылки здесь не должно было быть
01:28:20
по этой ссылке не будет ANC
01:28:22
но здесь нам нужно загрузить медиа для
01:28:25
раздел героев, так что давайте сюда и
01:28:27
затем загрузите Героя 1, сказав
01:28:32
герой и давай нажмем опубликовать
01:28:35
изменения теперь мы также можем просмотреть их
01:28:38
прямо здесь, в админке, что происходит
01:28:40
чтобы открыть его на нашем локальном хосте, но
01:28:42
конечно, мы ничего не сможем увидеть, потому что, если
01:28:44
мы переходим к нашему коду в нашем кастомном герое
01:28:47
просто ничего не делает, так что поехали
01:28:50
вперед и настройте всю эту страницу
01:28:52
Я собираюсь удалить этот H1 и принести
01:28:55
вернуть все, что у нас было с предыдущим
01:28:57
высокоэффективный герой, и вы можете сразу
01:29:00
увидеть изменения открыть магазин инноваций
01:29:03
время от времени наш геройский раздел, давайте сделаем
01:29:05
это мобильное представление, давайте его стилизовать
01:29:07
вот так мы начнем не с
01:29:10
желоб но с секцией с классом
01:29:12
имя героя внутри него мы собираемся
01:29:14
есть div с именем класса героя
01:29:18
рэпер, и мы также можем дать ему немного
01:29:20
дополнительные стили, специально предназначенные для
01:29:22
вы хотите изменить фоновое изображение
01:29:24
но для этого нам нужно получить доступ к
01:29:26
это изображение прямо здесь, чтобы сделать его
01:29:28
фон, скажем, константный URL-адрес мультимедиа
01:29:32
равно и теперь нам нужно вычислить
01:29:35
как добраться до этого средства массовой информации, мы только
01:29:38
хочу добраться до этого, если средства массовой информации существуют, поэтому
01:29:40
носитель и конец, и если тип носителя
01:29:44
не равен
01:29:46
строка, то мы хотим получить доступ к медиафайлам
01:29:50
это размещается для нас в полезной нагрузке, поэтому мы
01:29:53
можно попасть в шаблон
01:29:55
строка, которая будет содержать процесс.
01:29:58
окр. Nextore публичный анкор
01:30:03
URL-адрес сервера
01:30:05
косая черта
01:30:07
СМИ
01:30:09
СМИ. имя файла, начнем, и теперь мы
01:30:13
иметь ссылку на наш URL-адрес СМИ и право
01:30:16
здесь, в этом div, мы можем придать ему стиль
01:30:19
равен объекту, где фон
01:30:22
для изображения задана строка шаблона URL-адреса.
01:30:28
а затем, конечно, такой URL-адрес мультимедиа
01:30:31
это должно быть
01:30:33
динамично, вот и все, теперь мы можем стилизовать
01:30:36
это и вы можете видеть, что теперь оно появилось
01:30:37
в качестве фонового изображения, что означает, что
01:30:39
нам больше не нужны эти конкретные средства массовой информации
01:30:43
здесь, чтобы мы могли удалить весь этот div
01:30:46
ниже мы идем, это больше похоже на это
01:30:49
но все еще далеко от этого прекрасного
01:30:51
вещь
01:30:52
Итак, давайте вернемся, давайте создадим новый div
01:30:55
прямо здесь ниже или внутри этого div
01:30:59
это будет иметь имя класса, равное
01:31:02
это будут занятия. герой
01:31:07
текстовое поле внутри него мы хотим поместить
01:31:09
форматированный текст, который поступает непосредственно из
01:31:12
наш герой, а потом внутри него мы тоже хотим
01:31:14
разместить этот массив прямо здесь, это больше
01:31:18
нравится все, что мы вернемся
01:31:20
из панели администратора мы видим это
01:31:23
прямо здесь раскрывайте инновации в каждом
01:31:26
кусай, но у нас есть и кое-что еще
01:31:29
прямо исследуйте мир Cutting Edge
01:31:32
Технически, если мы добавим это сюда прямо сейчас
01:31:34
ниже мы можем, например, сделать это H2 или
01:31:38
что-то в этом роде, и теперь мы можем
01:31:41
опубликуйте изменения еще раз, вернитесь назад и
01:31:44
перезагрузи и увидишь разницу
01:31:46
правильно, вы можете автоматически стилизовать это
01:31:48
веб-сайт, и он выглядит намного лучше на
01:31:51
большие экраны, но давайте сравним его с
01:31:54
готовая сторона что-то не чувствуется
01:31:56
вот здесь наш текст выходит наружу
01:31:59
используйте инновации в каждом укусе, если вы
01:32:02
обратите внимание, что в каждом размере этот текст состоит из двух частей
01:32:04
линии правильные, поэтому самое простое исправление будет
01:32:08
Просто здесь скажем: развернуть инновации в
01:32:11
каждый укус таким образом будет
01:32:13
появятся ниже, поэтому давайте опубликуем изменения
01:32:17
и перезагрузите страницу, и все готово
01:32:21
теперь EX точно так же, как и на
01:32:23
закончил сайт так, что сказал наш герой
01:32:25
Теперь все готово, и если вы нажмете «Купить сейчас»,
01:32:28
он будет указывать на продукты, поэтому наши
01:32:31
герой выглядит великолепно, есть один
01:32:35
Улучшение, которое мы еще можем сделать для мобильных устройств
01:32:36
устройства замечают эти желоба слева и
01:32:39
правая сторона, и здесь, на мобильном телефоне, это происходит
01:32:42
в полноэкранном режиме это просто немного выглядит
01:32:44
лучше, так что мы можем это выяснить
01:32:47
откуда эти желоба берутся?
01:32:49
посмотрим, где наш герой простужается
01:32:52
Я предполагаю, что это будет в
01:32:54
компоненты героя ну не здесь а скорее
01:32:58
в индексе страниц, поэтому Pages Slug
01:33:02
и здесь у нас есть желоб, а затем мы
01:33:04
пусть герой, что мы можем сделать в этом
01:33:06
случае просто настроить это как раздел
01:33:09
а затем ниже позже для всех
01:33:11
другой контент, который у нас будет
01:33:13
желоб, так что здесь позже мы собираемся
01:33:15
добавляйте такие вещи, как категории, которые мы собираемся
01:33:17
также разместить Коллекции продуктов и
01:33:19
акции и многое другое на данный момент
01:33:22
герой будет без сточных канав и
01:33:24
это улучшит внешний вид
01:33:27
герой, мы идем, и теперь мы уже
01:33:31
приближаюсь к завершению
01:33:33
сайт и еще раз, если вы хотите
01:33:36
измените что-нибудь, просто зайдите сюда и
01:33:38
изменить непосредственно в
01:33:40
интерфейс — следующее, на чем мы можем сосредоточиться
01:33:43
конечно, это будет категория
01:33:46
раздел, это красивый раздел, это
01:33:48
по сути, это следующий шаг, и вперед
01:33:50
здесь ты видишь этого прекрасного героя, но
01:33:52
может быть, ты не хочешь покупать телефон
01:33:55
может быть, ты хочешь купить часы, телевизор
01:33:57
и домашние iPad, все, что вы хотите, это
01:34:00
прямо здесь, и мы можем реализовать это с помощью
01:34:02
делаю этот магазин по разделам категорий, так что
01:34:06
давай рухнем
01:34:07
давайте закроем все текущие дела
01:34:09
открыл файлы, удерживая контроль, а затем
01:34:11
нажимаем W и приступаем к реализации
01:34:15
тот
01:34:16
категории прямо сейчас, чтобы начать работу над нашими
01:34:18
категории, прежде всего, мы хотим
01:34:20
убедитесь, что у них есть изображения, и к настоящему моменту
01:34:23
по умолчанию у них их нет, поэтому мы
01:34:26
необходимо изменить его в типах полезной нагрузки
01:34:29
Итак, давайте перейдем к типам полезной нагрузки Das и
01:34:32
тогда здесь то же самое, что и у нас
01:34:34
модифицировали этого специального героя, которого мы тоже хотим
01:34:36
перейти в категорию на этот раз, которая
01:34:40
прямо здесь экспортируйте категорию интерфейса и
01:34:44
затем поверх идентификатора в заголовке, который
01:34:46
кстати, это не будет необязательно
01:34:49
мы также хотим присвоить ему медиа-свойство
01:34:51
строки типа или Media или это также
01:34:57
означает, что нам придется пойти в
01:34:58
коллекции для категорий с косой чертой справа
01:35:01
здесь и затем здесь над заголовком
01:35:05
типа текста, который мы хотим сделать
01:35:07
требуется true, и мы также хотим, чтобы
01:35:10
дайте ему это медиа-свойство, сказав
01:35:13
имя равно Media, а также типу
01:35:17
равно
01:35:19
загрузить и, наконец, отношения Rel или
01:35:23
отношение к будет установлено на Медиа
01:35:26
ты поймешь суть упражнения, как только изменишь это
01:35:29
вам нужно повторно запустить создание полезной нагрузки пряжи
01:35:32
построить график схемы Quil, и вам также придется
01:35:35
Генерирует ли Yarn типы, дальше нам нужно
01:35:38
перезагрузим наше приложение и нажмем Ctrl C
01:35:41
а затем очисти его и запусти mpm run
01:35:45
Дев, теперь давай убедимся, что мы
01:35:47
получение всех категорий, которые мы
01:35:49
позже создадим, мы сможем сделать это с помощью
01:35:52
собираюсь получить документ API SL или в этом
01:35:57
случай получения документов. ТС, мы здесь
01:36:01
получение страниц с продуктами, но мы
01:36:03
также хочу получить категории, поэтому мы здесь
01:36:06
можно сказать
01:36:08
категории, где мы можем указать
01:36:10
запрос, который будет установлен в
01:36:12
такие категории, а затем мы также
01:36:15
хочу сделать ключ
01:36:18
категории, которые будут
01:36:19
с заглавной буквы C вот здесь и эти
01:36:22
категории берутся из Graphql
01:36:25
категории на
01:36:27
наверх, теперь мы хотим изменить наш Graphql,
01:36:31
собираюсь подчеркнуть
01:36:32
Graphql, а затем перейдя к категориям
01:36:36
прямо здесь, сейчас у нас просто есть
01:36:39
категории, но мы хотим улучшить
01:36:41
это немного дальше, переименовав его в
01:36:44
продюсер
01:36:47
категории, которые мы хотим получить идентификатор заголовка
01:36:49
панировочные сухари, но мы мы тоже хотим
01:36:51
экспортируйте только типичные категории, подобные этой
01:36:56
это будет строка шаблона
01:36:58
где мы хотим запросить
01:37:01
категории, сказав
01:37:03
категории с лимитом
01:37:07
300 мы хотим получить документы
01:37:10
документы по каждому из них
01:37:11
категории с идентификатором названия носителя и
01:37:16
медиа будет иметь тег Al шириной
01:37:19
высоту и URL-адрес, который теперь мы можем получить
01:37:24
эти схемы Graphql из блоков, поэтому мы
01:37:27
может пойти слишком далеко
01:37:30
графические блоки, и мы хотим прокрутить
01:37:33
вплоть до строки 45, и мы хотим изменить
01:37:36
это от категорий к производителю
01:37:40
категории, исходящие из
01:37:43
категории аналогично мы хотим сделать
01:37:45
то же самое прямо здесь, на линии 66, продукт
01:37:49
категории и, наконец, при получении
01:37:52
продукты, которые мы также хотим показать
01:37:53
категории, поэтому мы хотим перейти к продуктам
01:37:56
Graphql, и мы хотим прокрутить вниз до
01:37:59
здесь строка 22 и измените ее, чтобы сказать
01:38:02
категории продуктов и, конечно же, у нас есть
01:38:05
чтобы импортировать его, и мы больше не используем
01:38:07
предыдущие категории, чтобы мы могли просто
01:38:10
удали его прямо здесь
01:38:12
наверх, и я думаю, нам придется перезагрузить
01:38:15
наш терминал еще раз или скорее
01:38:17
восстановить схему поля графа
01:38:19
потому что мы только что изменили это так просто
01:38:21
повторите обе команды как
01:38:24
раньше, а другой как
01:38:27
ну теперь вспомни, что у нас было это
01:38:30
домашняя страница раньше, так что она будет включена
01:38:32
фрагмент, а затем страница в разделе «Страницы здесь»
01:38:37
Я сказал, что мы собираемся отрендерить
01:38:38
категории, так что давайте сделаем именно это
01:38:41
мы собираемся визуализировать желоб, который
01:38:43
будет иметь имя класса, равное
01:38:47
дома, а точнее занятий. дом
01:38:51
и прямо здесь нам нужно отрендерить
01:38:53
категории, но нам еще предстоит создать
01:38:56
этот компонент категории, чтобы мы могли перейти к
01:38:59
компоненты, это правильно
01:39:02
здесь компоненты, и мы можем создать новый
01:39:06
категории
01:39:08
компонент, поэтому подчеркните компоненты новые
01:39:11
папка
01:39:13
категории и внутри нее новый индекс.
01:39:17
TSX, сейчас мы можем просто запустить наш afce и
01:39:21
заставь это сказать
01:39:23
категории, так что теперь это позволит
01:39:26
нам импортировать его прямо сюда с нашей страницы
01:39:30
говоря
01:39:31
категории, убедитесь, что вы получите одну
01:39:33
из компонентов правильно
01:39:35
здесь и к нему мы можем передавать категории
01:39:39
равно
01:39:41
категории, у нас уже есть доступ к этим
01:39:43
категории, потому что мы все сделали правильно
01:39:45
здесь раньше, так что поехали и, конечно же,
01:39:49
теперь наша очередь нырнуть в кота
01:39:51
категории, конечно, нам нужно перезагрузить
01:39:53
наше приложение, потому что мы изменили
01:39:54
конфигурация графика капусты, а затем, как только она загрузится
01:39:57
мы сможем начать создавать
01:39:59
структура раздела наших категорий
01:40:02
вот и все, если вы перезагрузите наше приложение, вы
01:40:04
видите, что теперь мы показываем
01:40:05
категории, что означает, что мы можем начать
01:40:07
кодируем их, поэтому давайте создадим новый
01:40:12
раздел, и этот раздел должен иметь свой
01:40:15
собственное имя класса, так что давайте продолжим и
01:40:18
создать новый
01:40:19
индекс. модуль.
01:40:23
sccss, и ты знаешь, что мы можем
01:40:26
просто скопируйте и вставьте стили справа
01:40:28
здесь для
01:40:30
категории, то мы можем дать этому разделу
01:40:32
Имя класса, так что это будет класс
01:40:35
имя равно нам нужно импортировать
01:40:40
приближаются занятия
01:40:42
из индекса. модуль. scss, а потом ты
01:40:46
может ссылаться на классы. контейнер справа
01:40:49
в этом разделе мы хотим иметь
01:40:51
еще один div, у которого будет класс
01:40:53
имя, равное классам. плитка
01:40:57
рэпер, и прямо внутри него мы хотим
01:41:00
есть элемент H3, в котором будет написано
01:41:02
делайте покупки по категориям, и мы можем сохранить это
01:41:07
мы уже подходим к этому прямо внизу
01:41:10
мы также хотим отобразить ссылку, пришедшую
01:41:12
по следующей ссылке, которая будет иметь
01:41:15
hre указывает на пересылку продуктов SL и
01:41:19
он скажет шоу
01:41:22
вот и все, теперь лучше, ниже
01:41:26
самое главное приходит и это
01:41:28
мы хотим создать новый div, который
01:41:31
будет иметь имя класса, равное
01:41:34
занятия. список и там мы хотим отобразить
01:41:37
по всем нашим категориям, которые на данный момент
01:41:40
проходят через реквизит, чтобы мы могли сказать
01:41:43
получить категории из реквизита, который имеет
01:41:46
тип категории категории массив ближайшие
01:41:50
из типов полезной нагрузки. Итак, внутри этого div мы
01:41:54
можно просто пойти
01:41:56
Карта категорий, где мы получаем каждую
01:41:59
индивидуальная категория и для каждой мы
01:42:03
сразу хочу вернуть категорию
01:42:06
карта категории карта это новая
01:42:09
компонент, который мы собираемся
01:42:12
создайте, поэтому давайте немедленно сделаем это,
01:42:15
создание новой папки с названием категории
01:42:18
card и внутри нее создайте новый индекс.
01:42:22
TSX-файл, в котором вы можете запустить
01:42:25
RFC, а затем измените его, чтобы сказать
01:42:28
карточку категории и, наконец, также поставьте ей
01:42:32
новый индекс. модуль.
01:42:35
scss и вставьте туда то, что найдете
01:42:38
в категории. модуль. scss ниже этого
01:42:41
видео, мы также можем просто импортировать его правильно
01:42:44
здесь вверху, сказав классы импорта
01:42:47
из индекса. модуль. СС, так что теперь мы можем идти
01:42:53
назад, и мы сможем импортировать эту категорию
01:42:55
карту из этой карты/категории, и мы можем
01:42:58
и передайте ему ключ, равный категории.
01:43:03
ID, а также сама категория равна
01:43:08
категорию, поэтому теперь мы можем перейти к категории
01:43:10
карточка категории, и вы уже можете видеть, что мы
01:43:13
увидеть три категории, но теперь то, что мы можем
01:43:16
сделать, мы можем изменить их внешний вид
01:43:18
чтобы посмотреть немного поближе
01:43:21
для этого мы собираемся вернуться
01:43:24
только одна вещь, которая будет
01:43:26
свяжите ссылку, конечно, из следующего
01:43:30
ссылка, которая будет иметь hre
01:43:33
указывая на пересылку продуктов SL, это
01:43:36
также будет иметь имя класса, равное
01:43:40
занятия. карту, и по этой ссылке мы
01:43:43
может отобразить тег P, который будет иметь
01:43:46
имя класса, равное классам. плитка и
01:43:51
он отобразит категорию.
01:43:54
плитка, конечно, категория должна быть
01:43:57
импортировано из реквизита, поэтому мы можем сказать
01:44:00
категория будет типа
01:44:03
Реквизит карты категории, который мы можем определить
01:44:06
прямо здесь вверху, сказав типа
01:44:10
Реквизит карты категории равен категории
01:44:15
категории типа, полученной из выплаты
01:44:19
типы и, конечно, это
01:44:21
строчная буква C, как только вы это исправите, вам следует
01:44:24
увидеть, что у нас есть некоторые
01:44:25
прямоугольники, но нам еще предстоит изменить
01:44:28
это будут настоящие изображения, как и раньше
01:44:31
мы должны получить URL-адрес изображения, сказав
01:44:34
const media равен категории. СМИ
01:44:39
как средство массовой информации, предназначенное только для
01:44:42
машинописный текст, и теперь мы можем предоставить
01:44:44
дополнительное свойство стиля к этой ссылке
01:44:48
это будет фоновое изображение, если
01:44:50
равен строке шаблона URL-адреса
01:44:53
СМИ. URL сейчас, если мы сохраним это
01:44:57
все сломается, и если ты
01:44:59
помните, это потому, что наш предыдущий
01:45:01
категории на самом деле не имели медиа
01:45:03
файлы, но теперь мы хотим загрузить новые
01:45:06
у них они такие, прежде чем мы увидим
01:45:09
изображения, которые мы должны изменить нашему администратору
01:45:11
интерфейс, чтобы сделать это, чтобы мы могли вернуться назад
01:45:14
в наш интерфейс администратора мы можем сделать это
01:45:16
немного больше, мы можем перейти к категориям на
01:45:19
левая сторона
01:45:21
мы хотим удалить все три существующих
01:45:25
категории, а затем мы хотим создать
01:45:27
новая категория, вы можете загрузить новый медиафайл
01:45:31
выберите файл и на этот раз перейдите к
01:45:34
категории и выберите ту, которая вам нравится
01:45:36
хочу, в этом случае давай что-нибудь сделаем
01:45:39
как ноутбуки, поэтому мы можем сказать
01:45:44
ноутбуки, и мы можем назвать это
01:45:47
ноутбуки или MacBook, что вы предпочитаете
01:45:50
и вы можете нажать
01:45:53
сохраните это, чтобы создать новый
01:45:56
категория, давайте попробуем добавить еще парочку
01:45:59
например, мы можем добавить новую категорию,
01:46:02
возвращаемся к категориям и создаем
01:46:05
новый, который будет категорией
01:46:08
давайте сначала загрузим медиа-файл, давайте сделаем
01:46:11
что-то вроде
01:46:13
телефоны, мы можем сказать здесь телефоны, и мы можем
01:46:17
также скажи телефоны прямо здесь в названии
01:46:19
категории
01:46:21
и давайте сделаем еще один, вернувшись назад
01:46:23
к категориям, создавая новую, мы можем
01:46:26
загрузите новый медиафайл и сделайте что-нибудь
01:46:30
типа давай сделаем
01:46:33
часы и, наконец, название часов
01:46:37
вот и нажимаем «Сохранить» прямо здесь, так что
01:46:40
там сохранены все три категории, мы
01:46:43
иди, давай свернем это и пойдем
01:46:46
вернуться на наш текущий веб-сайт и
01:46:49
перезагрузите, как вы можете увидеть категории
01:46:51
сразу перешли на часы
01:46:53
телефоны и ноутбуки, и если мы вернем
01:46:57
этот стиль, вы можете заметить, что теперь они
01:47:00
имеют свои изображения, потому что изображения, которые мы
01:47:02
только что загруженные соответствуют конкретному
01:47:04
категории теперь, если вы нажмете на них, это
01:47:07
просто собираюсь указать вам на генерала и все
01:47:09
продукты не для продуктов этого
01:47:11
конкретная категория, так что это дополнительная
01:47:13
функциональность, которую нам придется
01:47:16
реализовать, мы собираемся создать собственный
01:47:18
крючок для управления нашими фильтрами
01:47:21
оно нам понадобится позже для
01:47:22
управлять продуктами, так что давайте
01:47:25
перейдите к поставщикам, которые
01:47:28
верно
01:47:31
здесь и мы хотим создать новый
01:47:33
провайдер под названием фильтр, который собирается
01:47:36
находиться в папке с именем
01:47:38
фильтр, и он будет иметь индекс.
01:47:41
Расширение TSX здесь, по сути, мы
01:47:45
хочу создать новый контекст, чтобы
01:47:48
конечно, это будет потребительский клиент
01:47:50
компонент, потому что мы будем использовать много
01:47:52
государств, по сути, мы хотим сохранить
01:47:55
отслеживать все выбранные в данный момент
01:47:57
фильтры категорий и параметры сортировки, поэтому
01:48:01
мы можем сказать, что экспортируем константный начальный фильтр
01:48:05
данные равны объекту, в котором
01:48:09
категория
01:48:10
для фильтров установлен пустой массив, набор
01:48:14
категория
01:48:16
фильтры, которые, конечно же, будут
01:48:18
функция установки будет установлена
01:48:20
для пустой функции sort — пустая
01:48:23
сортировка строк и наборов снова продолжается
01:48:27
быть пустой функцией, которая возвращает
01:48:29
Фильтры строк и категорий возвращают
01:48:31
массив, чтобы мы могли его правильно изменить
01:48:34
здесь далее мы должны определить фильтр
01:48:37
контекст, сказав const filter
01:48:39
контекст равен
01:48:43
создавать
01:48:45
контекст исходных данных фильтра, то мы
01:48:49
хочу экспортировать константный фильтр
01:48:53
провайдер, который принимает детей, потому что
01:48:56
это контекст, конечно, дети имеют
01:48:59
а
01:49:00
типа реагируй. узел реагирования, чтобы мы могли определить
01:49:05
это прямо здесь, или мы можем просто импортировать
01:49:08
узел реагирования из реакции вверху по
01:49:11
говоря
01:49:12
импортировать узел реагирования, который поступает из
01:49:17
отреагировать, или я считаю, что мы можем просто отреагировать.
01:49:21
узел реагирования, который тоже должен работать
01:49:24
наконец-то мы хотим открыть новый
01:49:26
функция
01:49:27
блок, а затем мы хотим вернуть
01:49:30
контекст фильтра, чтобы мы могли сказать фильтр
01:49:34
контекст. такого провайдера мы хотим
01:49:38
оберните этим детей, чтобы получилось
01:49:39
компонент более высокого порядка, и мы хотим
01:49:42
определить значение, которое будет
01:49:44
переданы внутри него, и эти значения
01:49:47
будут использоваться поля состояния, чтобы мы могли
01:49:49
скажем, Эд использует категорию фрагмента состояния
01:49:52
фильтры установить фильтры категорий, которые находятся по адресу
01:49:56
начало будет равно пустому
01:49:58
массив, а также параметры сортировки, чтобы мы могли
01:50:02
скажем, минусы, сортировка, установка сортировки в начале
01:50:05
равно минусу, созданному при этом просто
01:50:10
означает, что будут показаны новейшие
01:50:12
продукты сначала мы, конечно, должны
01:50:14
импортировать создание контекста из реакции, которую мы хотим
01:50:17
также импортировать состояние использования из реакции
01:50:20
и затем в конце мы хотим передать все
01:50:23
из этих значений здесь, поэтому фильтры по категориям
01:50:26
установить фильтры категорий сортировать и устанавливать сортировку
01:50:30
похоже, нам нужно определить все
01:50:32
печатает правильно, и вы можете увидеть некоторые
01:50:35
волнистые линии здесь, они предназначены только для
01:50:36
скрипты вкладок, так что пока не беспокойтесь об этом
01:50:40
наконец-то мы можем определить собственный крючок для
01:50:43
использовать этот контекст, экспортировать, использовать константу
01:50:47
фильтр равен функции cback
01:50:51
который вызывает используемый контекстный крючок, например
01:50:54
этот используемый контекст, и мы хотим передать
01:50:57
контекст фильтра для него, конечно, мы
01:51:00
также необходимо импортировать контекст использования из
01:51:03
реагируйте, и теперь мы создали этот Глобальный
01:51:06
провайдер и, конечно, мы должны его использовать
01:51:09
где-то нам нужно обернуть наш
01:51:10
приложение с ним, и это будет
01:51:13
быть в пределах права подчеркивания поставщиков
01:51:16
здесь у нас есть все провайдеры, которых мы
01:51:18
может когда-нибудь понадобится, поэтому мы также можем добавить
01:51:20
поставщик фильтров прямо здесь, если мы
01:51:23
импортируйте его оттуда/
01:51:25
отфильтруй и мы сможем правильно поставить детей
01:51:28
здесь, внутри него
01:51:31
отлично, и что же это позволило нам сделать?
01:51:33
прямо сейчас хорошо, если мы вернемся к ссылке
01:51:35
прямо здесь мы можем потреблять, а затем
01:51:37
изменить эти фильтры на глобальном уровне
01:51:41
поэтому, чтобы использовать его, мы можем использовать крючок, который мы
01:51:43
созданная константа что-то равно использованию
01:51:48
фильтр, который исходит из
01:51:50
провайдеры отфильтровывают его, пока мы
01:51:53
просто хочу установить фильтры категорий
01:51:57
и затем мы можем добавить свойство onclick
01:51:59
перейдите по этой ссылке и скажите что-то вроде
01:52:02
фильтры категорий набора функций обратного вызова
01:52:05
быть равным массиву, в который мы передаем
01:52:08
категория.
01:52:10
ID и похоже, что если мы не справимся
01:52:13
те типы скриптов вкладок, которые он собирается использовать
01:52:14
постоянно жаловаться, так что давай вернемся к
01:52:18
наши фильтры, которые находятся прямо здесь и
01:52:21
давайте сначала правильно определим эти типы
01:52:24
из всех вершин мы можем определить
01:52:27
интерфейс I-контекста
01:52:30
типа скажи, что фильтры категорий есть
01:52:34
строки типа
01:52:37
категория набора массивов
01:52:39
фильтры, которые являются функцией Setter
01:52:42
обычно определяется как эта реакция.
01:52:46
отправка набора типов Действия государства
01:52:51
а затем массив строк типа, например
01:52:54
тогда у нас есть своего рода строка типа и
01:52:56
тогда мы установили сортировку, что является еще одним
01:52:58
действие штата или установка отправки штата
01:53:01
действие от
01:53:03
реагировать теперь, когда у нас есть это, мы можем
01:53:06
Определите контекст создания, который имеет тип
01:53:10
Я набираю контекст прямо здесь и верю
01:53:14
что у нас сейчас все хорошо, так что если мы вернемся, ты
01:53:16
вижу, что он больше не жалуется, потому что
01:53:18
он знает, что принимает эту строку
01:53:22
наконец-то мы используем состояния и хуки
01:53:24
прямо здесь, а это значит, что мы должны
01:53:25
превратите это в клиентский компонент использования, чтобы
01:53:29
скажем, использовать
01:53:32
клиент, и если мы
01:53:34
перезагрузить сейчас, если мы нажмем на часы, нет
01:53:38
только это будет распространяться на все продукты
01:53:41
но это также сохраняет состояние, в котором мы
01:53:44
нажал на один конкретный идентификатор категории, поэтому
01:53:48
как только мы это сделаем, старые страницы продуктов будут
01:53:50
иметь возможность использовать этот контекст и читать
01:53:54
только на какую категорию мы нажали
01:53:56
показывать эти продукты, а не все
01:53:58
продукты, так что это скоро появится
01:54:02
ну, теперь вы можете заметить, что здесь мы
01:54:04
есть подчеркивания и на законченном
01:54:06
веб-сайты, которые у нас нет, поэтому давайте изменим это
01:54:09
дальше, а также есть кое-что еще
01:54:11
интервал происходит прямо здесь, так что давайте
01:54:14
измените это дальше, это выглядит хорошо
01:54:17
для меня, но давайте посмотрим, где находятся категории
01:54:20
карте звонят, и все происходит
01:54:22
чтобы быть в нашем Индексе прямо здесь, мы
01:54:26
сопоставление категорий и каждого
01:54:29
Карточка категории помещается в этот div
01:54:31
с именем класса классов. перечислите так
01:54:35
эта часть тоже кажется нормальной, но у нас есть
01:54:37
предупреждение здесь или ошибка, говорящая index.
01:54:40
модули вместо модуля, так что давайте исправим
01:54:43
это в модуль и давайте изменим файл
01:54:45
имя здесь, чтобы стили были
01:54:47
на самом деле подача заявления и немедленно
01:54:50
мы получаем этот красивый макет, где
01:54:51
все выглядит хорошо, как только мы нажимаем
01:54:54
это приводит ко всем продуктам, но достаточно скоро
01:54:57
это приведет к определенной категории
01:54:59
продукт теперь после категорий на нашем
01:55:02
развернутый веб-сайт у нас также есть
01:55:04
коллекции, где вы можете показать некоторые из
01:55:06
товары из определенных коллекций
01:55:09
и даже иметь нумерацию страниц прямо здесь
01:55:11
сейчас мы пропустим это и
01:55:13
просто перейдите прямо к сделке
01:55:15
месяц, и это потому, что мне так хочется
01:55:18
начните сосредотачиваться на продуктах или даже
01:55:21
более конкретно сведения о продукте
01:55:23
страница, поэтому я хочу, чтобы мы сделали это, как только
01:55:26
возможно иметь полнофункциональную
01:55:28
магазин электронной коммерции, чтобы мы могли вернуться в
01:55:31
домашнюю страницу прокрутите вниз и сосредоточьтесь на
01:55:34
сделка месяца прямо здесь, внизу
01:55:36
категории для реализации этого
01:55:39
категория продвижения, мы можем закрыть все
01:55:41
открытые в данный момент файлы и перейдите к ним
01:55:44
та же слаг-страница, это наше основное пространство
01:55:48
где мы можем показать весь раздел на
01:55:50
домашняя страница под категориями, которые мы можем
01:55:52
создайте новый компонент, и его имя будет
01:55:56
для продвижения, конечно, у нас нет
01:55:59
это еще не так, давайте продолжим и создадим
01:56:01
новый компонент продвижения, перейдя на наш
01:56:04
подчеркнуть компоненты в исходном коде и
01:56:07
создание новой папки с именем
01:56:10
продвижение, мы также можем дать ему индекс.
01:56:14
TSX, который сейчас собирается просто сделать
01:56:16
регулярное экспортное продвижение, и мы
01:56:20
также можно связать его с индексом.
01:56:22
модуль. scss-файл, внутри которого вы
01:56:26
можно вставить все стили, теперь поехали
01:56:30
вернемся на нашу страницу с записями и приступим к импорту
01:56:33
продвижение от компонентов продвижение по
01:56:35
нажимаем контрол, потом пробел и потом
01:56:37
нажмите на нее, и нам не придется проходить
01:56:39
что-нибудь к этому сразу под
01:56:41
категории, в которых мы видим продвижение, так что сейчас
01:56:44
давайте сосредоточимся на реализации наших
01:56:46
продвижение, с которого мы можем начать
01:56:48
импорт
01:56:50
занятия
01:56:52
из индекса. модуль.
01:56:55
scss, то мы можем обернуть все с помощью
01:56:59
тег раздела и дайте ему имя класса
01:57:02
равны классам. продвижение прямо внутри
01:57:06
в этом разделе мы можем создать еще один div
01:57:08
это будет иметь имя класса, равное
01:57:11
на занятия. текстовое поле и внутри него мы
01:57:16
может быть H3, который будет иметь
01:57:18
другое имя класса, равное классам.
01:57:21
плитка, и она будет говорить о сделках
01:57:26
месяц, вот и мы увидим это
01:57:29
сразу давайте также сделаем тег P и
01:57:32
с развернутого сайта, который будет
01:57:34
быть подключенным к репозиторию GitHub I
01:57:36
поверь, ты можешь взять этот тег P или ты
01:57:39
можешь просто написать что-нибудь самостоятельно
01:57:41
что-то вроде подготовки к покупкам
01:57:44
опыт, как никогда раньше, с нашим
01:57:46
предложения месяца, которые будут
01:57:48
достаточно
01:57:50
ниже мы также можем показать, когда
01:57:53
Срок действия этих предложений истекает, так что давайте продолжим
01:57:56
и добавьте UL, который будет иметь
01:57:59
имя класса, равное классам. Статистика и
01:58:04
прямо здесь мы хотим показать что-то вроде
01:58:05
Ли, у которого будет имя класса
01:58:09
равно
01:58:11
Classes.at Box будет H4
01:58:14
здесь, и он может сказать что-то вроде
01:58:17
пять дней, то он также может иметь право
01:58:20
под меткой, поэтому здесь мы можем сказать дни
01:58:25
конечно, это будут не только мы
01:58:27
должны быть дни, минуты, часы и
01:58:30
секунд, чтобы мы могли превратить это в
01:58:33
новый компонент, давайте возьмем этого Ли и
01:58:36
прямо здесь внизу создайте новый
01:58:39
поле константной статистики, чтобы сделать его многоразовым
01:58:43
собирается принять метку и значение как
01:58:47
параметры, конечно, нам нужно определить
01:58:49
типы, где метка имеет тип
01:58:51
строка и значение имеют номер типа и
01:58:55
тогда мы сможем немедленно вернуть то, что мы
01:58:58
скопировал Ан Ли с днями, но мы собираемся
01:59:01
чтобы изменить его для отображения значения под
01:59:04
H4 и отобразить метку под
01:59:08
P, таким образом, мы можем сделать его динамическим, чтобы
01:59:12
теперь внутри этого UL вместо рендеринга
01:59:15
этот Ли мы можем сделать самозакрывающимся
01:59:18
поле статистики
01:59:20
компонент, который будет иметь метку
01:59:23
дней, а также значение и теперь мы
01:59:28
необходимо определить какие-то временные рамки
01:59:30
и как мы собираемся определить, какое время
01:59:33
и когда истекает срок действия сделки
01:59:37
для этого давайте сначала создадим новое использование
01:59:40
состояние, которое мы можем просто назвать Use State
01:59:42
фрагмент времени, а затем установите время правильно
01:59:48
вот и время идет на самом деле
01:59:51
быть объектом, имеющим дни, часы, минуты
01:59:54
и секунды изначально установлены на ноль
01:59:58
и мы также можем импортировать состояние использования из
02:00:00
реагируйте и не забывайте, что у нас, конечно, есть
02:00:03
чтобы сделать это, используйте клиентский компонент
02:00:07
учитывая, что мы использовали
02:00:10
состояние, поэтому теперь мы можем передать значение
02:00:14
времени.
02:00:17
дней, и теперь мы можем дублировать это
02:00:20
еще два-три раза скажи что-то вроде
02:00:23
часы, следующая минута и
02:00:27
последний — секунды, и мы можем его изменить
02:00:29
вот так
02:00:31
часы минуты и
02:00:35
секунды, мы идем, конечно, все
02:00:38
сейчас просто ноль, но теперь нам придется
02:00:40
придумай, как заставить его отсчитываться до
02:00:42
определенное время и, по моему мнению, это
02:00:46
это идеальный вариант использования GPT для чата, мы
02:00:49
могу сказать что-то вроде «напиши использование»
02:00:52
хук эффекта, который обновляет таймер каждый
02:00:58
секунду до определенной целевой даты и
02:01:03
Я считаю, что этой информации достаточно, но
02:01:05
может быть, мы сможем сделать намеченную дату
02:01:07
равно текущей дате плюс 7 дней, поэтому
02:01:12
это всегда будет около 7 дней и
02:01:15
мы можем сохранить его, и вот, у нас есть
02:01:19
ответ, но давайте изменим его так
02:01:22
он не возвращает значение, а оно
02:01:26
устанавливает установленное время для объекта, где у нас есть
02:01:32
дни, часы, минуты и
02:01:35
секунд до измененного времени, поэтому
02:01:40
надеюсь, это будет ясно
02:01:41
хватит, начнем, теперь это требует времени и
02:01:44
установите время целевой даты и получите
02:01:47
значения дней часов минут минут
02:01:49
и секунды, а затем устанавливает время так
02:01:51
давайте скопируем этот эффект использования
02:01:53
а также цель
02:01:56
дата, наконец, мы можем вставить ее правильно
02:01:59
здесь и обязательно импортируйте использование
02:02:03
эффект, а затем давайте посмотрим на
02:02:05
цель
02:02:06
свидание здесь, оно жалуется на то, как
02:02:09
что это делается с использованием цели
02:02:11
свидание прямо здесь, так что я думаю, что мы могли бы
02:02:14
сделать, это превратить целевую дату в
02:02:17
номер и то же самое с текущим
02:02:20
раз я верю, что это не вызовет никаких
02:02:23
проблемы, а, скорее, это поможет нам с
02:02:25
наш ворс, а теперь давайте вернемся к нашему
02:02:30
прокрутите сайт вниз, и вы действительно сможете
02:02:33
см. 6 дней 23 часа 59 минут 44
02:02:36
секунд, если вы хотите определить
02:02:38
конкретная дата, вам не обязательно приходить на нее
02:02:41
Динамически с текущей даты вы можете
02:02:43
просто используйте новую дату, а затем передайте некоторые
02:02:46
конкретная дата в будущем, например
02:02:48
три дня на данный момент тоже нормально и
02:02:51
тогда он автоматически получит
02:02:52
обновляется сразу после перезагрузки страницы
02:02:56
отлично, поэтому мы добавили
02:02:58
эта новая акция и теперь наша домашняя страница
02:03:01
выглядит лучше, чем когда-либо, у нас есть
02:03:04
раздел феноменальных героев у нас есть
02:03:06
категории сделок месяца, а затем
02:03:09
наконец-то герой с некоторыми дополнительными
02:03:11
функции, которые хранятся
02:03:13
поддерживает, так что скажешь, что мы переезжаем
02:03:16
в единственное место, куда мы можем пойти
02:03:18
прямо сейчас из разных мест нашего
02:03:20
домашняя страница, например, если мы нажмем магазин или если
02:03:22
вы нажимаете категории, все это
02:03:24
кнопки ведут нас на страницу товаров
02:03:28
это прямой путь к продуктам SL, так что
02:03:31
давайте перевернем это с этого на это, это
02:03:35
большая разница, да, у нас разные
02:03:37
фильтры, здесь мы можем даже реализовать нумерацию страниц
02:03:40
позже будет много интересного
02:03:42
происходит, поэтому давайте свернем это и
02:03:45
давайте модернизируем это
02:03:47
страницу, мы можем сделать это, перейдя по
02:03:50
к нашим продуктам, а затем создаем новый
02:03:53
страница. TSX прямо внутри него надо быть
02:03:58
внутри слизняка, а затем нужно быть
02:04:00
внутри одних продуктов, где мы можем создавать
02:04:04
наш источник, и мы можем назвать это
02:04:07
продукты вот и мы, и теперь мы можем видеть
02:04:10
просто страница, где написано товары
02:04:13
мы собираемся сделать всю эту страницу из
02:04:15
поцарапай, чтобы я мог показать тебе, как мы можем
02:04:17
принесите разные продукты прямо здесь
02:04:20
давайте начнем с макета, поэтому сначала мы
02:04:23
можно обернуть все в div и
02:04:26
конечно, у этого div должно быть имя класса
02:04:28
поэтому мы можем создать новый индекс.
02:04:31
модуль. scss-файл прямо здесь, вот этот
02:04:36
будет довольно просто, мы просто
02:04:37
собираюсь импортировать
02:04:40
_ cssc общий. scss или я не думаю, что мы
02:04:45
нужно добавить расширение, которое мы можем оставить
02:04:47
вот так мы можем сказать, что контейнер
02:04:51
ширина
02:04:53
100% А позже мы придадим стиль
02:04:56
продукты тоже на данный момент контейнер есть
02:04:58
хорошо, так что если мы пойдем сюда, мы сможем дать ему
02:05:01
сорт
02:05:02
имя равно нам, конечно, придется
02:05:06
импортировать классы
02:05:09
из индекса SL. модуль.
02:05:13
scss и это будет
02:05:16
занятия.
02:05:17
контейнер
02:05:19
прямо в этом
02:05:21
div мы можем отобразить желоб, который мы
02:05:25
нужно импортировать из компонентов
02:05:27
черт возьми, у него будет имя класса
02:05:30
равны классам. продукты, которые мы собираемся
02:05:33
добавить это
02:05:34
скоро сейчас прямо в сточных канавах позже
02:05:37
у нас будут собственные фильтры
02:05:39
компонент, так что вы говорите, что мы
02:05:41
немедленно создайте новую папку для
02:05:44
фильтры внутри продуктов, называемых
02:05:47
фильтры, мы также можем дать ему индекс.
02:05:51
TSX-файл, в котором мы можем запустить
02:05:54
rafc и просто скажи «фильтры», и мы сможем
02:05:58
также создайте соответствующий индекс.
02:06:01
модуль. scss, который вы можете просто вставить
02:06:05
вот из описания внизу, так что
02:06:07
теперь мы можем импортировать эти фильтры
02:06:10
из этого/фильтры и фильтры ниже
02:06:13
мы также будем использовать что-то встроенное
02:06:15
полезная нагрузка, состоящая из блоков
02:06:19
оно исходит из блоков компонентов и
02:06:21
это позволяет нам передать, какой тип
02:06:23
макет, который мы хотим включить, поэтому мы
02:06:26
может передавать блоки равно а затем
02:06:29
макета у нас его еще нет, но мы будем
02:06:31
скоро получи его, а также свойство под названием
02:06:34
для отключения верхнего заполнения установлено значение true, поскольку мы
02:06:38
здесь оно не понадобится, так что давайте теперь
02:06:40
выяснить, как мы можем добраться до этого макета
02:06:43
ну, сначала вверху мы можем определить let
02:06:46
страница типа страницы, поступающая из полезных данных
02:06:50
типы или значение null равно нулю на
02:06:55
по умолчанию у нас будет аналогичный
02:06:57
ситуация для получения категорий
02:06:59
потому что они нужны нам для фильтров, поэтому
02:07:01
мы можем сказать, что пусть категории равны или
02:07:04
скорее
02:07:05
массив категорий типов, поступающий из полезной нагрузки
02:07:09
типы или ноль равен
02:07:13
null, тогда мы сможем открыть новую попытку и
02:07:17
блок catch, где в catch мы можем
02:07:19
просто консоль. ошибка журнала и в
02:07:23
попробуем переопределить эту страницу, установив
02:07:27
это равно ожиданию, что означает, что мы
02:07:29
нужно сделать эту страницу
02:07:32
синхронизируемся, и мы хотим чего-то дождаться
02:07:34
известный как выборка документа, поступающего из выборки API
02:07:38
док, убедись, что это док в единственном числе, нет
02:07:41
множественное число, мы хотим получить документ определенного типа
02:07:44
страница выглядит так, и мы можем позвонить
02:07:47
это в проходе, какую конкретную страницу мы делаем
02:07:50
хочу принести, чтобы мы могли сказать «принеси»
02:07:52
коллекция
02:07:54
страницы, где слаг — это продукты, окей, так что мы
02:07:59
хочу получить страницу, на которой у нас есть
02:08:01
продукты, и мы можем определить, что это
02:08:04
режим черновика, сказав, что это режим черновика
02:08:08
по сути, черновики позволяют вам опираться на
02:08:11
функциональность лучших версий, чтобы сделать
02:08:13
изменения в ваших коллекторских документах и
02:08:15
глобальные значения, но публикуйте только тогда, когда вы
02:08:17
готово, это позволяет вам проверить, как
02:08:19
сейчас что-то работает и что
02:08:21
мы можем сделать, мы также можем определить эти
02:08:23
черновики, включив режим черновика, мы можем
02:08:27
сделайте это, сказав, что включена константа, которая
02:08:31
мы можем переименовать, если режим черновика равен
02:08:34
в режим черновика, который идет со следующего
02:08:37
головы, поехали, и теперь мы можем просто
02:08:40
Определить — это черновик
02:08:43
режиме, пока мы здесь, мы также можем получить
02:08:45
категории, произнося категории
02:08:48
в этом эквивалентно ожиданию получения документов
02:08:53
регистр множественного числа, поэтому нам придется его импортировать
02:08:55
опять же, что будет типа
02:08:58
категория, в которую мы передаем строку
02:09:00
категории и все, что будет
02:09:03
принеси это, и как нам это получить?
02:09:06
макет, мы можем деструктурировать его из
02:09:08
страница, так что это будет страница do
02:09:13
макет, если мы сейчас сохраним это наше приложение
02:09:16
должно снова работать, и теперь мы можем
02:09:18
посмотри фильтры, это здорово, что они здесь
02:09:22
и тогда мы сможем увидеть все продукты, которые это
02:09:24
исходящие непосредственно из блоков, потому что
02:09:27
прямо сейчас эти блоки привязаны к нашим
02:09:29
продукты
02:09:30
макет, который мы собираемся изменить позже
02:09:33
наконец-то мы можем добавить компонент HR нет
02:09:37
я думаю, дело не в человеческих ресурсах
02:09:39
это просто горизонтальное правило, поэтому мы можем
02:09:41
добавьте, что импортируйте его из HR, и он добавит
02:09:44
эта красивая линия, чтобы разделить все так
02:09:47
теперь вопрос в том, как мы можем
02:09:49
дополнительно стилизуйте страницу этого продукта правильно
02:09:52
теперь мы только что переопределили это в некотором смысле
02:09:54
и как нам еще лучше его стилизовать?
02:09:57
сначала давайте не забудем добавить класс
02:09:59
название нашей продукции, которое находится прямо здесь
02:10:02
так что это будет скалярное произведение
02:10:05
будет в виде сетки, поэтому здесь мы
02:10:08
можно определить отображение
02:10:11
Сетка, это будет сетка Дас
02:10:14
шаблон Das columns one F FR прямо здесь
02:10:20
а потом
02:10:21
75% и мы можем оставить разрыв около 60
02:10:24
пикселей вот и все, что сейчас делается
02:10:27
немного места для фильтров, давайте также
02:10:30
включить большой разрыв, где сетка
02:10:34
столбцы шаблона будут установлены на
02:10:37
100% и разрыв около 48
02:10:41
пикселей, так что теперь на мобильных устройствах все еще
02:10:44
мы сможем увидеть все, но как
02:10:46
мы расширяем и теперь видим фильтры f
02:10:49
давайте немного поговорим о фильтрах
02:10:51
поэтому, если мы обратимся к нашим поставщикам медицинских услуг и
02:10:55
тогда индекс прямо здесь мы видим
02:10:58
что мы обертываем все с помощью
02:11:00
поставщик фильтров, но есть еще один
02:11:02
место, куда мы также должны сослаться
02:11:04
фильтры, и это будет внутри
02:11:07
Коллекция
02:11:09
архив, так что там есть специальный компонент
02:11:11
называется коллекция
02:11:13
архив, это большой компонент и он
02:11:16
имеет все, что связано с сортировкой и
02:11:18
фильтруя, вы также можете увидеть нумерацию страниц
02:11:22
так что именно там, где начинается этот компонент
02:11:24
это прямо здесь, в очереди
02:11:26
38 мы можем сказать константную категорию
02:11:30
фильтры, а также сортировка равны использованию
02:11:34
фильтр, который нам нужно импортировать, тогда если
02:11:37
заходим в результаты устанавливаем результаты правильно
02:11:40
здесь мы проходим страницу и все
02:11:42
другие вещи, тогда, если мы пройдем немного
02:11:45
вплоть до строки 90 7, где
02:11:49
мы изменяем поисковый запрос, который хотим
02:11:51
чтобы на самом деле заставить фильтры работать так
02:11:54
мы собираемся переименовать кошек из реквизита
02:11:57
то есть категории от реквизита до
02:11:59
категория
02:12:02
фильтры и фильтры категорий. длина как
02:12:05
а также категории фильтров категории
02:12:07
фильтры и фильтры категорий, все идет
02:12:10
иметь строку типа прямо здесь, поэтому мы
02:12:13
можно сказать, что кот
02:12:17
строку и вернуть кошку, вот так
02:12:21
конечно, нам нужно правильно его обернуть и
02:12:25
где мы закрываем этот эффект использования, мы также
02:12:28
нужно добавить еще одну вещь, которая
02:12:31
фильтр по категориям вместо кошек из
02:12:34
реквизит, мы идем, и теперь мы собираемся
02:12:36
на самом деле фильтруем вещи, как только мы подаем заявку
02:12:38
эти фильтры, но он немного жалуется
02:12:41
прямо здесь, в архиве коллекции
02:12:43
о свойстве сортировки, которое мы использовали
02:12:46
потому что мы ранее определили сортировку
02:12:48
в строке 48, так что давайте разберемся в этом
02:12:51
действительно, это прямо здесь, мы поняли
02:12:53
из реквизита, чтобы мы могли удалить оба
02:12:57
сортировать, а также категории правильно
02:13:00
здесь, потому что теперь мы получаем их от наших
02:13:03
фильтры мы снова вернулись к работе
02:13:06
состояние, которое великолепно, и теперь мы можем
02:13:08
начните фокусироваться на нашем компоненте фильтров
02:13:11
обо всем по порядку, я собираюсь закончить
02:13:12
все файлы, и я собираюсь открыть
02:13:15
индекс DSX фильтров здесь мы можем
02:13:18
немедленно импортируйте классы из index.
02:13:23
модуль. scss, и мы можем обернуть все
02:13:26
в
02:13:27
div, у этого div будет класс
02:13:30
имя, равное классам. фильтры внутри него
02:13:34
у нас будет еще один
02:13:35
div, и внутри этого div мы собираемся
02:13:38
есть
02:13:39
H6, у которого будет имя класса
02:13:42
равны классам. плитка и это будет
02:13:45
скажи что-нибудь вроде продукта
02:13:48
категории, если мы сохраним это, вы должны быть
02:13:51
могу видеть, что оно появится
02:13:53
прямо здесь, тогда нам нужно сопоставить
02:13:56
категории и отображать их следующим образом:
02:13:59
конечно, на больших устройствах они прекрасно
02:14:02
выглядеть вот так, так что давайте сделаем это правильно
02:14:05
теперь, пройдя прямо сюда, ниже H6, мы
02:14:10
может создать div, который будет иметь
02:14:12
имя класса, равное классам. категории
02:14:18
внутри которого мы можем перебирать эти
02:14:21
категории и способы их получения
02:14:23
с помощью компонента use filter мы
02:14:26
уже создавали раньше, прямо наверху
02:14:29
мы можем сказать, что const мы можем деструктурировать
02:14:32
категория
02:14:33
фильтрует сортировку заданную категорию
02:14:38
фильтры и заданная сортировка, равная
02:14:42
использовать
02:14:44
фильтр, который, конечно, нам придется импортировать
02:14:47
от использования фильтра, и тогда, конечно, мы
02:14:50
нужна функция для изменения этого фильтра
02:14:52
константный дескриптор
02:14:55
категории, которые будут просто
02:14:57
обычная функция, которая принимает
02:14:59
идентификатор категории, на которую мы нажали, то есть
02:15:02
строки типа, а позже мы сможем
02:15:05
Реализуйте свою логику прямо сейчас внутри этого
02:15:08
div, давайте нанесем карту на наш
02:15:11
категории, запустив категории.
02:15:14
карта, где мы получаем каждого отдельного
02:15:17
категория, и мы не возвращаем моментально
02:15:20
return, а мы открываем функцию
02:15:22
блок, а затем здесь нам придется разобраться
02:15:25
out, если выбранная категория выбрана
02:15:27
поэтому мы можем сказать, что на данный момент выбрана const
02:15:30
мы можем установить для него значение false, а позже мы
02:15:32
можешь понять это сейчас, если ты был
02:15:34
обратив внимание, вы можете понять это
02:15:36
нам следовало использовать категории в нижнем регистре
02:15:38
не в верхнем регистре, но у нас даже нет
02:15:41
доступ к категориям только здесь
02:15:43
фильтры категорий, поэтому нам нужно пройти
02:15:46
категории в качестве реквизита для наших
02:15:49
фильтры, мы можем сделать это, перейдя туда, где
02:15:52
мы вызываем фильтры, которые включены
02:15:54
страница нашей продукции прямо здесь, и нам нужно
02:15:57
для прохождения категорий равно
02:16:00
категории, то мы можем прямо здесь определить
02:16:03
их через реквизит, получив
02:16:06
категории и определение их типов как
02:16:09
категории массива категорий типов и
02:16:13
конечно, это должно исходить от полезной нагрузки
02:16:15
типы, то мы можем сделать is
02:16:18
теперь строчные буквы для каждой категории, которая у нас есть
02:16:21
тоже что-то вернуть и в этом
02:16:24
случае мы вернем
02:16:27
флажок, конечно, полезная нагрузка создана
02:16:30
собственный компонент флажка, чтобы мы могли
02:16:32
создать самозакрывающийся, дать ему ключ
02:16:36
соответствует категории.
02:16:38
ID присвойте ему метку, равную категории.
02:16:42
заголовок, если мы сохраним его сейчас, мы получим
02:16:46
ошибка, говорящая, что это свойство
02:16:48
в флажке отсутствуют некоторые типы, но эй
02:16:52
это не должно сломать наше приложение
02:16:53
должно ли это случиться, сейчас я хочу кратко поделиться
02:16:55
чаевые вам каждый раз, когда вы используете некоторые
02:16:57
пользовательские хуки, которые используют некоторые другие
02:16:59
состояния или всякий раз, когда вы используете какую-либо форму
02:17:02
компоненты, которые за кулисами могут
02:17:05
использовать какое-то конкретное состояние реакции
02:17:09
функциональность или события браузера или
02:17:11
что-нибудь подобное, тебе нужно сделать это
02:17:13
компонент использует клиент, хотя мы
02:17:16
не получать EXP законно с использованием состояния использования или форм
02:17:20
или флажок обработки событий прямо здесь
02:17:23
возможно, это сломает наше приложение, поэтому
02:17:26
если мы добавим используемый клиент прямо сюда и
02:17:29
все равно не работает, давай попробуем
02:17:32
выясни, почему это так, я попробую дать
02:17:34
этот флажок и некоторые другие свойства, такие как
02:17:37
ну, возможно, нам придется присвоить ему значение
02:17:40
что в данном случае будет
02:17:41
категория. удостоверение личности, и я тоже собираюсь дать
02:17:44
он выбран равным Select Ed и
02:17:48
наконец, обработчик onclick равен
02:17:52
ручка
02:17:54
категории, если мы сохраним это сейчас, это
02:17:57
жалуется, что значение не имеет
02:17:59
правильный тип, и если мы перейдем к консоли
02:18:03
мы можем видеть ошибки, в которых говорится, что
02:18:05
есть ошибка типа, невозможно прочитать
02:18:07
свойства неопределенного чтения заменить
02:18:09
в
02:18:10
флажок, это интересно, это что-то
02:18:13
с нашими категориями и сопоставлением
02:18:15
их и отображение флажков
02:18:17
сломать наше приложение, и что в этом случае
02:18:20
Я собираюсь сделать, это я собираюсь создать
02:18:23
пользовательский флажок и переключатель
02:18:26
компоненты, это может быть лучше, чем
02:18:28
используйте флажок, встроенный в
02:18:29
здесь что-то сломалось
02:18:32
так что давайте продолжим и прокомментируем это для
02:18:34
сейчас просто
02:18:36
кратко, а затем перейдем к компонентам
02:18:39
создайте новую папку с именем
02:18:44
флажок внутри него мы можем создать новый
02:18:47
индекс.
02:18:49
TSX, а также индекс. модуль.
02:18:54
sccss, конечно, стили ниже тебя
02:18:57
уже знаю, на чем мы хотим сосредоточиться
02:18:59
о функциональности электронной коммерции и
02:19:01
полезная нагрузка здесь не обязательно стилизация
02:19:04
каждую мелочь, а затем в этом
02:19:06
случае я собираюсь предоставить вам
02:19:08
компонент флажка, так что я собираюсь
02:19:11
Просто вставьте это сюда, и вы увидите, что это
02:19:14
типичный компонент флажка, в котором мы
02:19:16
создано из Bear Beginnings, где мы
02:19:18
есть метка и вход, а затем мы
02:19:21
получить весь реквизит, который мы собираемся
02:19:23
перейдем к этому, и теперь, если мы вернем это
02:19:26
установите флажок и импортируйте его из
02:19:29
компоненты
02:19:31
флажок, вы можете видеть, что теперь у нас есть
02:19:33
часы телефоны и ноутбуки, которые
02:19:36
точные категории, которые мы создали
02:19:38
внутри CMS
02:19:40
до сих пор, как мы можем выяснить, если это
02:19:42
категория была нажата очень хорошо
02:19:45
скажем, фильтры категорий
02:19:48
делать
02:19:49
включает идентификатор категории, поэтому, если он
02:19:52
включает текущий идентификатор категории, который он должен
02:19:54
на данный момент нажали, это просто
02:19:57
фальшивый щелчок, это сработает, как только мы
02:19:59
реализовать категории дескрипторов
02:20:02
функция, но пока пойдем
02:20:05
под этим div и давайте создадим HR
02:20:08
вроде просто простой компонент
02:20:10
горизонтальное правило, чтобы создать пространство
02:20:13
давайте добавим еще один H6 прямо здесь, это
02:20:16
будет иметь имя класса, равное
02:20:18
занятия. этот HR также может иметь
02:20:22
имя класса, равное классам.
02:20:26
HR и заголовок можно сортировать по вот так
02:20:31
мы можем выполнять сортировку поверх фильтрации по
02:20:34
создание нового div, который будет иметь
02:20:37
имя класса, равное классам.
02:20:41
категории, и внутри них мы можем создать
02:20:43
новый переключатель
02:20:46
компонент, который мы можем создать в
02:20:49
так же, как мы создали флажок
02:20:51
иду прямо сюда, чтобы
02:20:54
компоненты создают новую папку с именем
02:20:57
радио присвоило ему новый индекс. модуль.
02:21:02
scss, который вы можете скопировать снизу и
02:21:06
также присвойте ему новый индекс.
02:21:09
DSX, который представляет собой простой компонент, который
02:21:11
вы также можете скопировать снизу, а затем
02:21:14
вставьте сюда то же самое, что мы делаем
02:21:16
с флажком у нас есть значение метки
02:21:19
а затем мы просто помещаем это в это
02:21:21
обычный ввод меток HTML 5
02:21:24
комбо, так что теперь, если мы вернемся и если мы
02:21:27
импортировать кнопку из компонентов радио
02:21:30
кнопку, мы можем передать ей некоторые реквизиты, такие как
02:21:34
для метки установлено последнее значение, равное
02:21:39
минус создано
02:21:41
at мы также можем пройти выбрано и
02:21:45
это равно, если сортировка тройно равна
02:21:48
минус созданное объявление, тогда мы собираемся
02:21:51
знай, что это уже было
02:21:53
нажал, у нас будет радиопередача
02:21:56
изменение, которое может отобразить сортировку дескриптора
02:22:00
функцию, и мы можем дать ей имя группы
02:22:04
равно
02:22:05
конечно, нам все еще этого не хватает
02:22:08
обрабатываем сортировку, так что давайте создадим ее правильно
02:22:10
здесь сортировка дескриптора равна просто
02:22:15
типичная пустая функция обратного вызова на данный момент
02:22:18
мы можем продублировать это и создать другое
02:22:21
тот, который может сказать самый старый и вместо
02:22:24
делая минус созданное объявление, мы можем просто сделать
02:22:27
создал объявление, все остальное то же самое
02:22:31
так что теперь позже мы сможем сортировать
02:22:33
а еще у нас есть замечательные
02:22:35
флажки прямо здесь и что ты делаешь?
02:22:38
сказать, что мы заставляем их работать единственным
02:22:41
что нам нужно сделать, чтобы добиться своего
02:22:44
работа состоит в том, чтобы просто получить значение сортировки
02:22:47
прямо здесь строки типа, а затем скажите
02:22:50
установите сортировку, а затем передайте это
02:22:53
значение, если мы сохраним его, теперь мы можем переключиться
02:22:57
между и вы можете видеть, что это на самом деле
02:22:58
переключение с последнего на
02:23:01
самый старый, и чтобы наши фильтры работали, это
02:23:05
это будет не так сложно, но это будет
02:23:07
требуется немного больше функциональности, чем
02:23:08
тот
02:23:09
мы должны выяснить, если
02:23:13
Фильтры текущей категории включают в себя
02:23:17
идентификатор категории, в которой мы сейчас находимся
02:23:19
нажав на, если да, то мы хотим
02:23:23
установить фильтры категорий в новую категорию
02:23:25
фильтры, содержащие все фильтры
02:23:28
без того, на который мы только что нажали, поэтому мы
02:23:31
можно сказать, константа обновлена
02:23:35
категории равны категории
02:23:38
фильтры. фильтровать там, где мы хотим фильтровать
02:23:41
вывести текущий идентификатор, если он не равен
02:23:45
идентификатор категории, поэтому мы сохраняем все остальное
02:23:48
кроме того, на который мы нажали, а затем
02:23:51
мы просто называем набор фильтров категорий
02:23:55
обновленные фильтры, иначе, если мы хотим добавить
02:23:58
фильтр, затем мы просто устанавливаем категорию
02:24:01
фильтры, куда мы выкладываем предыдущие
02:24:04
фильтры категорий и добавьте
02:24:07
дополнительный идентификатор категории, чтобы теперь мы могли
02:24:10
вообще-то переключайся между «у нас есть часы»
02:24:13
телефоны и ноутбуки и ни для чего из этого
02:24:16
продуктов видимо у нас нет
02:24:18
что-нибудь или нет, мы
02:24:20
думаю, если мы будем делать ноутбуки, то нет телефонов, нет
02:24:26
часы нет на данный момент у нас нет товаров
02:24:29
под этими категориями, и это делает
02:24:31
смысл, потому что мы только что создали их
02:24:34
и теперь наша очередь добавить немного
02:24:36
реальные продукты, если я просто перезагрузлю вас
02:24:40
хотя я могу увидеть товары, но потом
02:24:42
как только мы начнем их добавлять или фильтровать
02:24:44
затем их удаляют, потому что поиск
02:24:47
делает свое дело, так что, наконец, давайте
02:24:49
настройте эту страницу магазина у нашего администратора
02:24:52
панель, а также мы можем зайти к нашему администратору
02:24:55
панель прямо здесь, если мы снова войдем в систему
02:24:58
Конечно, нам нужно войти в наш
02:25:01
подробности, а затем перейдите к
02:25:03
Страницы выбирают
02:25:06
продукты, а затем вы можете выбрать контент
02:25:09
здесь вы можете увидеть все продукты и это
02:25:11
соответствует тому, что вы видите правильно
02:25:14
вот это обычное вступление
02:25:16
контент, который в данном случае нам не нужен
02:25:18
вообще, чтобы мы могли удалить его, тогда у нас есть
02:25:21
заполнить по коллекции конкретно
02:25:24
коллекция для показа - это продукты и
02:25:26
предел будет девятью тремя рядами
02:25:29
три сейчас, если вы опубликуете изменения и уйдете
02:25:33
назад и
02:25:35
перезагрузить вы можете видеть, что теперь мы можем только
02:25:38
видеть продукты, но эти продукты
02:25:41
не очень хорошо выглядят, не так ли?
02:25:43
кажется, не соответствует тому, что мы
02:25:45
стремление к чему-то вроде чистого
02:25:48
веб-сайт в минималистском яблочном стиле и
02:25:51
добиться такого вида, мы можем перейти к
02:25:54
компонент карты внутри подчеркивания
02:25:56
карточка компонентов здесь у нас есть наш продукт
02:25:59
карточка с категориями и всем
02:26:01
другое добро
02:26:02
вещи, но мы хотим еще больше упростить их
02:26:05
в конечном итоге это будет проще, чем
02:26:07
что мы можем здесь сейчас увидеть и как
02:26:10
Можем ли мы сделать это хорошо, сначала давайте поместим это
02:26:12
бок о бок, а потом мы собираемся
02:26:15
оберните все не в div, а скорее
02:26:18
в ссылке, чтобы мы могли превратить это в
02:26:22
ссылка, которая, конечно, должна иметь
02:26:24
href равен
02:26:26
href, у него будут имена классов
02:26:29
card, а затем назовите класс div внутри
02:26:33
так что это будет div
02:26:35
иметь имя класса медиа-обертки
02:26:37
где мы можем использовать это метаизображение как
02:26:40
а также другой медиафайл под ним, мы
02:26:44
хочу иметь еще один div с классом
02:26:46
имя классов.
02:26:48
контент здесь, мы хотим удалить это
02:26:50
целые категории, часть, которую мы не хотим
02:26:53
покажите категории здесь, тогда у нас есть
02:26:56
название для использования, которое будет
02:26:58
еще раз упрощенно, это будет
02:27:01
просто
02:27:02
H4 это скажет что-то вроде
02:27:05
право собственности на
02:27:07
используйте там мы
02:27:10
пойти, если мы сохраним, описание пропало
02:27:13
тогда у нас есть описание, которое
02:27:15
будет имя класса класса
02:27:17
тело, если у нас есть описание, мы просто
02:27:20
вернуть тег P с очищенным
02:27:23
описание, так что это выглядит хорошо
02:27:24
я и, наконец, док, но потом мы хотим
02:27:28
чтобы стилизовать его, и вы уже знаете
02:27:30
детализация ниже будет
02:27:32
модифицированный индекс. модуль. scss, который ты
02:27:36
можно вставить прямо сюда и это будет
02:27:38
преврати эти карты в это, это немного
02:27:41
другой, но все еще не совсем там
02:27:44
теперь причина, почему это не работает
02:27:46
совершенно еще потому, что продукты
02:27:48
являются частью чего-то, известного как
02:27:50
архив коллекции, поэтому мы вносим изменения
02:27:52
сама карточка товара, но все же мы
02:27:55
придется изменить обертку, которая
02:27:57
обернув их, и чтобы сделать это, мы можем пойти
02:27:59
в архив коллекции компонент
02:28:04
которая упаковывает продукты и, в частности,
02:28:07
мы хотим спуститься к его возвращению
02:28:09
заявление прямо здесь, мы идем так
02:28:13
там мы возвращаем div с
02:28:15
архив коллекции
02:28:17
и нам нужно убрать этот желоб, чтобы
02:28:19
у нас меньше места, когда мы это делаем
02:28:21
загружается сейчас, мы хотим упростить это
02:28:23
макет немного теперь здесь мы хотим удалить
02:28:26
этот
02:28:27
Сточная канава, и это все для нашего диапазона страниц.
02:28:30
затем мы спускаемся и удаляем это другое
02:28:33
также желоб прямо здесь, а потом мы
02:28:36
есть div с именем класса
02:28:39
классы, эта сетка, по которой мы проходим
02:28:41
разные элементы, и каждый из них рендерится
02:28:44
карточка, имеющая отношение к товару
02:28:47
с результатом документа и показом категорий, которые мы
02:28:50
больше не хочу заключать это в div
02:28:53
классов. столбец, потому что это не так
02:28:55
будет отображаться в столбцах
02:28:56
они будут показывать вот так
02:28:58
наконец-то нумерация страниц выглядит хорошо
02:29:02
так что теперь давайте также применим стили для
02:29:05
наш архив коллекций, и это происходит
02:29:07
это всего лишь некоторые незначительные изменения, но для
02:29:09
для вашего удобства еще раз, я оставил это
02:29:12
внизу в описании, и теперь мы
02:29:14
становимся еще ближе к нашему финалу
02:29:16
внешний вид продукции и последнее, что нам нужно
02:29:19
сделать, чтобы достичь этого, значит закрыть эти
02:29:21
два файла и перейдите к файлу цен, чтобы
02:29:25
это будет цена компонентов
02:29:27
внутри здесь вы можете увидеть цену и
02:29:30
с нашей стороны цена немного другая
02:29:32
здесь у нас также есть кнопка «Добавить на карту»
02:29:35
что нам в данном случае не нужно, так что
02:29:37
прямо здесь мы можем удалить добавление на карту
02:29:39
кнопку, просто удалив ее, мы также можем
02:29:43
удалить эту кнопку «Удалить с карты» как
02:29:45
ну, и мы можем удалить количество, которое мы
02:29:47
не нужно, в этом случае мы пойдем
02:29:49
чтобы упростить все, чтобы иметь это
02:29:50
чистый минималистичный вид, а затем мы
02:29:53
в итоге получится что-то вроде этого
02:29:54
что уже ближе, чем то, что у нас было
02:29:57
мы также можем удалить эти две кнопки
02:29:59
прямо здесь, сверху, теперь мы также можем изменить
02:30:02
наши стили цен, перейдя в наш индекс.
02:30:05
модуль прямо под ним, выровняйте элемент по центру, мы
02:30:08
также можно добавить выравнивающий контент, а затем
02:30:11
сделать это пространство между нами, мы также можем
02:30:14
изменить способ отображения цены с помощью
02:30:16
придав ему толщину шрифта 400 и
02:30:19
присвоив ему свойство размера шрифта 18
02:30:23
пикселей, чтобы сделать это немного
02:30:25
больше, мы также можем дать ему разрыв в 12
02:30:28
пикселей вместо четырех, мы также хотим
02:30:30
модифицируйте его на небольших тормозных устройствах,
02:30:33
поговорка включает в себя добавление небольшого Das
02:30:37
сломать и дать ему сетку шаблона Das
02:30:40
Бросаться
02:30:41
столбцы, чтобы они отображались в одном FR, например
02:30:45
этот
02:30:47
и мы также можем изменить размер шрифта на
02:30:49
16
02:30:51
пикселей и нам не нужен знак добавления
02:30:54
здесь с небольшим перерывом, после того, как мы исправим
02:30:57
вы можете видеть, что это выглядит хорошо
02:31:00
небольшие устройства, и по мере того, как мы расширяли их,
02:31:02
все еще хорошо выглядишь, и последнее, что мы делаем
02:31:04
нужно сделать, это зайти в общее приложение.
02:31:07
sccss и конкретно перейдите в
02:31:11
Привязка тега прямо здесь, на линии
02:31:14
112 там мы хотим добавить добавить текст
02:31:17
украшение, я думаю, вы догадались
02:31:20
никто, это не скроет этого уродства
02:31:23
подчеркну и сделаю так, чтобы это выглядело
02:31:25
гораздо лучше, сейчас это еще далеко
02:31:28
из этого, но хотите верьте, хотите нет, это
02:31:31
только из-за изображений, если посмотреть
02:31:33
у нас такой же дизайн, как и у нас, просто
02:31:35
придется изменить способ, которым эти изображения
02:31:37
выглядит так, давайте продолжим и перейдем к
02:31:39
наша панель администратора в разделе «Продукты» и
02:31:43
давайте удалим все три продукта, которые мы
02:31:45
в настоящее время есть
02:31:47
это так просто, так что теперь, если мы пойдем
02:31:49
вернитесь и перезагрузите, вы можете увидеть поиск
02:31:51
не дало никаких результатов, так что теперь, если мы вернемся
02:31:55
мы можем создать новый продукт и проверить
02:31:57
какой это будет продукт, поехали
02:31:59
для загрузки New Media выберите файл и
02:32:03
тогда, как ты знаешь, я уже подготовил
02:32:05
все продукты для вас, если вы зайдете в
02:32:07
продукты с общедоступным интерфейсом администратора в этом случае
02:32:11
давайте возьмем Apple Watch серии 9 и
02:32:14
скажи что-нибудь вроде Apple
02:32:18
смотри, начнем и нажми "Сохранить сейчас"
02:32:22
конечно, нам также нужно добавить заголовок, поэтому
02:32:24
давайте перейдем на развернутый веб-сайт, откроем
02:32:27
часы Apple, и давайте скопируем
02:32:29
весь заголовок, а также вставьте его сюда
02:32:33
заголовок, а также в SEO-заголовке мы
02:32:36
также можно скопировать описание и вставить
02:32:39
это прямо здесь, в описании, здорово
02:32:43
теперь последнее, что нам нужно сделать, это добавить
02:32:45
новый макет
02:32:47
и мы выберем макет
02:32:49
контент, наконец, нажмите «Опубликовать»
02:32:53
изменения, наш продукт успешно
02:32:55
были опубликованы, мы можем видеть это, имея
02:32:57
один продукт здесь и позже мы
02:33:00
тоже собираюсь прикрепить полосатое изделие
02:33:02
это означает, что мы на самом деле будем
02:33:04
смогу купить его, так что если мы сейчас вернемся
02:33:07
к продуктам Local Host 3000 вы можете
02:33:10
сразу же посмотрите на наши замечательные часы Apple
02:33:13
появится, теперь давайте добавим еще один продукт
02:33:16
в частности, другой продукт, принадлежащий
02:33:18
в другую категорию, чтобы мы могли протестировать
02:33:21
вынь фильтры и отсортируй тоже так
02:33:24
давайте вернемся к редактированию в нашем
02:33:27
панель администратора продуктов и давайте
02:33:30
создадим новый продукт, давайте сначала перейдем к
02:33:33
наша загрузка Новые медиа выберите файл
02:33:36
давай сделаем что-нибудь вроде этого, Apple
02:33:38
айфон
02:33:40
15, произнесите Apple iPhone 15 и нажмите
02:33:44
сохрани, мы можем пойти к развернутому
02:33:46
веб-сайт и попытайтесь найти наш Apple iPhone
02:33:50
15 среди старых продуктов мы можем скопировать
02:33:53
заполните заголовок и вставьте его прямо сюда
02:33:55
вверху под заголовком, а затем под
02:33:58
SEO-заголовок, и давайте продолжим и
02:34:02
скопируйте все описание и вставьте его
02:34:04
вот здесь, давай не забудем зайти
02:34:07
макет, а также правильно выбирать контент
02:34:10
здесь и публикуйте изменения, внесенные в наш продукт
02:34:13
был успешно создан, и теперь, если мы
02:34:15
вернуться обратно и
02:34:17
перезагрузите, и вы увидите, что теперь у нас есть
02:34:20
телефон и Apple Watch, так что давайте попробуем
02:34:23
фильтр
02:34:24
их, но если мы это сделаем, ничего не будет
02:34:27
происходит еще до того, как это сработает
02:34:30
нам нужно внести еще одно изменение
02:34:32
давайте немного свернем это и давайте
02:34:35
перейдите в архив коллекции, это
02:34:39
компонент, который мы изменили ранее
02:34:41
но теперь нам нужно указать нашу категорию
02:34:43
фильтры, полученные в результате этого конкретного использования
02:34:46
фильтр-крючок, который мы создали для использования
02:34:49
так что прямо вверху, скажем, const
02:34:52
давайте деструктурируем фильтры категорий
02:34:56
а также сортировка, которая равна использованию
02:35:01
фильтр исходящий от провайдера
02:35:03
фильтр, и тогда нам не придется использовать
02:35:06
вроде отсюда, это из реквизита
02:35:09
больше, поэтому мы можем удалить этот вид и
02:35:12
мы также можем удалить эти категории
02:35:14
категории из реквизита, потому что теперь мы получаем
02:35:16
наша собственная категория
02:35:18
фильтры с этим сказали, что мы можем пойти немного
02:35:22
ниже и всякий раз, когда мы говорим «кошки из
02:35:24
реквизит, теперь мы можем переименовать его в категорию
02:35:27
фильтры, я думаю, если дважды щелкнуть
02:35:30
и нажмите F2 на клавиатуре, о нет, это
02:35:32
я скажу, что ты не можешь это переименовать
02:35:34
элемент, поэтому нам придется сделать это вручную, поэтому
02:35:37
давай просто скопируем котов из реквизита
02:35:39
Controll F, а затем здесь вы можете нажать
02:35:42
эту маленькую стрелку и замени и здесь
02:35:45
мы можем сказать категория
02:35:48
фильтры, так что это заменит, если
02:35:50
вы щелкаете прямо здесь все шесть экземпляров
02:35:53
кошек из реквизита в категорию
02:35:56
фильтры, мы почти у цели, но как
02:35:59
ты видишь, что он жалуется на
02:36:02
не могу найти фильтры категорий, не так ли?
02:36:04
означают фильтры категорий, как это выглядит
02:36:07
Я ошибся выше, так что давайте правильно
02:36:10
импортируйте его как фильтры категорий прямо здесь
02:36:14
вот и все, и теперь, если мы спустимся немного ниже
02:36:19
мы также можем изменить тип, который больше не является
02:36:21
это будет категория типа, это
02:36:23
будет иметь строку типа, и мы
02:36:25
не обязательно получать идентификатор CAD, мы можем
02:36:28
просто верните CAD, а не настоящий CAD
02:36:31
просто категория, и мы можем к ней присоединиться
02:36:33
с запятыми, и если мы прокрутим вниз, так как
02:36:36
мы использовали переименование всего, оно также было переименовано
02:36:39
прямо здесь, в массиве зависимостей
02:36:42
эффект от использования, поэтому он получит
02:36:43
обновляется всякий раз, когда наша категория заполняется
02:36:45
фильтры меняются, поэтому теперь, если мы сохраним это
02:36:48
файл и вперед
02:36:50
назад вы можете видеть, что страница
02:36:52
снова работаю, собираюсь расширить
02:36:54
немного, давайте посмотрим категории продуктов на
02:36:57
левую сторону и позвольте мне щелкнуть часы
02:37:00
и на этот раз мы получаем, что поиск не дал результата
02:37:03
результаты, давайте также попробуем сделать телефоны и
02:37:06
опять у нас ничего не получается ну по крайней мере
02:37:09
мы получаем какое-то сообщение об ошибке
02:37:10
или происходит какое-то движение, но теперь мы
02:37:12
надо придумать, как их добавить
02:37:16
продукты по определенным категориям, как
02:37:18
дайте им атрибут этой категории
02:37:20
Итак, вернемся к нашей панели администратора
02:37:23
давайте попробуем увидеть, о, вот и мы продолжим
02:37:25
справа у нас есть категории, выберите
02:37:28
ценность, и это прямо здесь, безусловно,
02:37:30
телефон, так что давайте опубликуем изменения, поехали
02:37:33
вернемся к продуктам и давайте также добавим
02:37:35
категория для наших Apple Watch, это
02:37:38
будут часы, давайте нажмем «Опубликовать»
02:37:41
изменения, и если мы сейчас вернемся, перезагрузите
02:37:44
экран и щелкните часы, поехали, мы
02:37:48
у нас есть часы Apple, и у нас есть наши
02:37:51
телефон, а это значит, что все наши
02:37:53
фильтры работают
02:37:54
отлично, и мы также можем сортировать по последним
02:37:58
или самый старый, это означает, что весь наш
02:38:01
страница аутентификации завершена.
02:38:04
Домашняя страница также выглядит великолепно благодаря
02:38:07
категории герой раздела предложения
02:38:09
месяц и нижний колонтитул, и теперь у нас есть
02:38:11
реализовали всю страницу магазина с
02:38:14
категории товаров и сортировка следующих
02:38:17
шаг, конечно, страница сведений о продукте
02:38:20
и теперь, если мы нажмем на конкретный продукт
02:38:24
вы можете видеть, что изображение довольно
02:38:25
большой товар не был добавлен в
02:38:28
полоска еще и это на самом деле не выглядит
02:38:30
хорошо, мы хотим, чтобы это выглядело вот так
02:38:33
это будет наш новый модифицированный и добрый
02:38:36
минималистичного продукта в яблочном стиле
02:38:38
Страница сведений, поэтому давайте свернём нашу
02:38:41
экран, закройте этот файл и приступим
02:38:45
начал с изменения этого, чтобы оно выглядело лучше
02:38:47
вот так, сначала давайте настроим значение по умолчанию
02:38:51
герой продукта, мы можем сделать это, перейдя в
02:38:54
подчеркните Героев, а затем косую черту
02:38:57
продукт там мы можем изменить героя
02:39:00
этот конкретный продукт и что мы можем сделать
02:39:03
это прокрутка до самого верхнего правого угла
02:39:05
здесь линия
02:39:07
26, и мы можем сначала удалить все это
02:39:10
начальный фрагмент, говорящий о полосе
02:39:13
мы обязательно подключим этот продукт к
02:39:14
полоску позже, а сейчас можно ее удалить
02:39:18
вот и нам тоже нужно закрыть
02:39:20
закрывающий фрагмент, если вы сохраните
02:39:24
что теперь все выглядит хорошо, наш желоб
02:39:27
будет иметь имя класса классов.
02:39:29
герой продукта, тогда мы сможем удалить это
02:39:32
content div, поэтому просто удалите его и
02:39:35
конечно, нам придется закрыть это прямо здесь
02:39:37
под кнопкой «Добавить на карту», ​​чтобы мы могли
02:39:39
удалите закрывающую часть этого
02:39:42
div, и мы хотим кое-что переместить
02:39:44
здесь, здесь, у нас есть наши категории
02:39:47
но в нашем случае мы хотим показать
02:39:49
изображение
02:39:51
во-первых, что мы можем сделать, так это переехать
02:39:54
весь этот div с надписью media и
02:39:57
медиа-обертку выше, скопировав ее и
02:40:00
затем помещаем его прямо в продукт
02:40:03
герой, нам не нужен класс медиа
02:40:05
мы просто оставим тот, который
02:40:07
говорит медиа-рэпер, чтобы ты мог удалить это
02:40:09
один, и у нас есть медиа-обертка, там мы
02:40:13
визуализировать изображение-заполнитель, если у нас есть
02:40:15
один, а затем мы визуализируем реальное изображение
02:40:18
наконец-то мы можем удалить всю эту часть
02:40:19
о метаизображении и форматированном тексте мы
02:40:22
это не понадобится, а потом после
02:40:25
закрытие фактической медиа-обертки, которую мы
02:40:28
может создать нового разработчика, который собирается
02:40:30
отобразить детали, если мы ищем
02:40:32
подробностей, которых у нас сейчас нет, так что
02:40:35
давайте создадим новое имя класса, которое
02:40:37
скажу классы. подробности, а затем
02:40:40
внутри него мы можем отобразить H3, который
02:40:43
собираюсь отобразить свойство title и
02:40:46
мы можем дать ему имя класса, равное
02:40:49
занятия. плитка, если мы сохраним это, вам следует
02:40:52
увидеть, что теперь у нас есть заголовок
02:40:54
прямо здесь, и он выглядит ближе к
02:40:56
что у нас здесь есть, так что мы можем определенно
02:40:59
удалите весь этот заголовок прямо здесь и
02:41:02
H1 вот и все, окей, у нас получается
02:41:06
вот теперь давайте немного изменим классы
02:41:08
нам нужно сделать наше изображение более похожим на
02:41:10
это наше название меньше описания
02:41:13
меньше, и мы собираемся к этому
02:41:14
минималистичный вид
02:41:16
чтобы вы могли перейти к указателю продуктов. модуль.
02:41:21
sccss, и ты уже знаешь, что делать
02:41:23
где вы нашли все остальные стили, которые вы
02:41:25
могу найти вот этот, который будет
02:41:27
продукт. модуль. scss, и вы можете вставить
02:41:31
сохрани это, а потом мы посмотрим
02:41:34
вот так, мы еще не закончили
02:41:36
нам еще предстоит внести некоторые изменения
02:41:37
сделай так, давай попробуем опуститься под заголовок
02:41:41
и все еще находясь внутри
02:41:43
подробности, мы можем создать нового разработчика
02:41:45
это будет иметь имя класса, равное
02:41:48
на занятия. категория
02:41:52
обертку внутри нее, мы можем затем отрендерить
02:41:55
эти категории, так что давайте возьмем эти
02:41:57
категории и переместите их немного выше
02:42:00
внутри оболочки категории, и если мы пойдем
02:42:02
назад это будет выглядеть так и
02:42:05
затем мы хотим изменить этот фрагмент
02:42:07
здесь это будет тег P
02:42:10
потому что мы хотим дать ему имя класса
02:42:12
а также, в частности, имя класса
02:42:15
класс говорю. категория, так что это будет
02:42:19
дай ему это или пока нет, но это будет
02:42:22
скоро сейчас рядом с названием у нас есть если
02:42:25
not является последним, тогда мы отображаем пустое
02:42:28
пространство, и после этого мы хотим добавить
02:42:31
элемент span, который будет иметь этот диапазон
02:42:34
имя класса, равное классам.
02:42:38
разделитель, потому что это происходит
02:42:40
быть простым символом-разделителем просто
02:42:43
вот такая прямая линия
02:42:45
а затем под этим div мы можем отобразить
02:42:49
Тег P, который будет Просто сказать в
02:42:52
сток, и он будет иметь класс
02:42:55
имя, равное
02:42:58
классы.в ​​наличии или только в наличии
02:43:01
быть
02:43:03
хорошо, мы идем, и теперь мы говорим, что это в
02:43:06
запас теперь нам придется дополнительно модифицировать
02:43:08
здесь пробел, потому что это не так
02:43:11
прямо здесь мы должны сказать описание, так что
02:43:13
мы хотим пойти ниже этого div, где мы
02:43:16
у нас есть запас, и мы хотим
02:43:17
назовите нашу цену, мы можем поднять цену
02:43:20
снизу у нас это уже есть, так что
02:43:22
давайте потянем это правильно
02:43:24
там и сохраните его, и тогда мы сможем
02:43:27
div с именем класса, равным classам.
02:43:32
описание, которого нет в имени класса
02:43:34
быть на самом теге P, а затем мы
02:43:36
можете удалить весь этот контент отсюда
02:43:38
и мы собираемся сделать гораздо проще
02:43:40
описание с H6, которое собирается
02:43:43
сказать
02:43:44
описание, и мы можем просто визуализировать P
02:43:47
тег, который будет отображать фактическое
02:43:51
описание, если мы сохраним это, вы сможете
02:43:54
обратите внимание, теперь там написано описание, теперь мы
02:43:56
также хочу переместить нашу цену рядом с
02:43:58
описание прямо здесь, чтобы они были в
02:44:01
такой же
02:44:02
уровень, и мы все еще не можем видеть цену
02:44:05
как мы видим это здесь, мы сможем
02:44:07
скоро сделаю небольшую модификацию, чтобы
02:44:10
проверьте, почему не отображается наша цена, давайте
02:44:12
погрузитесь в него, нажав на него и
02:44:14
затем дважды щелкните прямо здесь, что
02:44:16
собирается привести нас к цене
02:44:18
компонент здесь у нас есть продукт, который мы
02:44:21
установка цены с учетом фактической цены
02:44:23
а с количеством мы имеем эффект использования
02:44:26
чтобы настроить его, и наконец у нас есть
02:44:28
div внутри этого div мы проверяем, есть ли
02:44:30
фактическая цена не определена, и если
02:44:32
количество существует, а затем мы возвращаем div
02:44:36
с названием класса цены, где мы говорим
02:44:38
цена. с количеством, так что это выглядит
02:44:41
мне хорошо, и вот мы звоним
02:44:43
правильный путь, так что давайте попробуем
02:44:45
расширьте это немного, и вы увидите
02:44:48
это не отзывчивость, это еще не так
02:44:49
показываю, но у нас есть пустое место
02:44:51
за это прямо здесь, если мы пойдем в другой
02:44:54
продукт, возможно, вернётся в магазин, а затем
02:44:56
Apple Watch, как видите, это не так
02:44:58
показываю все еще, теперь спросите себя, почему или
02:45:02
еще лучше, если бы мы когда-либо добавляли цену
02:45:04
во-первых, я не думаю, что мы это сделали
02:45:07
так что если мы вернемся к панели администратора
02:45:09
и нажмите здесь на Apple Watch, если мы
02:45:12
разверните, так будет легче увидеть
02:45:14
но нам нужно где-то добавить цену
02:45:17
конкретно цена будет расти
02:45:19
добавлено, как только мы подключим этот продукт к
02:45:21
полоска, то она потянет
02:45:23
значения прямо оттуда, так что это
02:45:25
продукт будет отражать продукт
02:45:27
на полосе, так что подробнее об этом скоро, но для
02:45:30
теперь приятно знать, что наш макет
02:45:32
хорошо, что просто не хватает фактического значения
02:45:34
наконец, под этим div у нас есть добавление
02:45:37
кнопка карты, которая принимает товар
02:45:39
и имя класса, которое выглядит великолепно
02:45:42
сразу ниже мы связали
02:45:43
продукты, и если вы проверите развернутые
02:45:46
версию, вы можете заметить, что здесь мы
02:45:47
нет никакого описания
02:45:49
скорее у нас есть просто список связанных
02:45:52
продукты, так как мы можем это сделать
02:45:55
ну, мы можем перейти к подробной информации о продукте
02:45:57
страницу, перейдя вот так
02:46:00
специально слизняк под каждого отдельного
02:46:03
продукт — это страница сведений о продукте
02:46:06
здесь мы рендерим разные блоки
02:46:08
эту страницу, и мы видим блок, который
02:46:11
говорит что-то вроде продуктов
02:46:13
представленные здесь выбраны индивидуально
02:46:16
для этой страницы то же самое, что там написано
02:46:18
вот и как мы можем это хорошо изменить
02:46:21
во-первых, нам не нужен макет, поэтому
02:46:23
мы можем удалить это отсюда мы можем удалить
02:46:26
эти блоки макета, так как нам не нужны
02:46:28
для рендеринга дополнительных блоков, тогда мы
02:46:31
можно превратить это в обычное простое
02:46:34
реагировать
02:46:35
фрагмент, мы можем изменить его с H4 на
02:46:37
H3, чтобы сделать его немного больше и единственным
02:46:40
что тебе нужно сделать, удалить этот объект
02:46:42
который содержит этот тег P прямо здесь, так что
02:46:45
мы просто удалим его, если сохраним его для вас
02:46:49
Видно, что сопутствующие товары немного подешевели
02:46:51
больше и описания не осталось
02:46:54
это здорово, ты можешь это заметить сейчас
02:46:56
это прикосновение к кнопке, которой нет
02:46:58
действительно лучший вид, который мы хотим придать ему
02:47:00
так что давайте перейдем к
02:47:02
связанный
02:47:03
продукты индекс SL. модуль.
02:47:07
sccss и давайте внесем небольшие изменения
02:47:10
мы можем придать этому класс связанных действий
02:47:13
продукты, которые будут иметь ширину
02:47:16
100% И затем мы хотим изменить
02:47:19
сетка, так что в сетке давайте удалим
02:47:23
все, что у нас есть сейчас, кроме
02:47:25
сетка отображения, давайте добавим ей отступы
02:47:28
ноль, затем сетка Das шаблон Das
02:47:32
столбцы повторяют три, а затем мин макс
02:47:37
30% и один F FR я особо не использую
02:47:41
сетки часто, но в подобных случаях они
02:47:43
конечно, может быть полезно, если вы
02:47:45
правильно записывайте столбцы, теперь мы можем показать
02:47:48
три сопутствующих продукта, тогда мы также можем
02:47:51
удалите этот диапазон столбцов и вместо
02:47:54
интервал в шесть, мы можем дать ему только промежуток в
02:47:58
20 пикселей и на небольшой передышке собираемся
02:48:01
сказать шаблон Das Columns of
02:48:06
Наконец-то 100%, так как у нас нет столбцов
02:48:09
половину или/или трети мы можем полностью удалить
02:48:11
те
02:48:12
занятия и просто скажи «сделай плитку»
02:48:15
вес шрифта 400 и поля
02:48:21
внизу около 30 пикселей, что будет
02:48:24
чтобы дать нам пространство, в котором мы нуждаемся
02:48:27
конечно, только тогда, когда мы действительно идем в
02:48:29
компонент сопутствующих товаров, а затем
02:48:32
вверху прямо здесь, в желобе, добавьте
02:48:35
новый
02:48:36
H3, у которого будет класс
02:48:39
Имя
02:48:42
заголовок и там будет написано "связано"
02:48:46
продукт, конечно, это должен быть
02:48:48
занятия. название, если ты сохранишь его сейчас, ты
02:48:51
см. два связанных продукта, давайте удалим
02:48:54
другой, и мы можем сделать это с помощью
02:48:57
удаление этого вступительного контента отсюда
02:49:00
и нам больше не нужно его импортировать
02:49:02
из реквизита, так что теперь у нас есть только один и
02:49:05
мы можем существенно упростить возврат
02:49:08
прямо здесь мы можем посмотреть документацию, если
02:49:11
они существуют, и это здорово, если не возвращение
02:49:13
ноль, и тогда единственное, что мы
02:49:15
нужно вернуть, это будет карта
02:49:17
мы можем удалить столбцы, которые у нас есть
02:49:19
здесь, просто сказав возвратную карту, и мы
02:49:22
можно оставить все как есть
02:49:24
Конечно, при удалении закрытия
02:49:26
скобки, круглые скобки и все остальное
02:49:28
так что теперь, если вы сохраните его и перезагрузите, вы сможете
02:49:31
все еще вижу товар, но он вроде как
02:49:33
слишком сильно растягивается, так что, конечно, давай
02:49:35
посмотрим, правильно ли мы провели занятия
02:49:38
наш сопутствующий продукт имеет ширину 100
02:49:41
здесь у нас позиция
02:49:43
относительно, тогда прямо здесь, в сетке
02:49:47
у нас есть отображение сетки и отступы
02:49:49
ноль, у нас есть шаблон сетки Столбцы
02:49:52
повтори, нет, это будет повторяться, это
02:49:54
ошибка с моей стороны, и мы также можем дать
02:49:57
это разрыв в 30 пикселей, так что теперь, если мы сохраним
02:50:00
вы можете видеть, что теперь наш продукт
02:50:02
появляется в 1/3, но это не совсем
02:50:05
как это должно выглядеть, если мы внутри
02:50:07
небольшие устройства, они должны быть на одно ниже
02:50:09
другой в столбце, а не в ряду, поэтому
02:50:13
давайте посмотрим, что еще у нас здесь есть
02:50:15
вместо того, чтобы внутри колонны наш маленький
02:50:17
перерыв и середина перерыва на самом деле должны быть
02:50:19
входя в сетку, так что это было
02:50:21
ошибка с моей стороны, так что если мы сохраним это
02:50:24
вы можете видеть на маленьких устройствах, что происходит
02:50:26
вести себя
02:50:27
иначе или он будет вести себя
02:50:30
иначе, как только я укажу столбцы
02:50:32
правильно, прямо здесь и там мы идем сейчас
02:50:36
теперь у нас все хорошо, если мы сравним это с
02:50:39
готовый сайт, вы можете увидеть это
02:50:41
это выглядит великолепно, но нам не хватает
02:50:43
немного места прямо здесь, под надписью
02:50:46
кнопка «карточка», не волнуйся, мы идем
02:50:48
очень скоро это исправлю, и я думаю, что это
02:50:50
эта часть той же проблемы, где здесь
02:50:53
нам также не хватает места между
02:50:55
продукты и здесь у нас есть некоторые дополнительные
02:50:57
пространство, поэтому, если мы сравним его, как вы можете видеть
02:51:00
это выглядит совсем по-другому, и я думаю
02:51:03
вот потому описание и добавлю
02:51:04
to card должна находиться внутри div, где
02:51:07
заголовок и все остальное, тогда как
02:51:10
здесь мы поместили это ниже, так что давайте перейдем к нашему
02:51:13
героев, а затем для продукта SL здесь
02:51:17
у нас есть наше описание и все остальное
02:51:18
так что давайте посмотрим, правильно ли мы
02:51:19
разворачиваем все в наших div здесь
02:51:22
мы начнем с деталей и
02:51:24
мы заканчиваем это
02:51:25
здесь, а скорее этот div должен быть
02:51:28
заканчивается после кнопки «Добавить на карту», ​​если
02:51:32
теперь мы поместим все это внутрь тебя
02:51:34
замечу, что ситуация
02:51:35
собираюсь изменить сейчас приложение
02:51:38
начал немного ломаться, но если ты просто
02:51:40
перезагрузи еще раз, так и должно быть
02:51:42
работает и теперь все хорошо подходит
02:51:44
красиво, и вы можете увидеть связанное
02:51:46
продукты ниже, и я верю, что мы можем исправить
02:51:48
эту проблему с сопутствующими продуктами, перейдя на
02:51:52
наш
02:51:53
коллекции продуктов SL, а затем
02:51:57
index.ts здесь у нас особый макет
02:52:00
собственность, и мы говорим, что это
02:52:02
содержание должно быть обязательным, и это
02:52:05
для нашего приложения это не должно быть так
02:52:08
почему, потому что если ты посмотришь наш
02:52:10
продукты, которые вы можете заметить, что у нас есть
02:52:11
добавил макет, но это не совсем НЭ
02:52:14
Почти мы никогда им не пользуемся, поэтому можем
02:52:16
сделать контент или макет не
02:52:19
требуется в этом случае, и тогда мы можем
02:52:22
повторите две команды, которые мы использовали ранее
02:52:24
Полезная нагрузка пряжи генерирует графql
02:52:28
схема, пока это происходит, мы можем
02:52:30
остановить запуск нашего приложения
02:52:32
нажав Ctrl C, затем Y и один раз
02:52:35
эта команда запускается, мы также можем сгенерировать
02:52:37
тот
02:52:38
типа, что это собирается сделать, это
02:52:40
собираюсь изменить типы полезной нагрузки, поэтому, если
02:52:43
мы идем сюда сюда под макетом или под
02:52:46
продукт, который вы собираетесь купить
02:52:48
обратите внимание, что макет теперь будет необязательным
02:52:50
поэтому, если мы перезапустим наше приложение с помощью
02:52:53
запуск MPM Run Dev, и если вы
02:52:56
перезагрузите панель администратора, вернитесь сюда
02:52:59
и удалите макет и опубликуйте сейчас
02:53:02
это позволит вам сделать это, поэтому мы можем
02:53:04
сделайте то же самое с нашим Apple iPhone
02:53:07
15 Pro, а также удалить и опубликовать так сейчас
02:53:12
если мы вернемся и перезагрузим
02:53:15
приложение по-прежнему не работает, поэтому, если мы откроем его
02:53:18
проверить, а затем перейти к консоли, мы можем
02:53:21
хорошо увидеть пару разных ошибок
02:53:23
это более или менее одно и то же
02:53:25
так что если мы посмотрим на это, это действительно важно
02:53:29
нас к сопутствующим продуктам линии 32, которые
02:53:34
может быть полезно, поэтому, если мы вернемся, нажмите
02:53:36
contrl P перейти к индексу соответствующего продукта.
02:53:41
TSX линия 29 или 30, вы можете видеть, что мы
02:53:46
картирование поверх карты, но мы не
02:53:48
передача ключа, который может быть ошибкой
02:53:51
ты знаешь все эти времена во всех
02:53:53
эти видео, когда я говорил тебе
02:53:55
добавьте ключ к элементу, который вы сопоставляете
02:53:57
ты подумал, ладно, это просто предупреждение
02:53:59
не имеет значения, но в таких ситуациях, как
02:54:02
это действительно в более крупных приложениях
02:54:04
имеет значение, потому что это может прервать
02:54:06
поток приложения, ну, я просто
02:54:08
думаю, возможно, это не решение
02:54:10
но давай проверим, я пас
02:54:12
документ Dot, давайте посмотрим на идентификатор как на ключ этого
02:54:16
это лучший ключ, который мы можем дать, а не
02:54:18
индекс, который мы получаем отсюда, отлично, так что
02:54:21
теперь давайте сохраним это и перезагрузим
02:54:25
ошибка, кажется, исчезла, это хорошо, если я
02:54:27
перезагрузи еще один
02:54:29
время, кажется, работает
02:54:31
ну, это здорово, так что теперь давайте добавим немного
02:54:35
маржа в заголовке этого сопутствующего товара
02:54:38
мы можем сделать это, перейдя к соответствующему
02:54:41
индекс продукции. модуль. scss, а затем
02:54:45
дайте ему дополнение
02:54:47
верх чего-то вроде VAR D- основа этого
02:54:52
собираюсь просто дать ему немного
02:54:53
дополнение, я думаю, этого более чем достаточно
02:54:56
итак, с учетом сказанного, у нас отличное
02:54:58
просмотр страницы сведений о продукте, которую мы
02:55:00
можно расширить и убедиться, что он выглядит хорошо
02:55:04
это все еще происходит, и мы также можем проверить
02:55:06
мобильная версия тоже выглядит потрясающе, так что теперь
02:55:10
конечно, следующим логическим шагом будет
02:55:12
добавить товар на карту
02:55:14
мы можем сделать это уже функциональность
02:55:16
есть, но теперь карта выглядит так
02:55:19
это и мы хотим, чтобы это выглядело как-то
02:55:22
нравиться
02:55:24
вот и все намного чище
02:55:26
лучше, так что давай перейдем от этого к этому и к
02:55:31
сделай это, я ее уничтожу
02:55:32
браузер закройте все файлы, а затем
02:55:36
открыть корзину на/странице. страница ТСХ
02:55:42
внутри здесь мы можем удалить это
02:55:43
совсем герой, говоря, что это телега
02:55:46
и для чего это нужно, чтобы мы могли прокрутить вниз
02:55:49
и мы можем забрать у героя всё
02:55:52
включая героя вверху справа внизу
02:55:55
тот
02:55:56
фрагмент, и мы сможем удалить его, если сохраним
02:55:59
это уже более минималистично
02:56:02
тележку, то прямо здесь, под желобом, мы
02:56:06
могу добавить
02:56:07
H3 там будет сказано просто
02:56:10
тележку и прямо здесь, под блоками, мы можем
02:56:13
добавьте, что для отключения нижнего отступа установлено значение
02:56:17
правда, я думаю, что шанд - это просто действие
02:56:21
это будет автоматически
02:56:22
установлено значение true, так что теперь у нас есть что-то
02:56:24
немного больше похоже на это, но конечно
02:56:27
нам нужно изменить стили, поэтому, если мы пойдем
02:56:29
индексировать. модуль.
02:56:32
sccss, мы можем удалить это сообщение и добавить
02:56:35
DOT-контейнер, который будет иметь
02:56:38
поле приборной панели размером 50 пикселей для создания
02:56:41
какое-то пространство у него также будет
02:56:44
ширина
02:56:47
Наконец-то 100% на небольшом перерыве, так что включите
02:56:50
небольшой перерыв, мы собираемся дать ему
02:56:53
поле сверху немного меньше 30 пикселей
02:56:57
и если мы вернемся, нам придется на самом деле
02:56:59
используйте этот контейнер, чтобы мы собирались
02:57:01
превратите этот фрагмент прямо здесь в div
02:57:04
с именем класса, равным classам.
02:57:09
контейнер, если мы сохраним его, вы заметите
02:57:12
это выглядит немного по-другому, дайте немного
02:57:14
расстояние, но все же это далеко от
02:57:18
выглядит как
02:57:19
это так что теперь нам придется изменить
02:57:21
что-то, известное как страница корзины, а затем
02:57:24
Товар в корзине Этот товар в корзине
02:57:27
в корзине видно, выглядит вполне
02:57:29
по-другому, это по сути одна строка или
02:57:31
здесь одна строка товаров, она просто большая
02:57:35
это тебе прямо в лицо, и мы собираемся
02:57:36
сделай это примерно так
02:57:38
давай закроем страницу и сделаем это правильно
02:57:40
чтобы начать, мы можем перейти к страницам
02:57:44
и конкретно мы хотим пойти в
02:57:46
тележка, где мы были только что, но сейчас
02:57:49
мы хотим создать новую папку внутри
02:57:52
корзина называется элементом корзины внутри нее
02:57:56
Конечно, мы создаем новый индекс. ТСС где
02:58:01
мы можем бежать
02:58:03
поэтому мы, конечно, можем переименовать его в корзину
02:58:07
элемент, и мы собираемся также создать
02:58:09
новый индекс. модуль. scss внутри карты
02:58:14
элемент, и туда вы можете вставить
02:58:17
соответствующий модуль элемента карты scss и
02:58:20
затем вернитесь сюда и импортируйте его с помощью
02:58:23
говорю классы импорта
02:58:26
из индекса. модуль.
02:58:30
sccss, затем мы можем создать простую карточку
02:58:33
предмет, завернув его в An Li, чтобы он стал
02:58:36
элемент списка, у которого будет класс
02:58:40
имя, равное классам. элемент
02:58:44
и внутри него сейчас мы можем просто
02:58:46
визуализировать ag6, который может отображать заголовок
02:58:50
пока статический, но скоро динамический
02:58:53
теперь, если мы вернемся на наш сайт, ничего
02:58:55
действительно изменилось, так как мы можем это назвать
02:58:58
предмет корзины, который мы собираемся назвать внутри
02:59:01
Индекс страницы корзины. TSX здесь у нас много
02:59:05
всего, что происходит прямо здесь, поэтому мы
02:59:08
инициализируем корзину, если она пуста, мы
02:59:10
покажи, что там пусто, если это не так, мы покажем
02:59:12
предметы и так далее, чтобы вы могли многое увидеть
02:59:15
здесь происходит много всего, но мы хотим
02:59:17
избавиться от большей части этого, но пока
02:59:20
давайте просто воспользуемся предметом корзины, который мы
02:59:23
можем сделать это в рамках UL, поэтому, если мы
02:59:25
найдите список предметов, вы можете увидеть это
02:59:28
здесь мы звоним в
02:59:30
элементы, а затем здесь мы сопоставляем
02:59:33
их тележка. предметы. карта для каждого из нас
02:59:37
получить тип от количества продукта и
02:59:39
товар, а затем мы возвращаем его целиком
02:59:42
фрагмент сейчас мы собираемся
02:59:44
удалить весь этот фрагмент, идя все
02:59:47
на пути вниз нам не нужно так много
02:59:49
вещи и единственное, что мы собираемся сделать
02:59:51
возврат — это элемент корзины, поэтому давайте уточним
02:59:55
его и импортируйте из элемента do/cart и
02:59:58
закрой прямо здесь есть парочка
03:00:01
вещей, которые нам нужно передать ему
03:00:03
как, конечно, и весь продукт, который мы
03:00:06
также нужно передать заголовок, тогда мы сможем
03:00:09
передать метаизображение, а не изображение помощника, а
03:00:12
мета-изображение прямо здесь равно мета
03:00:15
образ эээ, все, чем мы были
03:00:17
ранее отображалось прямо здесь, нам нужно
03:00:20
чтобы передать индекс, мы также можем передать
03:00:23
QT y как количество и добавить товар в
03:00:29
корзина, которая будет функцией
03:00:32
конечно, добавляю товар в корзину, так что давайте
03:00:35
сохрани это и пойдем в корзину
03:00:38
предмет, и давайте примем весь этот реквизит
03:00:41
прямо в это мы можем принять
03:00:44
продукт название метаизображение а
03:00:49
количество или количество, добавьте товар в корзину и
03:00:54
затем индекс, так как мы будем
03:00:57
сопоставление этого мы можем предоставить ключ
03:00:59
прямо здесь равно давайте сделаем заголовок все
03:01:02
продукты должны быть
03:01:04
уникален, и в этом случае я считаю, что мы
03:01:06
даже не нужно передавать индекс, поэтому, если я
03:01:09
вернитесь и удалите индекс, который мы должны
03:01:11
было бы хорошо вернуться сейчас к части пункта
03:01:14
мы также собираемся определить новое использование
03:01:17
Состояние, и это будет количество
03:01:21
и установите количество также в начале
03:01:24
установлено количество, поэтому мы собираемся использовать это
03:01:27
значение по умолчанию, но мы также разрешим нашим
03:01:29
пользователи могут изменить количество позже в
03:01:31
если они захотят, давайте импортируем использование
03:01:34
состояние от реакции и немедленно
03:01:36
поэтому мы должны сделать нашу функцию
03:01:38
или наш компонент — клиент использования
03:01:41
компонент сейчас, конечно, если вы перезагрузите
03:01:44
страница, я не верю, что она будет
03:01:46
сработает или да, но там написано, что ты
03:01:49
карта пуста, поэтому я собираюсь вернуться к
03:01:51
магазин, и я собираюсь прочитать продукт
03:01:54
тут же добавь в корзину и поехали
03:01:58
в вашей корзине теперь один товар, мы
03:02:00
вижу только заголовок, так что теперь мы знаем
03:02:02
над чем мы работаем, и теперь, когда мы
03:02:04
знаю, что мы можем начать работать над jsx
03:02:07
но прежде давайте создадим парочку
03:02:09
функции, которые мы будем использовать, такие как
03:02:11
уменьшить количество, это будет просто
03:02:14
типичная реакция Стрелочная функция, которую мы
03:02:17
конечно, хочу увеличить количество и
03:02:20
у нас также будет ввод QT
03:02:22
поэтому константа введите количество, потому что мы сможем
03:02:25
чтобы ввести его вручную как
03:02:28
ну и это должно быть хорошо, мы можем
03:02:30
начните создавать внешний вид нашей корзины
03:02:33
чтобы выглядеть так, поэтому сначала мы
03:02:35
завернув все в Ань Ли, а затем
03:02:38
прямо здесь мы собираемся затем отрендерить
03:02:40
связь
03:02:41
компонент, который будет иметь эта ссылка
03:02:43
иметь href, равный продуктам SL SL
03:02:49
продукт. слаг с именем класса, равным
03:02:54
занятия. Медиа-обертка по этой ссылке
03:02:58
мы собираемся визуализировать новый динамический
03:02:59
блок, говорящий, что если нет мета
03:03:02
изображение, то мы можем визуализировать
03:03:06
пролет, говоря нет изображения, но прямо внизу
03:03:11
что если есть изображение, то если мета
03:03:14
изображение и тип мета-изображения не являются
03:03:20
равный
03:03:22
строка, то мы можем просто отобразить ее
03:03:26
изображение с помощью встроенного носителя
03:03:29
свойство, полученное из компонентов
03:03:32
media к этому носителю мы можем передать класс
03:03:36
имя, равное классам. СМИ, которые мы можем передать
03:03:41
имя класса IMG
03:03:44
который будет равен классам.
03:03:46
изображение и, конечно же, мы хотим передать
03:03:49
ресурс, равный метаизображению и, наконец,
03:03:52
присвойте ему свойство заполнения и, конечно же,
03:03:55
нам нужно импортировать ссылку, исходящую от
03:03:57
следующую ссылку, если мы сделаем это и перезагрузим
03:04:00
страница, мы все еще ничего не видим, я
03:04:03
думаю, это потому, что наша карта получила
03:04:04
снова опустошен, поэтому прежде чем добавить еще один
03:04:07
товар в корзину позвольте мне войти в систему Я
03:04:10
собираюсь войти в свою учетную запись, используя
03:04:13
я получаю эту прекрасную страницу входа
03:04:16
перенаправлен на эту замечательную страницу, где я
03:04:18
в моей корзине уже есть один товар
03:04:21
это часы, и теперь мы можем видеть
03:04:22
изображение, и если вы нажмете на него, оно произойдет
03:04:24
чтобы вернуть вас к часам. Подробности
03:04:27
страницу, а затем вы можете вернуться и
03:04:29
продолжить прямо сейчас по этой ссылке, мы хотим
03:04:32
есть div, у которого будет класс
03:04:35
имя, равное классам. Детали товара
03:04:41
внутри этого div мы хотим иметь еще один
03:04:42
div с именем класса, равным classам.
03:04:47
плитка
03:04:48
обертка и, конечно, там мы можем
03:04:50
визуализировать свойство age6, где мы находимся
03:04:53
собираюсь отобразить там динамический заголовок
03:04:55
мы идем, серия Apple Watch
03:04:57
9 прямо ниже мы можем отобразить цену
03:05:01
который исходит от компонентов undor SL
03:05:04
цену и к ней нам нужно передать
03:05:07
продукт равен продукту и кнопке
03:05:10
равно false, поскольку это не кнопка
03:05:13
просто говорит цену, так что, если мы сэкономим ее, ты
03:05:16
хотелось бы надеяться, что ты увидишь цену, но ты
03:05:19
не могу, потому что помни, что мы еще этого не сделали

Описание:

Learn how to build an incredible e-commerce webshop with an admin dashboard and CMS using Next 14, Stripe, TypeScript, and Payload CMS. ⭐ Payload CMS: https://payloadcms.com/new 🌟 Become a top 1% Next.js 14 developer in only one course: https://www.jsmastery.pro/ultimate-next-course 📚 Materials/References: GitHub Repository (give it a star ⭐): https://github.com/adrianhajdin/ecommerce Payload is open-source (give them a star too ⭐): https://github.com/payloadcms/payload Code and Assets: https://github.com/adrianhajdin/ecommerce/blob/main/code.md 💻 Join our Discord Community - https://discord.com/invite/n6EdbFJ 🐦 Follow us on Twitter: https://twitter.com/jsmasterypro 🖼️ Follow us on Instagram: https://www.facebook.com/unsupportedbrowser 💼 Business Inquiries: [email protected] Time Stamps 👇 00:00:00 - Intro 00:03:33 - Payload Setup 00:08:05 - Code Setup 00:16:55 - Folder Structure 00:27:41 - Header 00:43:37 - Footer 01:04:41 - Login Page 01:10:53 - Create Account Page 01:14:32 - Recover Password 01:19:58 - Hero Section 01:34:30 - Categories Section 01:56:47 - Promotion Section 02:03:51 - Products 02:13:16 - Filters 02:25:53 - Product Card 02:38:42 - Product Details Page 02:45:58 - Related Products 02:55:36 - Cart Page 03:20:00 - Stripe 03:25:15 - Checkout 03:29:11 - Order Confirmation Page 03:31:00 - Challenge 03:33:56 - Deployment

Готовим варианты загрузки

popular icon
Популярные
hd icon
HD видео
audio icon
Только звук
total icon
Все форматы
* — Если видео проигрывается в новой вкладке, перейдите в неё, а затем кликните по видео правой кнопкой мыши и выберите пункт "Сохранить видео как..."
** — Ссылка предназначенная для онлайн воспроизведения в специализированных плеерах

Вопросы о скачивании видео

mobile menu iconКак можно скачать видео "Build and Deploy a Full Stack E-Commerce App with an Admin Dashboard & CMS in 2024 | Next 14, Stripe"?mobile menu icon

  • Сайт http://unidownloader.com/ — лучший способ скачать видео или отдельно аудиодорожку, если хочется обойтись без установки программ и расширений. Расширение UDL Helper — удобная кнопка, которая органично встраивается на сайты YouTube, Instagram и OK.ru для быстрого скачивания контента.

  • Программа UDL Client (для Windows) — самое мощное решение, поддерживающее более 900 сайтов, социальных сетей и видеохостингов, а также любое качество видео, которое доступно в источнике.

  • UDL Lite — представляет собой удобный доступ к сайту с мобильного устройства. С его помощью вы можете легко скачивать видео прямо на смартфон.

mobile menu iconКакой формат видео "Build and Deploy a Full Stack E-Commerce App with an Admin Dashboard & CMS in 2024 | Next 14, Stripe" выбрать?mobile menu icon

  • Наилучшее качество имеют форматы FullHD (1080p), 2K (1440p), 4K (2160p) и 8K (4320p). Чем больше разрешение вашего экрана, тем выше должно быть качество видео. Однако следует учесть и другие факторы: скорость скачивания, количество свободного места, а также производительность устройства при воспроизведении.

mobile menu iconПочему компьютер зависает при загрузке видео "Build and Deploy a Full Stack E-Commerce App with an Admin Dashboard & CMS in 2024 | Next 14, Stripe"?mobile menu icon

  • Полностью зависать браузер/компьютер не должен! Если это произошло, просьба сообщить об этом, указав ссылку на видео. Иногда видео нельзя скачать напрямую в подходящем формате, поэтому мы добавили возможность конвертации файла в нужный формат. В отдельных случаях этот процесс может активно использовать ресурсы компьютера.

mobile menu iconКак скачать видео "Build and Deploy a Full Stack E-Commerce App with an Admin Dashboard & CMS in 2024 | Next 14, Stripe" на телефон?mobile menu icon

  • Вы можете скачать видео на свой смартфон с помощью сайта или pwa-приложения UDL Lite. Также есть возможность отправить ссылку на скачивание через QR-код с помощью расширения UDL Helper.

mobile menu iconКак скачать аудиодорожку (музыку) в MP3 "Build and Deploy a Full Stack E-Commerce App with an Admin Dashboard & CMS in 2024 | Next 14, Stripe"?mobile menu icon

  • Самый удобный способ — воспользоваться программой UDL Client, которая поддерживает конвертацию видео в формат MP3. В некоторых случаях MP3 можно скачать и через расширение UDL Helper.

mobile menu iconКак сохранить кадр из видео "Build and Deploy a Full Stack E-Commerce App with an Admin Dashboard & CMS in 2024 | Next 14, Stripe"?mobile menu icon

  • Эта функция доступна в расширении UDL Helper. Убедитесь, что в настройках отмечен пункт «Отображать кнопку сохранения скриншота из видео». В правом нижнем углу плеера левее иконки «Настройки» должна появиться иконка камеры, по нажатию на которую текущий кадр из видео будет сохранён на ваш компьютер в формате JPEG.

mobile menu iconСколько это всё стоит?mobile menu icon

  • Нисколько. Наши сервисы абсолютно бесплатны для всех пользователей. Здесь нет PRO подписок, нет ограничений на количество или максимальную длину скачиваемого видео.