Sablon kezelés

Eddigi áttekintés alapján nincs szó-szerint vehető sablonkezelő rendszer a symphony-ban, inkább template php fájlokba html tagok közé kerül be php kód. Ismétlődő részleteket - mint pl. egy táblázat (apps/frontend/modules/job/templates/_list.php), kiemelve külön php fájlba lehet tárolni. A sablon beemelés lehet a következő:


<?php 
  include_partial
('job/list', array('jobs' =>$category->getActiveJobs(sfConfig::get('app_max_jobs_on_homepage'))))
?>

Ez a PHP include() eljárásánál egy gyorsítótár használatával jelent többletet.

A sablon részlet pedig az alábbi (_list.php):

<?php
<table class="jobs">
  <?
php foreach ($jobs as $i => $job): ?>
    <tr class="<?php echo fmod($i2) ? 'even' 'odd' ?>">
      <td class="location">
        <?php echo $job->getLocation() ?>
      </td>
      <td class="position">
        <?php echo link_to($job->getPosition(), 'job_show_user'$job?>
      </td>
      <td class="company">
        <?php echo $job->getCompany() ?>
      </td>
    </tr>
  <?php endforeach; ?>
</table>
?>

Még egy különlegesség észrevehető, az

<?php
sfConfig
::get
?>

segédfüggvény használata. Ez az apps\frontend\config\app.yml-ben definiált konstans értékének lekérése. Az app.yml a következő:

# You can find more information about this file on the symfony website:
# http://www.symfony-project.org/reference/1_4/en/11-App
 
# default values
all:
  active_days: 30
  max_jobs_on_homepage: 10
  max_jobs_on_category: 20