У меня есть следующий сниппет, который отлично работает, но я хочу, чтобы переключатель switch ($ fixture-> homeTeamName) и переключатель ($ fixture-> awayTeamName) были включены из внешнего файла с именем swich_1.php, а не жестко закодированным в шаблоне, но я не смог включить его:
<table class="table table-striped"> <tr> <th>HomeTeam</th> <th></th> <th>AwayTeam</th> <th colspan="3">Result</th> </tr> <?php foreach ($soccerseason->getFixturesByMatchday(1) as $fixture) { switch ($fixture->homeTeamName) { case 'Walsall FC': $fixture->homeTeamName = "AA"; break; case 'Rochdale AFC': $fixture->homeTeamName = "BB"; break; } switch ($fixture->awayTeamName) { case 'Oldham Athletic AFC': $fixture->awayTeamName = "CC"; break; case 'Peterborough United FC': $fixture->awayTeamName = "DD"; break; } ?> <tr> <td><?php echo $fixture->homeTeamName; ?></td> <td>- </td> <td><?php echo $fixture->awayTeamName; ?></td> <td><?php echo $fixture->result->goalsHomeTeam; ?></td> <td>:</td> <td><?php echo $fixture->result->goalsAwayTeam; ?></td> </tr> <?php } ?> </table>
это то, что я пробовал:
<table class="table table-striped"> <tr> <th>HomeTeam</th> <th></th> <th>AwayTeam</th> <th colspan="3">Result</th> </tr> <?php foreach ($soccerseason->getFixturesByMatchday(1) as $fixture) { <? include '/models/switch_1.php' ?> ?> <tr> <td><?php echo $fixture->homeTeamName; ?></td> <td>- </td> <td><?php echo $fixture->awayTeamName; ?></td> <td><?php echo $fixture->result->goalsHomeTeam; ?></td> <td>:</td> <td><?php echo $fixture->result->goalsAwayTeam; ?></td> </tr> <?php } ?>
вот внешний файл switch_1.php
<?php switch ($fixture->homeTeamName) { case 'Walsall FC': $fixture->homeTeamName = "AA"; break; case 'Rochdale AFC': $fixture->homeTeamName = "BB"; break; } switch ($fixture->awayTeamName) { case 'Oldham Athletic AFC': $fixture->awayTeamName = "CC"; break; case 'Peterborough United FC': $fixture->awayTeamName = "DD"; break; } ?>
Я получил пустой экран, ваша помощь приветствуется.
Вы делаете это так:
Создайте файл: file.php
<?php foreach ($soccerseason->getFixturesByMatchday(1) as $fixture) { switch ($fixture->homeTeamName) { case 'Walsall FC': $fixture->homeTeamName = "AA"; break; case 'Rochdale AFC': $fixture->homeTeamName = "BB"; break; } switch ($fixture->awayTeamName) { case 'Oldham Athletic AFC': $fixture->awayTeamName = "CC"; break; case 'Peterborough United FC': $fixture->awayTeamName = "DD"; break; } ?> <tr> <td><?php echo $fixture->homeTeamName; ?></td> <td>- </td> <td><?php echo $fixture->awayTeamName; ?></td> <td><?php echo $fixture->result->goalsHomeTeam; ?></td> <td>:</td> <td><?php echo $fixture->result->goalsAwayTeam; ?></td> </tr> <?php } ?>
Затем на главной странице замените содержимое ссылкой «include»
<table class="table table-striped"> <tr> <th>HomeTeam</th> <th></th> <th>AwayTeam</th> <th colspan="3">Result</th> </tr> <? include 'file.php' ?> </table>
Файл include может содержать все, что вы хотите. Это включает в себя ваш PHP и ваш материал HTML. Он будет просто вставлен там, где вы скажете, что он вставлен.
Вы могли бы просто использовать только «для каждого» и «переключаться», если это все, что вы хотите во внешнем файле.
Вместо того, чтобы исправить мой пример, это было очень хорошо … Я пошел и посмотрел на ваше редактирование и нашел, где вы допустили свою ошибку:
<?php foreach ($soccerseason->getFixturesByMatchday(1) as $fixture) { <? include '/models/switch_1.php' ?> ?>
Вы не можете включить прямо в середине существующего блока. Сначала вам нужно прервать блок, затем введите:
<?php foreach ($soccerseason->getFixturesByMatchday(1) as $fixture) { ?> <? include '/models/switch_1.php' ?>
Другими словами, переместите туда, где у вас есть тег закрытия до первой строки. Это сделает трюк.