Настройка полей и шаблонов ProcessWire

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

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

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

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

Предлагаемые услуги
Показано 1 из 1 услугВсе 2065 услуг
Настройка полей и шаблонов ProcessWire
Простая
от 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

Настройка полей и шаблонов ProcessWire

Поля и шаблоны — фундамент любого проекта на ProcessWire. Поле определяет тип и способ хранения данных; шаблон — это набор полей плюс связанный PHP-файл рендеринга. Правильно спроектированная структура полей экономит десятки часов при дальнейшей разработке.

Создание полей

Поля создаются в разделе Setup → Fields → Add New. Обязательно указывать:

  • Name — машинное имя (латиница, _), используется в коде как $page->field_name
  • Type — тип данных
  • Label — отображается в редакторе

Часто используемые типы полей:

Тип Хранение Применение
FieldtypeText VARCHAR Краткие строки, заголовки
FieldtypeTextarea TEXT Длинный текст без HTML
FieldtypeTextareaLanguage TEXT (per lang) Многоязычный текст
FieldtypeImage отдельная таблица Изображения с метаданными
FieldtypeFile отдельная таблица Документы, PDF
FieldtypePage INT / таблица Связи между страницами
FieldtypeRepeater дочерние страницы Повторяемые группы полей
FieldtypeOptions INT Выпадающий список
FieldtypeCheckbox INT(1) Булево значение
FieldtypeInteger INT Числа
FieldtypeFloat FLOAT Дробные числа, цены
FieldtypeURL VARCHAR Ссылки
FieldtypeDatetime INT (UNIX timestamp) Дата и время

Настройка FieldtypePage (связи)

При создании поля типа Page обязательно настроить:

  • Derefence asPage (одна страница) или PageArray (несколько)
  • Parent — ограничить выбор дочерними страницами конкретного родителя
  • Template filter — показывать только страницы с указанным шаблоном
// В коде: одиночная связь
echo $page->category->title;

// Множественная связь
foreach ($page->tags as $tag) {
    echo "<span class='tag'>{$tag->title}</span>";
}

Создание шаблонов

Шаблон создаётся в Setup → Templates → Add New. Процесс:

  1. Создать PHP-файл в /site/templates/my-template.php
  2. Перейти в Templates → Add New — ProcessWire найдёт файл автоматически
  3. Добавить нужные поля на вкладке Fields
  4. Настроить Access (права доступа к шаблону)
  5. Настроить URLs (разрешить/запретить дочерние страницы, суффикс URL)

Вкладка Advanced шаблона

Важные параметры вкладки Advanced:

  • Page class — кастомный класс PHP для страниц этого шаблона
  • Prepend/Append file — подключать _init.php и _main.php
  • Cache time — кэшировать вывод шаблона N секунд
  • Allow page numbers — разрешить /page2, /page3 в URL (нужно для пагинации)

Fieldset и группировка полей

Fieldset (FieldtypeFieldsetOpen / FieldtypeFieldsetClose) группирует поля визуально в редакторе без влияния на хранение:

Порядок добавления полей в шаблон:

  1. fieldset_seo_open — FieldtypeFieldsetOpen, label="SEO"
  2. meta_title — FieldtypeText
  3. meta_description — FieldtypeTextarea
  4. fieldset_seo_close — FieldtypeFieldsetClose

В редакторе страницы эти поля будут свёрнуты в блок «SEO».

Repeater: повторяемые группы

Поле типа Repeater содержит несколько дочерних полей, которые редактор может добавлять/удалять:

// Поле features (Repeater с полями: icon, headline, text)
foreach ($page->features as $feature) {
    echo "<div class='feature-card'>";
    echo "  <img src='{$feature->icon->url}' alt=''>";
    echo "  <h3>{$feature->headline}</h3>";
    echo "  <p>{$feature->text}</p>";
    echo "</div>";
}

RepeaterMatrix (платный модуль ProFields) позволяет иметь несколько типов блоков в одном поле — аналог Flexible Content в ACF.

Экспорт и импорт конфигурации

Конфигурацию полей и шаблонов можно экспортировать через Setup → Export/Import или модуль DatabaseBackups. Для переноса между окружениями используют JSON-экспорт шаблонов:

# Резервная копия структуры (не данных)
# Через модуль RockMigrations или вручную через API:
php -r "
  require '/var/www/site/index.php';
  echo \$templates->get('product')->exportJSON();
" > product-template.json

Модуль RockMigrations позволяет описывать структуру полей и шаблонов в PHP-коде и применять изменения воспроизводимо — аналог миграций в Laravel.