Локальная синхронизация JSON | Field Forge - Произвольные поля, созданные для скорости
Скачать Войти

Локальная синхронизация JSON

Локальная синхронизация JSON сохраняет определения ваших групп полей в виде файлов JSON внутри папки вашей темы. Эта функция существует в первую очередь для рабочих процессов разработки, где разработчик использует систему контроля версий (например, Git) для управления изменениями кода и развертывания их в разных средах (локальный компьютер, сервер предварительного просмотра, сервер производства). Для большинства менеджеров контента эта функция работает в фоновом режиме и не требует никаких действий, кроме как время от времени нажимать кнопку «Синхронизировать».

Не путайте это с папкой локального JSON ACF. Field Forge по умолчанию записывает свои собственные файлы в fieldforge-json/. Во время миграции из ACF Field Forge также может читать файлы acf-json/group_*.json ACF в качестве источника, когда записи групп полей ACF в базе данных отсутствуют.

В этом разделе объясняется, что делает синхронизация JSON, почему она существует, когда вы можете с ней столкнуться и что делать, когда вы видите уведомления о синхронизации в админке.

Почему существует локальная синхронизация JSON

Когда разработчик создает сайт, он обычно создает группы полей на своем локальном компьютере. Без синхронизации JSON определения групп полей хранятся только в базе данных. Чтобы перенести их на сервер предварительного просмотра или на сервер производства, разработчику придется вручную экспортировать и импортировать файлы JSON каждый раз, когда он вносит изменения. Синхронизация JSON автоматизирует этот процесс, записывая определения групп полей в файлы внутри папки темы. Эти файлы перемещаются вместе с кодом темы через систему контроля версий, и когда код развертывается, Field Forge обнаруживает новые или измененные файлы и применяет их.

Этот рабочий процесс невидим для менеджеров контента — поля просто появляются или обновляются по мере того, как разработчик вносит изменения.

Как это работает за кулисами

  1. Когда синхронизация JSON включена, каждый раз, когда группа полей сохраняется в админке, Field Forge записывает файл JSON в fieldforge-json/ внутри активной темы (имя папки по умолчанию; переопределяется через фильтр fieldforge/local_json/save_path)
  2. Файл JSON содержит полное определение группы полей: поля, типы, настройки, макет, правила расположения, условную логику и порядок
  3. Разработчик включает эти файлы в свой репозиторий системы контроля версий (Git, SVN и т.д.)
  4. Когда обновленные файлы развертываются на сервере, Field Forge обнаруживает, что файлы JSON новее, чем версии в базе данных
  5. В админке появляется уведомление о синхронизации, предлагающее вам применить обновления

Что нужно знать менеджерам контента

Большую часть времени синхронизация JSON работает незаметно. Вот две ситуации, когда вам может понадобиться предпринять действия:

Ситуация 1: Вы видите уведомление «группы полей не синхронизированы»
  1. Перейдите в Field Forge > Группы полей
  2. Вы увидите баннер или значок, указывающий на то, что одна или несколько групп полей не синхронизированы с их файлами JSON
  3. Нажмите кнопку Синхронизировать
  4. Field Forge обновляет группы полей в базе данных, чтобы они соответствовали файлам JSON
  5. Уведомление исчезает
  6. Это означает, что ваш разработчик внес изменения — обновленные поля теперь отражают его работу
Ситуация 2: Вы вносите изменения в админке и задаетесь вопросом, будут ли они перезаписаны

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

СценарийЧто происходит
Только разработчик изменил файл JSONСинхронизация применяет их изменения чисто, когда вы нажимаете Синхронизировать
Только вы изменили группу полей в админкеВаши изменения активны. Файл JSON был обновлен с вашими изменениями. Если разработчик загрузит ваш обновленный файл JSON, он увидит ваши изменения.
И вы, и разработчик изменили одну и ту же группу полейField Forge обнаруживает конфликт и показывает предупреждение. Вы выбираете, какую версию оставить.

Включение или отключение синхронизации JSON

  1. Перейдите в Field Forge > Настройки
  2. Найдите переключатель Локальная синхронизация JSON
  3. Включите или отключите его
  4. Путь сохранения — fieldforge-json/ внутри папки активной темы. Для этого нет управления в интерфейсе — ваш разработчик может переопределить путь через фильтр fieldforge/local_json/save_path, если ему нужно другое местоположение.
  5. Сохраните настройки

Ключевые детали о файлах JSON

  • Файлы JSON — это простой текст, содержащий только структуру группы полей — они не содержат никакого контента постов, данных редактора, информации о пользователях или медиафайлов
  • Сохранение группы полей с включенной синхронизацией немедленно записывает соответствующий файл JSON
  • Удаление группы полей также удаляет ее файл JSON
  • Путь к папке синхронизации может быть настроен вашим разработчиком, если он использует нестандартную структуру папок
  • Синхронизация JSON работает с любой системой контроля версий (Git, SVN, Mercurial и т.д.)
  • Если вы смените тему, файлы JSON в папке старой темы больше не будут обнаруживаться. Вашему разработчику может понадобиться переместить или скопировать их.

Советы по коммуникации для команд, использующих синхронизацию JSON

Если вы тесно работаете с разработчиком, который использует синхронизацию JSON:

  • Общайтесь перед редактированием групп полей в админке. Если разработчик также работает над изменениями групп полей в своем коде, одновременные редактирования создают конфликты.
  • Сообщите разработчику, когда вы добавляете или удаляете поля. Ему может понадобиться обновить шаблоны темы, чтобы отобразить новые поля или удалить ссылки на удаленные.
  • Когда вы видите уведомление о синхронизации, нажмите Синхронизировать незамедлительно. Задержка с синхронизацией означает, что ваша база данных содержит устаревшие определения полей, в то время как файлы JSON имеют последнюю версию. Это может вызвать путаницу, если вы редактируете группу полей в это время.

> Полезно знать: Если вы менеджер контента, который никогда не работает с файлами темы или системой контроля версий, вы можете полностью игнорировать эту функцию. Она работает в фоновом режиме, если ваш разработчик включил ее. Единственное время, когда вам нужно что-то сделать, это когда появляется уведомление о синхронизации — просто нажмите кнопку Синхронизировать, и вы закончите.

> Совет: Если вы случайно внесли изменения в группу полей и хотите версию разработчика, используйте функцию синхронизации, чтобы перезаписать ваши изменения версией файла JSON. Напротив, если вы хотите, чтобы ваши изменения остались, сохраните группу полей в админке — файл JSON обновится, чтобы соответствовать вашей версии.

ИИ-ассистент Forge Онлайн

Привет! Я ИИ-ассистент Field Forge. Спрашивайте меня о чём угодно по плагину — настройка, возможности, устранение неполадок или разработка.

Только что
На базе Forge AI · Просмотр документации