komponenta v komponentě ajax
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- tomfz6
- Člen | 32
Času mám takový problém
v komponentě volám tu znova tu samou komponetu (jen jiný render) zde je komponenta
<?php
class ProductBox extends Control {
/** @var int */
private $relationClick=0;
public function renderList($StiId) {
......
$this->template->render();
}
public function renderDetail($StiId) {
$this->template->setFile(__DIR__ . '/../../presenters/templates/Product/Components/boxDetail.latte');
$this->template->relationClick=$this->relationClick;
$this->template->render();
}
public function handlerelationVisible() {
$this->relationClick=1;
$this->redrawControl('relation');
}
}
interface IProductBox {
/** @return ProductBox */
public function create();
}
?>
v té sablone komponenty renderdetail volám znova na klik tu komponentu renderList
<?php
<div class="product-gallery">
{snippet relation}
{if $relationClick==1}
{if $productsRelation}
{foreach $productsRelation as $product}
{control productBox:list $product->StiId}
{/foreach}
{else}
Nejsou vloženy žádné související produkty
{/if}
{else}
<a class="ajax" n:href="relationVisible!">Zobrazit produkty</a>
{/if}
{/snippet}
?>
Pokud ten požadavek není ajaxový n:ref="relationVisible! tak je to ok ale pokud to odešlu ajaxově tak chyba Nette\MemberAccessException: Call to undefined method App\Components\ProductBox::render()
Nedokázal by někdo poradit?
Dík moc
- CZechBoY
- Člen | 3608
Na multiplieru není nic moc složitýho https://doc.nette.org/…n/multiplier – asi tě zajímá příklad úplně dole.