0

Shops、Categories、Products、Toppings などの多くのビューがあります。また、ハードコーディングされたモデル名を頻繁に使用しています。単数または複数の場合もあります。のように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 に答える