A continuación se va a modificar la plantilla de la página que muestra los detalles de una oferta de trabajo. Abre el archivo showSuccess.php
y reemplaza todo su contenido por el siguiente código PHP:
<!-- apps/frontend/modules/job/templates/showSuccess.php -->
<?php use_stylesheet('job.css') ?>
<?php use_helper('Text') ?>
<div id="job">
<h1><?php echo $job->getCompany() ?></h1>
<h2><?php echo $job->getLocation() ?></h2>
<h3>
<?php echo $job->getPosition() ?>
<small> - <?php echo $job->getType() ?></small>
</h3>
<?php if ($job->getLogo()): ?>
<div class="logo">
<a href="<?php echo $job->getUrl() ?>">
<img src="/uploads/jobs/<?php echo $job->getLogo() ?>"
alt="<?php echo $job->getCompany() ?> logo" />
</a>
</div>
<?php endif; ?>
<div class="description">
<?php echo simple_format_text($job->getDescription()) ?>
</div>
<h4>How to apply?</h4>
<p class="how_to_apply"><?php echo $job->getHowToApply() ?></p>
<div class="meta">
<small>posted on <?php echo $job->getCreatedAt('m/d/Y') ?></small>
</div>
<div style="padding: 20px 0">
<a href="<?php echo url_for('job/edit?id='.$job->getId()) ?>">Edit</a>
</div>
</div>
Para mostrar los detalles de la oferta de trabajo, la plantilla hace uso de una variable llamada $job
que se debe pasar desde la acción. Como en la acción show
esta variable se llama $jobeet_job
, es necesario modificar su nombre (ten en cuenta que en la acción esta variable aparece dos veces):
// apps/frontend/modules/job/actions/actions.class.php
public function executeShow(sfWebRequest $request)
{
$this->job = JobeetJobPeer::retrieveByPk($request->getParameter('id'));
$this->forward404Unless($this->job);
}
Algunos métodos accesores de Propel también admiten argumentos. Como se ha definido una columna llamada created_at
de tipo timestamp, el método getCreatedAt()
permite establecer como su primer argumento el formato en el que se quiere obtener la fecha:
$job->getCreatedAt('m/d/Y');
Nota Para mostrar la descripción de la oferta de trabajo en formato HTML, se utiliza el helper simple_format_text()
, ya que entre otras cosas, reemplaza los saltos de línea por etiquetas <br/>
. Como este helper pertenece al grupo de helpers llamado Text
y Symfony no lo carga por defecto, tenemos que cargarlo a mano mediante el helper use_helper()
.