Я новичок в Zend Framework и хотел бы получить совет о том, как лучше всего обработать данные базы данных для создания списка ссылок. Насколько я понимаю, модель должна содержать большую часть логики приложения с максимально легкими контроллерами и представлениями.
Я запрашиваю базу данных, чтобы получить набор записей, и я хочу перебрать их и создать HTML-ссылки. Псевдокод ниже.
КОНТРОЛЕР:
$this->view->myList = MODEL->generateHtml();
МОДЕЛЬ:
function generateHtml() {
query db
loop through record set
build a string of html within loop including links
return string to controller
}
ВИД:
echo $this->myList;
Это, кажется, помещает логику в модель и оставляет свет контроллера и вид только для рендеринга.
У меня есть одна проблема: я хочу использовать $this->view->url
для создания ссылок маршрутизации в html, который я вывожу, но не могу сделать это в модели. Чтение, которое я прочитал в Интернете, предполагает, что вы не должны создавать html в модели. Я могу сгенерировать массив необходимых данных в модели и вернуть его, а затем прокрутить его либо в контроллере, либо в представлении, чтобы сгенерировать html, но я не уверен в правильности подхода и был бы признателен за некоторые советы.
Спасибо за любую оказанную помощь.
НОВАЯ ПРОБЛЕМА - ОБНОВЛЕННЫЙ КОД:
Привет еще раз .... Усталое предложение ниже, но теперь у меня другая проблема.
Мой код сейчас:
МОДЕЛЬ:
не используется для этого теста. вернет массив, аналогичный массиву, созданному в контроллере.
КОНТРОЛЛЕР:
$aStoryList = array(
array(
'headline' => 'Headline 1',
'story' => 'Story 1'
),
array(
'headline' => 'Headline 2',
'story' => 'Story 2'
)
);
$this->view->aStoryList = $aStoryList;
ПОСМОТРЕТЬ:
echo $this->partialLoop('partials/storyList.phtml', $this->aStoryList);
список историй.phtml:
echo "<br />" . $this->headline . $this->story;
Я разместил частичное таким образом ....
просмотры/частичные/storyList.phtml
Это размещение и путь, используемые в представлении, получены из ответа на этот вопрос stackoverflow — Где сохранить частичные представления (представления) в Zend Framework, чтобы они были доступны для всех представлений в моем приложении?
Когда я запускаю это, я получаю следующую ошибку
Сообщение: сценарий 'partials/storyList.phtml' не найден в пути (/home/sites/xxxxx.com/public_html/xxxxxx/application/views/scripts/)
Вырви мне волосы сейчас же!