Как создать динамические ссылки из базы данных в Zend Framework? - PullRequest
0 голосов
/ 06 февраля 2009

В основном я немного застрял,

Я следил за быстрым стартом на сайте Zend и хочу сделать динамическую навигацию к фреймворку, у меня есть layout.phtml с $this->render('navigation.phtml);, в котором есть статические ссылки, но я хотите, чтобы их извлекали из таблицы базы данных, если бы кто-нибудь на простом английском языке не мог бы geekcaneeze объяснить правильный способ сделать это, IE страницу за страницей с простым пошаговым руководством о том, что делает каждая страница, поскольку я не PHP FREAK или Мастер Zend Framework, но, как веб-дизайнер, который хочет продвинуться в мир разработки фреймворков, я понимаю концепцию его использования.

Я уверен, что это вылечит много головных болей для многих новичков. Другими словами, после прочтения референсной работы Zend я все еще не знаю, о чем они говорят.

У меня все работает, хотя Xampp и файловая структура соответствуют

application/ 
config/
controllers/
layout/script/
models/
views/script/index/
views/script/error/
library/ 
public/ 

С уважением

Mal

Ответы [ 2 ]

2 голосов
/ 07 февраля 2009

Предполагая, что вы настроили класс для своей таблицы базы данных ( ZF - Создайте таблицу моделей и базы данных ), вы должны иметь возможность сделать что-то подобное в вашем файле navigation.phtml:

<?php
$table = new Links_Table();
$links = $table->fetchAll();
?>

<? foreach ($links as $link) { ?>
   <a href="<?= $link->url ?>"><?= $link->title ?></a>
<? ?>

Если вы создаете внутренние ссылки на сайт, вы также можете установить некоторые правила перезаписи маршрутизатора ( ZF - Стандартный маршрутизатор ).

2 голосов
/ 06 февраля 2009

Вытащите их в контроллере, передайте их (например, в виде массива) в представление:

$this->view->yourListOfLinks = getListOfLinksFromDB();

В примере (.phtml) выведите их, используя foreach:

foreach($this->yourListOfLinks as $link) {
   echo "<a href=\"$link\">$link</a>";
  }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...