Динамическое добавление секций лезвия подпредставления в представление

Я планирую добавить «дополнения» на многие страницы, предполагая, что дополнения будут из бесконечного количества.

Это немного сложно объяснить словами, поэтому я сделаю все возможное, чтобы объяснить это через файловую структуру, которую я имею в виду.

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

теперь я хочу, чтобы эти «дополнения» в папке «Дополнительно» выводились на странице продукта, каждый в соответствующем месте (например, extra_tab будет в ‹ ul >), эти дополнительные файлы будут отправлены пользователем и добавлены автоматически.

Кроме того, это будет сделано не только в Product.blade.php, другие дополнения должны соответствовать другим страницам.


person Ahmed Yusuf    schedule 06.02.2016    source источник


Ответы (1)


Переосмыслите свою реализацию. Не должно быть Extras/extra{#}/extra_tab.blade.php для «бесконечного» (неизвестного?) числа или любого другого в этом отношении. Различия между Extras/extra1/extra_tab.blade.php и Extras/extra2/extra_tab.blade.php должны определяться логикой/параметром, передаваемым в частичное представление.

Вместо этого структура будет иметь один файл extra_tab.blade.php, например:

Extras/extra_tab.blade.php

При этом extra_tab.blade.php может получить параметр (например, идентификатор) следующим образом:

Продукт.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);
?>
person Tomanow    schedule 06.02.2016