Pdfresponse, problém při tvorbě pdf z databáze
- Koniklec
- Člen | 6
zdravím,
chtěl bych se zeptat na radu ohledně https://componette.org/search/?…
<script>
public function actionPdfObjednavka($cena,$co) {
$post = $this->database->table('nakup')->get($co);
$celkem = $cena;
$html = "
<h2>Náhled Objednávky</h2>
<div>Číslo objednávky: {$post->cislo_nakup}</div>
<div>Vystaveno Dne: {$post->objednavka->vystaveno_dne}</div>
<div>Záruka do; {$post->zaruka_do}</div>
<div>Poznámka: {$post->objednavka->poznamka}</div>
<br>
<h3>Zákazník</h3>
<div>Název: {$post->objednavka->zakaznici->nazev}</div>
<div>ICO: {$post->objednavka->zakaznici->ICO}</div>
<div>DIC: {$post->objednavka->zakaznici->DIC}</div>
<div>Telefón: {$post->objednavka->zakaznici->telefon}</div>
<div>E-mail: {$post->objednavka->zakaznici->mail}</div>
<div>Adresa: {$post->objednavka->zakaznici->adresa}</div>
<br>
<h3>Zpracovává</h3>
<div>Jméno: {$post->objednavka->zamestnanci->jmeno}</div>
<div>Příjmení: {$post->objednavka->zamestnanci->prijmeni}</div>
<div>E-mail: {$post->objednavka->zamestnanci->mail}</div>
<div>Telefón: {$post->objednavka->zamestnanci->telefon}</div>
<div>Celková cena:{$celkem} Kč</div>
";
$this->sendResponse(new PDFResponse($html));
}
</script>
toto my jede, ale když tam přidám foreach
<script>
{foreach $post->objednavka->related('objednavka_produkty') as $produkty}
<div>Název: {$produkty->produkty->nazev}</div>
<div>Cena: {$produkty->produkty->cena}</div>
<div>Množství:{$produkty->mnozstvi}</div>
{/foreach}
</script>
tak my to hází chybu že $produkty nejsou definovaný. V tom foreach se
jakoby nic neudělá.
Zkoušel sem to i přes templete,
<script>
$html = $this->createTemplate()->setFile($appDir."/templates/Moje/pdfObjednavka.latte");
</script>
ale tam zas nevím jak předat databázi, přes renderpdfObjednavka se to
nespustí a zase my to háže že je $post nedefinovaný.
kdyby někdo věděl bych bych rád za radu díky :)
- Koniklec
- Člen | 6
Z načítáním z databáze problém není vše co tam mám napsané man hozené v templatu a v tom to v pohodě jede. Spíš de o to že, když napíšu toto
<script>
$html = "
{foreach $post->objednavka->related('objednavka_produkty') as $produkty}
<div>Název: {$produkty->produkty->nazev}</div>
<div>Cena: {$produkty->produkty->cena}</div>
<div>Množství:{$produkty->mnozstvi}</div>
{/foreach}
";
</script>
tak se jakoby neprovede ten foreach z tohoto $post->objednavka->related(‚objednavka_produkty‘) se nestanou $produkty a proto nejsou definovaný, ale nevím proc v tomto $html = „..“ ten foreach proste nejede. Ten stejný foreach mám i v templatu a tam právě funguje .
- Freema
- Člen | 18
To je pekny fuj ten html string v php :D
Takhle to nejde? :
<?php
$template = $this->createTemplate();
$template->setFile($appDir."/templates/Moje/pdfObjednavka.latte");
$template->post = $post = $this->database->table('nakup')->get($co);
$pdf = new PDFResponse($template);
?>