2017-01-14 4 views
0

Следуя документации разработчика here, можно ли продолжить и отфильтровать результаты по атрибутам объекта?Concrete 5.8 Express Entry Block - Фильтровать результаты по атрибуту

Например, у вас было несколько лодок в Марина, у которой был тот же самый хозяин, и вы хотели найти только лодки этого владельца в Марине, там есть способ фильтрации данных дальше (т.е. фильтр по атрибуту BoatOwner) ,

После большого чтения документации Doctrine2 я могу понять, что это можно сделать, но я не могу решить, как расширить код C5 или какие методы я могу вызвать для этого.

<?php defined('C5_EXECUTE') or die(_("Access Denied.")); ?> 
<?php 

if (isset($entry) && is_object($entry)) { 

$boats = $entry->getBoats(); 

?> 

<table class="table"> 
    <thead> 
    <tr> 
     <th>Name</th> 
     <th>Year</th> 
     <th>Owner</th> 
     <th>Classification</th> 
    </tr> 
    </thead> 
<tbody> 
<?php if (count($boats)) { 
    foreach($boats as $boat) { ?> 
     <tr> 
      <td><?=$boat->getBoatName()?></td> 
      <td><?=$boat->getBoatYear()?></td> 
      <td><?=$boat->getBoatOwner()?></td> 
      <td><?=$boat->getBoatClass()?></td> 
     </tr> 
    <?php } ?> 
<?php } else { ?> 
    <tr> 
     <td colspan="4">No boats found.</td> 
    </tr> 
<?php } ?> 
</tbody> 
</table> 

<?php } ?> 

Вышеупомянутый код из документа C5. Может ли метод магии «получить» каким-то образом расширить или есть более простое решение, работающее с массивом $ boats (я думаю, что это массив), чтобы выбрать только лодки с определенным значением атрибута?

ответ

0

Ответ заключался в том, чтобы поместить оператор if в цикл foreach.

if (count($boats)) { 
    foreach($boats as $boat) { 
if($boat->getBoatOwner() == "boat owner's name here") { 
?> 
<tr> 
     <td><?=$boat->getBoatName()?></td> 
     <td><?=$boat->getBoatYear()?></td> 
     <td><?=$boat->getBoatOwner()?></td> 
     <td><?=$boat->getBoatClass()?></td> 
    </tr> 

<?php; 
      } else { 
       ?> 

    <?php; 
      } 



     ?> 



     <?php } ?> 
    <?php } else { ?> 
     <tr> 
      <td colspan="4">No boats found.</td> 
     </tr> 
    <?php } ?> 
    </tbody> 
</table> 
<?php } ?> 

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