Как добавить раздел «Популярные события / последние обновления» на веб-сайт, созданный с помощью Symfony 1.4? - PullRequest
1 голос
/ 30 ноября 2011

Я занимаюсь разработкой сайта с помощью symfony 1.4.Пользователи загружают фотографии, и фотографии сохраняются в базе данных.

Теперь на главной странице у меня есть контент, и я хочу иметь раздел, который показывает недавно загруженные фотографии.Я не уверен, что это лучший способ сделать это.Не могли бы вы указать мне правильное направление?

Единственный способ, которым я могу придумать, - это иметь $sf_content для хранения основного контента (который будет получен из приложения / модулей) и для недавних загрузок иметь layout.php делать доступ к базе данных + бизнес-логику + рендеринг, но это нарушит MVC и потребует огромного доступа к базе данных каждый раз, когда пользователь перемещается по сайту.

Можно ли сделать это лучше?

1 Ответ

2 голосов
/ 30 ноября 2011

Вы можете использовать компоненты.

apps / yourapp / modules / yourmodule / actions / components.class.php

class yourmodulenameComponents extends sfComponents {


    public function executeRfoto() {

        $this->photos = Doctrine_Core::getTable('Photo') ->getRecentPhotos();

    }

В модель :

public function getRecentPhotos()
  {
    $q = $this->createQuery('a')
              ->addORDERBY('DESC');

    return $q->execute();
  }

в ваших приложениях / yourapp / modules / yourmodule / themplates / _rfoto.php

    foreach ($photos as $photo){
// Make some stuff
}

и In layout.php, или другое место, где вы хотите разместить свою фотографию:

   <?php include_component('yourmodule' ,'rfoto')?>
...