Render metoda – Undefined variable
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- mi85
- Člen | 41
Čau snažím se vypsat data z admineru ale laděnka mi vypisuje:
Undefined variable: apicomments
Source file
File: ...\latte\templates-Api-comments.latte--bb9ab6a762.php:16
6: class Templatebb9ab6a762 extends Latte\Runtime\Template
7: {
8:
9: function main()
10: {
11: extract($this->params);
12: ?>
13: <h1>API</h1>
14: <?php
15: $iterations = 0;
16: foreach ($apicomments as $apicomment) {
17: ?> <p>#<?php echo LR\Filters::escapeHtmlText($comment->id) /* line 4 */ ?> <b><?php echo LR\Filters::escapeHtmlText($comment->name) /* line 4 */ ?></b> napsal:</p>
18: <?php echo LR\Filters::escapeHtmlText($comment->content) /* line 5 */ ?>
19:
20: <?php
Presenter
public function renderApicomments()
{
$this->template->apicomments = $this->database->table('comments')->order('created_at');
}
a latte ve kterém chci data/komentáře vypsat
{foreach $apicomments as $apicomment}
<p>#{$comment->id} <b>{$comment->name}</b> napsal:</p>
{$comment->content}
{/foreach}\--
V čem je chyba ? Děkuji :-)
- mi85
- Člen | 41
did you mean $comment mi tracy nevypisuje.Dělal jsem blog podle quickstartu a tam je v také render metoda
public function renderShow($postId)
{
//\Tracy\Debugger::dump($this->getUser()->getIdentity()->getId()['name']);
$post = $this->database->table('posts')->get($postId);
if (!$post) {
$this->error('Stránka nebyla nalezena');
}
$this->template->post = $post;
$this->template->comments = $post->related('comment')->order('created_at');
}
ale když se ji snažím vypsat v nové šabloně tak mi tracy vrací Undefined variable: comments ikdyž se mi již v jiném .latte vypisuje bez problému
{foreach $comments as $comment}
<div class="panel panel-default">
<p>#{$comment->id} <b>{$comment->name}</b> napsal:</p>
<div class="jumbotron">{$comment->content}</div>
</div>
{/foreach}
Editoval mi85 (11. 10. 2016 18:36)
- David Matějka
- Moderator | 6445
dle nazvu te sablony se ma ta render metoda jmeno renderComments. a pak budes muset opravit to, co pise @Lexi