将子视图刀片部分动态添加到视图

时间:2016-02-06 13:39:36

标签: php laravel laravel-4 blade laravel-blade

我打算在很多页面上添加“额外内容”,假设附加内容来自无限量。

使用单词解释起来有点困难所以我会尽力通过文件结构来解释它

-Views
 -Products
  -Prodcut.blade.php
 -Extras
  -extra1
   - extra_pricing.blade.php
   - extra_tab.blade.php
  -extra2
   - extra_tab.blade.php
  ..
  -extra100

现在我想在“Extra”文件夹中使用这些“extras”,在Product页面中产生,每个都在适当的空间中(例如:extra_tab将在< ul>中),这些extras文件将由用户并自动添加。

此外,它不仅可以在 Product.blade.php 中完成,其他附加内容也应与其他页面匹配。

1 个答案:

答案 0 :(得分:2)

重新考虑您的实施。对于"无限"不应该Extras/extra{#}/extra_tab.blade.php。 (未知?)号码,或任何相关的。 Extras/extra1/extra_tab.blade.phpExtras/extra2/extra_tab.blade.php之间的差异应由传递给视图partial的逻辑/参数确定。

相反,一个结构会有一个extra_tab.blade.php文件,如下所示:

Extras/extra_tab.blade.php

其中extra_tab.blade.php可以接收如下参数(例如ID):

Product.blade.php

@foreach($extra_tabs as $key => $tab)
   @include('Extras.extra_tab', array('key' => $key, 'tab' => $tab))
@endforeach

附加功能/ extra_tab.blade.php

<?php 
echo "This tab has index: ${key}. Here is the tab: \n"; 
print_r($tab);
?>