2990
30.20
42.71
за сайт
- Проверено Modstore
- Бесплатные будущие обновления
- Работа на тестовом и публичном домене
- 12 месяцев тех. поддержки
Внимание, этот компонент требует версию PHP
7.2
или выше!
Если ваш сайт использует PHP ниже требуемого, установка этого
дополнения может его сломать.
Внимание, этот компонент требует версию MODX не ниже
2.7
!
Всем привет.
PageBlocks позволяет легко и быстро интегрировать верстку. Больше никаких дополнительных полей(tv). Добавляйте, удаляйте и перемещайте блоки в интерфейсе ресурса.

Разберем несколько блоков для примера:

Теперь давайте создадим такой блок в конструкторе блоков:


Здесь мы будем использовать дополнительную таблицу внутри блока:

В чанке выводим таблицу через параметр blocks(имя поля, которое мы задали в блоке):

Поэтому мы заполним блок только в одном месте — в базе готовых блоков.
1. Создаем структуру блока

2. Заполняем блок

3. Добавляем на страницы

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

1. Контексты. (например, Babel)
Используем тот же код, что и выше.
2. Без контекстов (например, localizator)
В системной настройке pageblocks_contexts добавляем необходимые языки, например English==web||Russian==ru. Где English — это название языка, web — имя контекста. В недалеком будущем будет автоматический перевод.

Выводим блоки:
Есть возможность экспортировать/импортировать блоки в формат csv. Очень удобно для копирования блоков с одной страницы в другую, а также для импорта большого кол-во однотипных блоков, но об этом узнаете чуть позже))
Версия 1.2.0 не совместима с предыдущими версиями. При обновлении все может поломаться.
PageBlocks позволяет легко и быстро интегрировать верстку. Больше никаких дополнительных полей(tv). Добавляйте, удаляйте и перемещайте блоки в интерфейсе ресурса.

Блоки контента
Разберем несколько блоков для примера:
1. Обычный блок
Блок имеет структуру: заголовок, описание, 2 кнопки и картинку.
Теперь давайте создадим такой блок в конструкторе блоков:

В чанке hero нам доступны след. переменные: title, desc, appstore, googleplay и img
2. Блок с повторяющими элементами.

Здесь мы будем использовать дополнительную таблицу внутри блока:

В чанке выводим таблицу через параметр blocks(имя поля, которое мы задали в блоке):
{foreach $blocks as $block}
<div class="card">
<div class="card-header">
<div class="icon {$block.icon}"></div>
<h2>{$block.title}</h2>
</div>
<div class="card-body">
{$block.desc}
</div>
</div>
{/foreach}
3. Готовые блоки.
Есть блок FAQ, который нужно вывести и на других страницах. Но, заполнять такие блоки на каждой странице было бы тупо.
Поэтому мы заполним блок только в одном месте — в базе готовых блоков.
1. Создаем структуру блока

2. Заполняем блок

3. Добавляем на страницы

Но, можно еще вывести этот блок вручную через идентификатор блока.
{'!pdoResources' | snippet: [
'frontend_css' => '',
'class' => 'pageBlock',
'loadModels' => 'pageBlocks',
'sortby' => 'rank',
'sortdir' => 'asc',
'limit' => 1,
'tpl' => 'tpl.PageBlocks',
'where' => [
'id' => 4, // faq block id
'active' => 1
],
]}
При обновлении базового блока, все соответствующие блоки будут обновлены автоматически, кроме тех блоков, у которых отмечена галочка «Уникальный блок». Доступность
Каждый блок можно сделать доступным только для конкретной страницы или шаблона.

Вывод блоков на странице
{'!pdoResources' | snippet: [
'frontend_css' => '',
'class' => 'pageBlock',
'loadModels' => 'pageBlocks',
'sortby' => 'rank',
'sortdir' => 'asc',
'limit' => 0,
'tpl' => 'tpl.PageBlocks',
'where' => [
'resource' => $_modx->resource.id,
'active' => 1
],
]}
Мультиязычность
1. Контексты. (например, Babel)
Используем тот же код, что и выше.
2. Без контекстов (например, localizator)
В системной настройке pageblocks_contexts добавляем необходимые языки, например English==web||Russian==ru. Где English — это название языка, web — имя контекста. В недалеком будущем будет автоматический перевод.

Выводим блоки:
{'!pdoResources' | snippet: [
'frontend_css' => '',
'class' => 'pageBlock',
'loadModels' => 'pageBlocks',
'sortby' => 'rank',
'sortdir' => 'asc',
'limit' => 0,
'tpl' => 'tpl.PageBlocks',
'where' => [
'resource' => $_modx->resource.id,
'context_key' => $_modx->config.localizator_key,
'active' => 1
],
]}
Экспорт / Импорт
Есть возможность экспортировать/импортировать блоки в формат csv. Очень удобно для копирования блоков с одной страницы в другую, а также для импорта большого кол-во однотипных блоков, но об этом узнаете чуть позже))

1.3.4-beta (05.02.2023)
Исправлено:
- пагинация
- обновление базовых блоков
1.3.3-beta (17.01.2023)
Исправлено:
- ошибка при копировании
1.3.2-beta (26.12.2022)
Исправлено:
- проблема с путями изображения
- проблема при обновлении таблицы
- перенесено меню в пункт "пакеты"
1.3.1-beta (02.08.2022)
- Исправление ошибок
1.3.0-beta4 (27.05.2022)
Исправлено:
- сортировка блоков
- путь для изображения
- название групп
1.3.0-beta3 (27.01.2022)
Исправлено:
- ошибки
1.3.0-beta2 (25.01.2022)
Исправлено:
- ошибка при сохранении блока
1.3.0-beta (23.01.2022)
Добавлено:
- История блоков
Изменено:
- длина текста в блоках
Исправлено:
- стили UI
1.2.0-beta5 (19.10.2021)
Исправлено:
- условие для формирования значений блока и таблицы
- превью для видео
- обновление чанка
- приоритет колеекции
- загрузка файлов в директорию
- сохранение столбцов в коллекции
- сниппет PageBlocks
Изменено
- путь загрузки файлов (assets/images/)
1.2.0-beta4 (08.10.2021)
Добавлено:
- пагинация для полей
- колонка id для коллекций
- синхронизация поля published
- параметры к сниппету PageBlocks
Исправлено:
- z-index для окон
- превью для видео
1.2.0-beta3 (07.10.2021)
Добавлено:
- параметр object_id к сниппету PageBlocks
1.2.0-beta2 (06.10.2021)
Добавлено:
- обновление чанка в блоке
- события:
- pbBeforeSaveImage
- pbAfterSaveImage
- pbBeforeRemoveImage
- pbAfterRemoveImage
- pbBeforeSaveBlock
- pbAfterSaveBlock
- pbBeforeRemoveBlock
- pbAfterRemoveBlock
Исправлено:
- ошибки
1.2.0-beta (01.10.2021)
Добавлено:
- вложенность таблиц
- сниппет PageBlocks
- управление чанками в конструкторе блоков
- синхронизация чанка при обновлении блока
- копирование блоков из ресурса
- копирование блока по id
- валидация при загрузки изображения
- заголовок и описание для картинок галереи
- переход к ресурсу в коллекции
- синхронизация полей блока при сохранении ресурса
- системные настройки:
- pageblocks_source_path (для загрузки файлов в указанную директорию)
- pageblocks_remove_image (удаление картинок из файлового источника)
- pageblocks_create_chunk (создание чанка)
- pageblocks_remove_chunk (удаление чанка)
- pageblocks_youtube_api_key (ключ Youtube API)
- pageblocks_vimeo_api_key (ключ Vimeo API)
- pageblocks_hide_template (отключение PageBlocks у шаблонов)
- pageblocks_tab_index (позиция вкладки PageBlocks)
- описание для полей
- значение полей в сетку блока
- рендер для поле ресурс
- валидация название чанка
- валидация для названия ключа поля
- позиция вкладки для коллекций
- новые поля:
- Список Да/Нет
- ACE
- Видео
- Видео галерея
- Логический флажок
Исправлено:
- ошибка с копированием коллекции
- ошибка значение по умолчанию для радиокнопок
- интеграция табов на страницу ресурса
- рендер для полей
- фильтрация полей при группировки
- сортировка полей
- сортировка галереи
- импорт/экспорт
Изменено:
- выбор источника и путь загрузки для полей с типом 'Изображение/Галерея/Файл'
- лексикон для combo поля
1.1.0-beta3 (12.07.2021)
- Исправлена ошибка с cultureKey
1.1.0-beta2 (09.07.2021)
- Обновлены поля: изображение, файл
- Новый тип поля: галерея, комбо
- Добавлен источник файлов для блока
- Добавлена коллекция блоков
- Рефакторинг кода и таблицы базы данных
1.0.1-pl (05.06.2021)
- Поддержка CKEditor
1.0.0-pl (28.05.2021)
- Первый релиз
Последние обсуждения в сообществе MODX.pro