Как вывести из модели на страницу, какой дописать код для вывода?
Здравствуйте. Есть блоки которые выводятся на любой заданной странице.
в базе 2 таблице pages и blocks при выборе из админки на какой странице выводить блок вноситься запись в pages_blocks где только id блока и странице.
Код модели many_to_many
public function getRelatedBlocks($page_id) { //Выбираем id всех блоков, относящихся к данной странице $blocks_ids = $this -> selectColumn(array("fields->" => "blocks_id", "pages_id" => $page_id, "table->" => "pages_blocks")); //Если это не предусмотреть в оператор "id->in" пойдет пустая строка и возникнет SQL ошибка if(!count($blocks_ids)) return; $html = ""; //Извлекаем содержимое активных блоков $rows = $this -> select(array("id->in" => implode(",", $blocks_ids), "active" => 1)); foreach($rows as $row) { $html .= "<h3>".$row["name"]."</h3>"; $html .= "<div>".$row["content"]."</div>"; } return $html; } |
public function getRelatedBlocks($page_id) { //Выбираем id всех блоков, относящихся к данной странице $blocks_ids = $this -> selectColumn(array("fields->" => "blocks_id", "pages_id" => $page_id, "table->" => "pages_blocks")); //Если это не предусмотреть в оператор "id->in" пойдет пустая строка и возникнет SQL ошибка if(!count($blocks_ids)) return; $html = ""; //Извлекаем содержимое активных блоков $rows = $this -> select(array("id->in" => implode(",", $blocks_ids), "active" => 1)); foreach($rows as $row) { $html .= "<h3>".$row["name"]."</h3>"; $html .= "<div>".$row["content"]."</div>"; } return $html; }
-----------------------------------------------
пример вывод данных в шаблон странице из простой модели
$content = $mv -> pages -> defineCurrentPage($mv -> router); echo $content -> name; echo $content -> title; echo $content -> content; |
$content = $mv -> pages -> defineCurrentPage($mv -> router); echo $content -> name; echo $content -> title; echo $content -> content;
есть объект $content с данными текущей страницы. В нем есть $content -> id это id данной страницы из таблицы pages.
В таблице pages_blocks стоят строки со связями страниц и блоков по их id. Надо извлечь оттуда все строки у которых pages_id = $content -> id. И далее из этих строк взять blocks_id которые и будут являться блоками для страницы.
Дополнительно:
Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.
Пока нет других ответов. Будьте первым, кто поможет автору.
Ответить на вопрос
Для того чтобы вывести данные из модели на страницу в PHP, вам необходимо сначала подключить файл модели, затем вызвать методы модели для получения данных и наконец вывести их на страницу.
Вот пример кода, который поможет вам решить эту задачу:
```php
// Подключаем файл модели include 'модель.php'; // Создаем объект модели $model = new Model(); // Вызываем метод модели для получения данных $data = $model->getData(); // Выводим данные на страницу foreach ($data as $row) { echo $row['column_name'] . '<br>'; }
```
В данном примере мы подключаем файл модели, создаем объект модели, вызываем метод `getData()` для получения данных и затем выводим их на страницу. Пожалуйста, замените `модель.php` на путь к вашему файлу модели и `column_name` на название столбца, который вы хотите вывести.
Надеюсь, этот ответ поможет вам решить вашу проблему! Если у вас возникнут дополнительные вопросы, не стесняйтесь задавать их.