3

我在我的 Nette 项目中使用 datagrid Ublaboo\Datagrid。这个 DataGrid 非常棒,但是我在从组件到演示者的获取 ID 方面遇到了一个问题。

我有show.latte,它在presenter中获取renderShow方法的ID

public function renderShow($id = null) {}

还行吧。

我在带有数据网格的 show.latte 表列表中。

   <div class="table-responsive">
       {control fileList}
    </div> 

主持人:

public function createComponentFileList($name) {
  // return factory method
  return $grid
}

如何从 show.latte 获取 ID 行到演示者?

4

1 回答 1

1

您不能将信息从视图 (Latte) 发送给演示者,因为演示者方法是在呈现视图之前执行的。

你需要那个 id 做什么?而 which id:renderShow($id = null)似乎已经知道$id了。

render()您可以通过$control->parent/将信息从组件发送到组件方法中的演示者$control->presenter。但同样,从你的问题中不清楚,你的意思是哪个。您似乎没有将任何$idfrom template 传递给fileList:render()in {control fileList}。另外,此时,演示者操作/渲染方法已经执行,所以我想知道你想用那个 id 做什么。

您可能在问题中将“演示者”与“组件”混为一谈。您说renderShow()的是在演示者中,但您问如何将 id 从组件传递给演示者。

“I have show.latte that get ID to renderShow”不是语法正确的句子。这又增加了一层混乱。

于 2016-11-21T08:32:01.903 回答