こんにちは!私はsymfony1.4.11を使用しています。私のプロジェクトの全ユーザー広告では、所有者がプレミアムアカウントを持っている場合にのみサイトで利用できます。問題は、すべての広告が直接リンクで利用できることです...そこで、私はJobbetの6日目からこの問題の決定を使用します。ルーティング:
ads_show_user:
url: /:sf_culture/ads/:slug
class: sfDoctrineRoute
options: { model: Ads, type: object, method_for_query: retrievePayAd }
param: { module: ads, action: show }
requirements:
sf_method: [get]
sf_culture: (?:de|en|ru)
モデル:
public function retrievePayAd(Doctrine_Query $q)
{
$q ->leftJoin('a.Owner o')
->leftJoin('o.Profile p')
->andWhere('p.payed_until > NOW()')
->andWhere('a.active = ?',1)
->andWhere('a.expires_at > NOW()');
return $q->fetchOne();
}
そして、すべて正常に動作しますが、次の問題は、広告の所有者がプレミアムを支払っていない場合、すべてのユーザーのように、広告の拡張バージョンも表示されないことです...ユーザーを404ページではなく、他のページ、私がユーザーと言うことができる、なぜ彼は彼の広告の拡張バージョンを見ることができないのですか?または、広告の所有者が拡張バージョンを表示できる他の方法はありますか?ありがとうございました !