Настройка Sanity Studio

Наша компания занимается разработкой, поддержкой и обслуживанием сайтов любой сложности. От простых одностраничных сайтов до масштабных кластерных систем построенных на микро сервисах. Опыт разработчиков подтвержден сертификатами от вендоров.

Разработка и обслуживание любых видов сайтов:

Информационные сайты или веб-приложения
Сайты визитки, landing page, корпоративные сайты, онлайн каталоги, квиз, промо-сайты, блоги, новостные ресурсы, информационные порталы, форумы, агрегаторы
Сайты или веб-приложения электронной коммерции
Интернет-магазины, B2B-порталы, маркетплейсы, онлайн-обменники, кэшбэк-сайты, биржи, дропшиппинг-платформы, парсеры товаров
Веб-приложения для управления бизнес-процессами
CRM-системы, ERP-системы, корпоративные порталы, системы управления производством, парсеры информации
Сайты или веб-приложения электронных услуг
Доски объявлений, онлайн-школы, онлайн-кинотеатры, конструкторы сайтов, порталы предоставления электронных услуг, видеохостинги, тематические порталы

Это лишь некоторые из технических типов сайтов, с которыми мы работаем, и каждый из них может иметь свои специфические особенности и функциональность, а также быть адаптированным под конкретные потребности и цели клиента

Предлагаемые услуги
Показано 1 из 1 услугВсе 2065 услуг
Настройка Sanity Studio
Простая
от 1 рабочего дня до 3 рабочих дней
Часто задаваемые вопросы

Наши компетенции:

Этапы разработки
Последние работы
  • image_website-b2b-advance_0.png
    Разработка сайта компании B2B ADVANCE
    1262
  • image_web-applications_feedme_466_0.webp
    Разработка веб-приложения для компании FEEDME
    1171
  • image_websites_belfingroup_462_0.webp
    Разработка веб-сайта для компании БЕЛФИНГРУПП
    874
  • image_ecommerce_furnoro_435_0.webp
    Разработка интернет магазина для компании FURNORO
    1094
  • image_crm_enviok_479_0.webp
    Разработка веб-приложения для компании Enviok
    831
  • image_bitrix-bitrix-24-1c_fixper_448_0.png
    Разработка веб-сайта для компании ФИКСПЕР
    851

Настройка Sanity Studio

Sanity Studio — React SPA с редактором контента. Конфигурируется в sanity.config.ts. Можно деплоить отдельно (sanity deploy) или embed в Next.js App Router.

Установка

npm create sanity@latest
# или добавить в существующий Next.js проект
npm install sanity @sanity/vision

Embedded Studio в Next.js

npm install next-sanity
// app/studio/[[...tool]]/page.tsx
'use client'
import { NextStudio } from 'next-sanity/studio'
import config from '@/sanity.config'

export default function StudioPage() {
  return <NextStudio config={config} />
}
// sanity.config.ts
import { defineConfig } from 'sanity'
import { structureTool } from 'sanity/structure'
import { visionTool } from '@sanity/vision'
import { schema } from './sanity/schema'

export default defineConfig({
  basePath: '/studio',
  projectId: process.env.NEXT_PUBLIC_SANITY_PROJECT_ID!,
  dataset: process.env.NEXT_PUBLIC_SANITY_DATASET || 'production',
  plugins: [
    structureTool(),
    visionTool({ defaultApiVersion: '2024-01-01' }),
  ],
  schema,
})

Кастомная структура навигации

import { structureTool } from 'sanity/structure'

structureTool({
  structure: (S) =>
    S.list()
      .title('Контент')
      .items([
        S.listItem()
          .title('Статьи')
          .icon(() => '📝')
          .child(
            S.documentTypeList('post')
              .title('Все статьи')
              .filter('_type == "post"')
              .defaultOrdering([{ field: 'publishedAt', direction: 'desc' }])
          ),
        S.divider(),
        // Singleton — единственная запись
        S.listItem()
          .title('Настройки сайта')
          .id('siteSettings')
          .child(
            S.document()
              .documentId('siteSettings')
              .schemaType('siteSettings')
              .title('Настройки')
          ),
      ]),
})

Деплой Studio

# Деплой на sanity.io (бесплатно)
npx sanity deploy
# Studio: https://your-project.sanity.studio

# или через Vercel — деплоить как часть Next.js приложения

Переменные окружения

NEXT_PUBLIC_SANITY_PROJECT_ID=abc123
NEXT_PUBLIC_SANITY_DATASET=production
SANITY_API_TOKEN=skTokenXxx...   # только для серверных запросов (черновики)
SANITY_WEBHOOK_SECRET=webhook-secret

Сроки

Настройка Sanity Studio с embed в Next.js и базовой навигацией — 0,5–1 день.