Undefined variable v šablóne
- miro_r
- Člen | 22
Zdravím,
v Presenteri som použil Database na definovanie nejakých tabuliek, ktoré využívam v šablóne. Pri jednej premennej v šablóne „subjekty“ vyhadzuje stále chybu „undefined variable“, pričom je v presenteri definovaná presne rovnako ako ostatné dve, ktoré sú v šablóne OK. Nedáva to zmysel, dve sú, tretia nie. Už som vymazal aj ->where a –>order či náhodou to nie ale nič nepomáha. Čím by to mohlo byť ?
<?php
declare(strict_types=1);
namespace App\Presenters;
use Nette;
final class SubjektPresenter extends Nette\Application\UI\Presenter
{
private Nette\Database\Explorer $database;
public function __construct(Nette\Database\Explorer $database)
{
$this->database = $database;
}
public function renderShow(int $ids): void
{
$this->template->subjekt = $this->database->table('dsubjekt')->get($ids);
$prdph = $this->database->table('dph_priz')->where('ds',$ids);
$prdph->order('CONCAT(SUBSTRING(OBDOBIE,3,2),SUBSTRING(OBDOBIE,1,2))');
$this->template->prdph = $prdph;
$this->template->subjekty = $this->database->table('dan_vsetci');
$this->template->prdan = $this->database->table('dan_po')->where('ds',$ids)->order('obd_od');
}
}
Editoval miro_r (11. 5. 2021 21:51)
- miro_r
- Člen | 22
šablona vypadá takto:
{block title}
Subjekt
{/block}
{block content}
{foreach $subjekty as $jeden}
<tr>
<td>{$jeden->ds}</td>
<td>{$jeden->druh}</td>
</tr>
{/foreach}
<div>{$subjekt->ref('nazov','nazov')->nazov}</div>
<div>{$subjekt->ref('ulica','ulica')->ulica}</div>
<div>{$subjekt->ref('mesto','mesto')->mesto}</div>
<div>{$subjekt->ref('psc','psc')->psc}</div>
<div>{$subjekt->ref('cislo','cislo')->cislo}</div>
<div>{$subjekt->ref('stat','stat')->stat}</div>
<div>{$subjekt->dic} {$subjekt->icdph}</div>
<div>číslo subjektu {$subjekt}</div>
Zoznam dph
<table>
{foreach $prdph as $priznanie}
<tr>
<td>{$priznanie->obdobie}</td>
<td>{$priznanie->dan}</td>
<td>{$priznanie->aktualizacia}</td>
</tr>
{/foreach}
</table>
Zoznam dane
<div id="chart_div"></div>
<table>
{foreach $prdan as $dp}
<tr>
<td>{$dp->obd_od}</td>
<td>{$dp->obd_do}</td>
<td>{$dp->dan}</td>
<td>{$dp->ddan}</td>
<td>{$dp->strata}</td>
<td>{$dp->aktualizacia}</td>
</tr>
{/foreach}
</table>
{$prdan->count('*')}
{/block}
hláška: Undefined variable $subjekty, did you mean $subjekt?
a zvýraznený riadok : 8: {foreach $subjekty as $jeden}
resp.: 58: foreach ($subjekty as $jeden) /* line 8 */ {
- Kamil Valenta
- Člen | 752
Tohle Tě udělá co?
public function renderShow(int $ids): void
{
dump('JSEM SKUTECNE ZDE');
//$this->template->subjekt = $this->database->table('dsubjekt')->get($ids);
//$prdph = $this->database->table('dph_priz')->where('ds',$ids);
//$prdph->order('CONCAT(SUBSTRING(OBDOBIE,3,2),SUBSTRING(OBDOBIE,1,2))');
//$this->template->prdph = $prdph;
$this->template->subjekty = $this->database->table('dan_vsetci');
//$this->template->prdan = $this->database->table('dan_po')->where('ds',$ids)->order('obd_od');
}
{block title}
Subjekt
{/block}
{block content}
{foreach $subjekty as $jeden}
<tr>
<td>{$jeden->ds}</td>
<td>{$jeden->druh}</td>
</tr>
{/foreach}
{*
<div>{$subjekt->ref('nazov','nazov')->nazov}</div>
<div>{$subjekt->ref('ulica','ulica')->ulica}</div>
<div>{$subjekt->ref('mesto','mesto')->mesto}</div>
<div>{$subjekt->ref('psc','psc')->psc}</div>
<div>{$subjekt->ref('cislo','cislo')->cislo}</div>
<div>{$subjekt->ref('stat','stat')->stat}</div>
<div>{$subjekt->dic} {$subjekt->icdph}</div>
<div>číslo subjektu {$subjekt}</div>
Zoznam dph
<table>
{foreach $prdph as $priznanie}
<tr>
<td>{$priznanie->obdobie}</td>
<td>{$priznanie->dan}</td>
<td>{$priznanie->aktualizacia}</td>
</tr>
{/foreach}
</table>
Zoznam dane
<div id="chart_div"></div>
<table>
{foreach $prdan as $dp}
<tr>
<td>{$dp->obd_od}</td>
<td>{$dp->obd_do}</td>
<td>{$dp->dan}</td>
<td>{$dp->ddan}</td>
<td>{$dp->strata}</td>
<td>{$dp->aktualizacia}</td>
</tr>
{/foreach}
</table>
{$prdan->count('*')}
*}
{/block}
Editoval Kamil Valenta (12. 5. 2021 7:22)
- miro_r
- Člen | 22
Skúšal som aj dump a nič.
Nakoniec mi to nedalo a pripojil som sa cez ssh na testovací server, kde mi NetBeans má! ukladať súbory. Všetky súbory sú aktualizované večer, len SubjektPresenter má dátum zo včera 15:00, práva rovnaké ako pri iných súboroch. Tak to nebolo nič s nette, ale netbeans zlyhal.
Ďakujem za dump(‚JSEM SKUTECNE ZDE‘);
Editoval miro_r (12. 5. 2021 7:42)