0

我有很多视图,例如商店、类别、产品、浇头……并且经常使用硬编码的模型名称。有时单数或复数。就像在Shop's index.ctp

<ul class="nav nav-tabs">
    <li><?php echo $this->Html->link(__('New Shop'), array( 'action' => 'add'));?></li>
</ul>

<div class="page-header">
    <h1><?php echo __('Shops'); ?></h1>
</div>

<td><?php echo $shop['Shop']['id']; ?>
<td><?php echo $shop['Shop']['name']; ?>
<td><?php echo $shop['Shop']['street']; ?>
...

有没有更好的方法来动态使用模型名称?

谢谢你。

4

2 回答 2

2

好吧,您可以$myshop = $shop['Shop'];在代码顶部添加以便使用$myshop['id'],但仅此而已。在需要的地方使用变量并不奇怪。

于 2013-01-17T09:27:03.820 回答
0

如果你真的想要你可以做与控制器相同的事情, $this->modelClass 属性包含模型名称。

在控制器中

$this->set('modelClass', $this->modelClass); 

在视图中:

echo $shop[$modelClass]['field'];
于 2013-01-17T17:03:37.337 回答