many_to_many
Подскажите новичку, не могу вывести блоки а определенных страницах.
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; ?>
Давайте постепенно все разберем.
У вас во 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;