Transfer a finished site
/docs/skill/vizen-transfercurrentМашинный перевод с английского
Ты - это ты. Движущийся, а не проектирующий. The owner's site определяет look; Ваша работа Чтобы он появился в shop Как бы то ни было, перезагрузите data тот shop собственник (menu, цены, cart, forms) и доказать, что result Скриншоты, никаких редизайнов, нет разрезать на части sections или составных частей, нет path Переписывание, никаких улучшений, никто Компонент только тогда, когда owner Запросить одну наценку на многих pages.
1.Это ваш path?
| У тебя есть | Иди. |
|---|---|
| папка, ZIP, репо или export который уже отображается в браузере, чтобы стать shop's pages (live цены, cart, shop header) | здесь |
| целое multi-page site то keep отдельно, байт за байтом | а site папка, Не этот навык: category type:"site", один ZIP то POST /site-folders/{id}/releases/zip?base=none&publish=1, publish тот category — /docs/file-storage; служил в section's path, песочница (нет печенья, нет) localStorage), нет shop header, cart или vz- ключи |
| Неизвестно, кто из двух | Спроси owner Один вопрос: не выбирайте для них |
| Пока ничего — а page Строить с нуля | vizen-start и три его вопроса |
| Вопрос о vz- ключи, частичные релизы, images внутри одного widget | vizen-own-markup |
| groups, связывание, system pages (cart, account…), sticky | vizen-chrome |
| товары, categories, фильтры | vizen-catalog |
| "200 и ничего не изменилось." | vizen-troubleshoot |
The full Контракт — что платформа делает с вашим сайтом file, Копия · Remap · drop таблица, рамочные примечания — это GET /docs/transfer. Прочитайте один раз, before шаг 2.
2.Что дает вам платформа (измеряется, а не обещается))
- папка = widget. А. level-3 html document Это папка:
index.htmlв корень, css/js/assets в подпапках, относительные пути от корня. загружать его; files обслуживаются из/_html/{doc}/{rid}/…с одинаковым гнездованием. - Реальный page DOM. Нет тени DOM, Нет iframe, нет sanitiser:
<script>и<link>- Закрыть охраняемую зону. - Если только коробка не отсутствовала.props.html.boxed: true. Проверить fixed авторство и авторство visibility side воздействия в/docs/own-markup§7.2 before многообещающая геометрия. - Твой `<body>` становится
<div class="vz-body vz-body-{doc}" data-vz-base="/_html/{doc}/{rid}/">;body,htmlи:rootСелектор в вашем CSS Переписывается на этот class; из<head>Платформа сохраняетlink/style/script/noscript, движениеtitleиmeta descriptionвходить page SEO и бросает все остальное. document и чистая разметка принимаются. - Сценарии бегут first Интервью и повторный просмотр after в-site навигационная система. Вводить И снова и снова в
document'svz:navigateevent; never ждатьDOMContentLoadedПути, построенные одним script Начать сdocument.currentScript?.closest('.vz-body')?.dataset.vzBase ?? window.VZ_ASSET_BASE ?? ''(external илиdeferscript:document.querySelector('.vz-body-<id>')?.dataset.vzBase). - Каскад делится. Витрина корабля Tailwind Preflight:
h1–h6inherit size и вес,ul/olПотерять пули,aНаследует цвет и теряет подчеркивать,*имеет нулевую маржу и padding,imgэтоdisplay: block,buttonВсе, что вы стилизовали, явно выживает; то, что вы оставили Браузер по умолчанию сбрасывается - отправляйте свой own base Стиль под корнем class. - Охраняемые зоны (
/cart,/checkout,/account,/wishlist,/orders,/deals,/dashboard): Ваши рендеры разметки, сценарии не запускаются, и widget's относительный<link rel="stylesheet">И с ними расстаются — header's CSS принадлежит к layout папка (ссылка везде) или inline.hiddenВыжить там,data-*не. - Счетчики, вход, поисковые предложения не нужны script:
vz-cart-count,vz-fav-count,vz-auth,vz-user-initial,vz-search; eventsvz:cart,vz:fav,vz:authнаdocument(/docs/own-markup§4.0. Ссылки открыты без перезарядки;vz-reloadВыбрать один из. - Живи data Сервер является-side замена:
{{ product.name }},vz-for="p in products"(тот section's feed, ≤ 48 rows, Нет фильтров или paging),vz-for="m in menu",vz-add-to-cart,vz-cart-count,href="form:<id>". Имена, которые приходят отGET /docs/vz-keys.json, never из памяти.
3. The order работа
- Паспорт.
GET /v1/account/token.contour: "dev"Написал проект проекта Владелец видит в<slug>--dev.<zone>;"prod"Напишите живой сайт на каждый Освобождение - затем следуйmode_guide: Новые страницы рядом с рабочими, откат Уровень 3 нуждается в хозяине или администраторе. shop. - инвентаризация. Один столик: source Страница или часть → цель (виджет страницы), layout папка, chrome группа, product или category Шаблон) → данные для переобвязки → Что не может двигаться (SPA время выполнения, роутер, own fetch, код сервера, сервис Работник. Полученный клиентом SPA Экспортируется статически первым: один маршрут = одна папка,
base: './'(папка сайта берет весь экспорт, §1). - Раскладная папка — сайт в целом CSS, шрифты, favicon, скрипты:
node backend-3D/tools/html-transfer/transfer.mjs ./theme --theme <id>(Ид:GET /content-blocks, ряды сgroup_type == "theme", тот Самый ранний из них – shop's default). проверять:GET /themes/<id>/siteответыbaseиscope_class; Корень страницы несет.vz-theme-{doc}. - Заголовок и footer.
transfer.mjs ./header --name "Header"— без--pageОн создает document и публикует релиз, ничего не Для того чтобы распечатать, на выходе document Тогда иди. html блокировать (kind:"html",props.html:{html_document_id, level:3}) → группаgroup_type:"chrome"сprops.widgets:[<block id>]→PUT /design/bindings/shop/0 {"slots":{"header":<G_h>,"footer":<G_f>}}(Один раздел:/category/<id>; один layout:/theme/<id>). Запрашивающие органы:vizen-chrome§2-3. Стикки header:vz-stickyна корневой узле; header's CSS — в layout папка или встроенный<style>, Не родственник<link>(уронить/cart). проверять:GET /v1/storefronts/resolve?slug=<shop>→chrome; Откройте домашнюю страницу, а product страница и/cart— Стиль на всех трех. - Страницы. Страница должна существовать как
type:"page"(GET /categories; создавать с помощьюPOST /categories {"item":{"name":"…","type":"page","is_published":true,"seo":{"slug":"…"}}}).transfer.mjs ./home --page <slug> --validate-only→ исправить отчет →transfer.mjs ./home --page <slug>. Rerun - это новый релиз и загрузка Изменены только файлы;--doc <id> --rollbackвозвращает предыдущий. Страница сохраняет крошки хлеба платформы и движется над вашим виджетом.; 1:1, выключите их{"page":{"hideSystemBlock":true}}на__page:topзона блокировки (/docs/transfer§4.5) Проверить: открытьurlтот командные принты — ничего из платформы над первым разделом. - Продукт и category шаблоны.
transfer.mjs ./product --name "Product template"→ html Блокировка группыgroup_type:"product"→PUT /design/bindings/category_children/<root category id> {"slots":{"body":<G>}}(Все поддеревья; один product:/product/<id>). А. category Шаблон является группаcategoryв слотеbody; Сохраняйте платформуproductListingвнутри него, когда нужны фильтры и пейджеры. Проверьте: два product страницы Покажите по одной карте, и цена будет равнаGET /products/{id}. - Обвязка данных. Меню →
vz-for="m in menu"; цена →{{ p.price_text }}; покупать →vz-add-to-cart="{{ p.id }}"; список пожеланий →vz-fav; формы →href="form:<id>"; внутренний links →/pathилиvz:page/<id>. Поставитьvz-forиvz-ifНа разных узлах. Проверяйте.:curlСтраница и груп a реальный product Название в сыром HTML; добавить item В тележку, смотрите на стойку. - Проверить и сообщить. Открыть напрямую URL и Клик с другой страницы; Скриншоты 1440 и 390; консоль без ошибок и без 404s
/_html/;/cartПокажи свой путь header;--doc <id> --listпоказывает Освобождение.: links, Оба скриншота, что было отскока, что было уронено и почему, команда отката никогда не печатайте токен.
4 Никогда — только то, что платформа отказывается или ломает
- Пути, которые покидают папку (
../x, absolute Пути к своим own files) —ref.outside/ref.missing;http://ресурсы —ref.http; сервер исполняемые файлы —file.forbidden;navigator.serviceWorker.register; секундочку.htmlв одном widget папка —page.extra(а multi-page site Сохраняется целое, а site папка, §1); more более 500 files, ан HTML file над 2 MB, а file более 50 MB, Выпуск более 60 MB; - а prod key для итераций; content существует только after а script бежит ( empty SPA - оболочка; цены или меню, набранные вручную, где shop Они есть у них.; init на
DOMContentLoadedОдиноко; скачать files Один за другим через склад API; level-1 Документы для передачи; - печатать токен;
git; писать на cart, checkout или account поток.
5. Ссылки
GET /docs/transfer— Договор, копия · пересдача · drop, Фреймворк, молча ignoredvizen-chrome— groups, связывание, system pages, stickyvizen-own-markup§2-3 иGET /docs/vz-keys.json— ключи и scope fieldsbackend-3D/tools/html-transfer/README.md— Каждый флаг;examples/— стартовый комплектvizen-troubleshoot— когда API сказал yes и site Не говори "нет"
Исходник: https://api.vizen.shop/docs/skill/vizen-transfer?full=1