MV framework logo
  • Архитектура
  • Философия
  • Админ панель
  • Поддержка
  • Обратная связь
Документация
Скачать .zip версия 3.2.0 от 25.12.2024
  • Архитектура
  • Философия
  • Админ панель
  • Поддержка
  • Обратная связь
Начало работы
  • Установка и запуск
  • Структура папок
  • Запуск простого сайта
  • Предустановленные модели
  • SQLite начало работы
  • Системные настройки
  • Миграции
  • Отладка
Модели
  • Общие принципы моделей
  • Типы данных
  • Настройка модели
  • Простые модели
  • Внешние ключи
  • Деревья
  • Многие ко многим
  • Группа
  • Управление записями
  • Управление простыми моделями
  • Дополнительные возможности
Шаблоны и маршрутизация
  • Общие принципы шаблонов
  • Объект класса Router
  • Объект MV
  • Создание нового шаблона
  • Вывод данных в шаблоне
  • Объект класса Record
  • Файлы и изображения
  • Дата и время
  • Редиректы и Http
  • Отправка email
  • Специальные методы
Формы
  • Создание форм
  • Настройка полей формы
  • Валидация полей формы
  • Безопасность форм
  • Работа с данными формы
  • Использование данных из моделей
  • Методы форм
SQL запросы
  • Конструктор запросов
  • Прямые запросы
  • Постраничная разбивка
  • Сортировка
  • Фильтрация
Дополнительно
  • AJAX
  • Плагины
  • Кэширование
  • Безопасность
  • Дополнения к административной панели
Документация
Начало работы
  • Установка и запуск
  • Структура папок
  • Запуск простого сайта
  • Предустановленные модели
  • SQLite начало работы
  • Системные настройки
  • Миграции
  • Отладка
Модели
  • Общие принципы моделей
  • Типы данных
  • Настройка модели
  • Простые модели
  • Внешние ключи
  • Деревья
  • Многие ко многим
  • Группа
  • Управление записями
  • Управление простыми моделями
  • Дополнительные возможности
Шаблоны и маршрутизация
  • Общие принципы шаблонов
  • Объект класса Router
  • Объект MV
  • Создание нового шаблона
  • Вывод данных в шаблоне
  • Объект класса Record
  • Файлы и изображения
  • Дата и время
  • Редиректы и Http
  • Отправка email
  • Специальные методы
Формы
  • Создание форм
  • Настройка полей формы
  • Валидация полей формы
  • Безопасность форм
  • Работа с данными формы
  • Использование данных из моделей
  • Методы форм
SQL запросы
  • Конструктор запросов
  • Прямые запросы
  • Постраничная разбивка
  • Сортировка
  • Фильтрация
Дополнительно
  • AJAX
  • Плагины
  • Кэширование
  • Безопасность
  • Дополнения к административной панели
MV tracker

many_to_many

Ответов: 1
Антон
05.11.2021 05:13

Подскажите новичку, не могу вывести блоки а определенных страницах.

1 Связал также как указанно https://mv-framework.ru/mnogie-ko-mnogim/

2 в модели blocks.model.php прописал код,

3 в админки отображается, так же при добавлении нескольких блоков и указания страниц запись идет в pages_blocks.

4 самое интересное, отображается на всех страницах хотя указал несколько в админ панели и только блок с phpmyadmin отображается на сайте, в админки «раздел блоки» > «Страницы меню» все 1 показывают и код который идет после getRelatedBlocks($page_id) https://mv-framework.ru/mnogie-ko-mnogim/ если удалить то не на что не влияет
подскажите

// вывод кода в view-default.php
<?
$pages_blocks = $mv -> blocks -> findRecord(array("active" => 1));
echo $pages_blocks -> content;
 ?>
Прочтений: 1159
Ответов: 1
Maxim
08.11.2021 11:19

Давайте постепенно все разберем.

У вас во view-default.php есть объект $content с данными текущей страницы. В нем есть $content -> id это id данной страницы из таблицы pages.
В таблице pages_blocks у вас стоят строки со связями страниц и блоков по их id. Вам надо извлечь оттуда все строки у которых pages_id = $content -> id. И далее из этих строк взять blocks_id которые и будут являться блоками для вашей текущей страницы.

И далее уже извлечь содержимое блоков по их id. Именно это происходит по шагам в методе getRelatedBlocks($page_id) тут https://mv-framework.ru/mnogie-ko-mnogim/ при этом в $page_id надо передать $content -> id

// а этот код просто берет первый активный блок без привязки к страницам

$pages_blocks = $mv -> blocks -> findRecord(array("active" => 1));
echo $pages_blocks -> content;
Ответить на вопрос
Ответить
MV tracker

© 2014-2025, MV framework team

English MV tracker project Github

Поделиться