Example #1
0
 /**
  * Executes index action
  *
  * @param sfRequest $request A request object
  */
 public function executeIndex(sfWebRequest $request)
 {
     $this->getContext()->getConfiguration()->loadHelpers(array('Url'));
     $feed = new sfAtom1Feed();
     $feed->setTitle('日本Symfonyユーザー会 コンテンツ更新情報');
     $feed->setLink($this->getController()->genUrl('@homepage'));
     $feed->setAuthorEmail('*****@*****.**');
     $feed->setAuthorName('日本Symfonyユーザー会');
     $feedImage = new sfFeedImage();
     $feedImage->setFavicon(public_path('images/favicon.ico'));
     $pages = Doctrine_Query::create()->from('Page p')->limit(10)->orderBy('p.last_updated desc')->execute();
     foreach ($pages as $page) {
         $item = new sfFeedItem();
         $item->setTitle($page->getTitle());
         $item->setLink(url_for_page($page->getPath()));
         $item->setPubdate($page->getDateTimeObject('last_updated')->format('U'));
         $item->setDescription(strip_tags($page->getContentRendered()));
         $item->setContent($page->getContentRendered());
         $feed->addItem($item);
     }
     $this->feed = $feed;
 }
        return '==TOKEN==';
    }
}
sfForm::enableCSRFProtection();
$context = sfContext::getInstance(array('controller' => 'myController', 'request' => 'myRequest'));
$t = new lime_test(25);
// url_for_page()
$t->diag('url_for_page()');
$t->is(url_for_page('/test'), '/module/action/test', '第1階層ページ名');
$t->is(url_for_page('test'), '/module/action/test', '第1階層、先頭のスラッシュは自動付与');
$t->is(url_for_page(''), '/module/action/', '空の場合はトップURL(スラッシュ付)');
$t->is(url_for_page('/'), '/module/action/', 'ルート');
$t->is(url_for_page('/test/'), '/module/action/test/', '第1階層 末尾スラッシュ');
$t->is(url_for_page('/test/foo'), '/module/action/test/foo', '第2階層ページ名');
$t->is(url_for_page('/test/foo/'), '/module/action/test/foo/', '第2階層スラッシュ付');
$t->is(url_for_page('/test//foo'), '/module/action/test/foo', '途中の連続スラッシュは自動削除');
// link_to_page()
$t->diag('link_to_page() URL生成部分はurl_for_page()に依存');
$t->is(link_to_page('foo', '/test'), '<a href="/module/action/test">foo</a>', '第1階層ページ名');
$t->is(link_to_page('foo', '/test/foo'), '<a href="/module/action/test/foo">foo</a>', '第2階層ページ名');
$t->is(link_to_page('foo', '/test/foo/'), '<a href="/module/action/test/foo/">foo</a>', '第2階層スラッシュ付');
$t->is(link_to_page('foo', '/test//foo'), '<a href="/module/action/test/foo">foo</a>', '途中の連続スラッシュは自動削除');
$t->is(link_to_page('foo', '/test', array('class' => 'bar')), '<a class="bar" href="/module/action/test">foo</a>', 'link_toのオプションはそのまま有効');
// link_to_option_selectable()
$t->diag('link_to_option_selectable() リンクタグ生成はlink_to_page()に依存');
$test_function_true = function ($param) {
    return true;
};
$test_function_false = function ($param) {
    return false;
};
Example #3
0
/**
 * link_to_page()
 * 特定のページ(パス)に対応するURLでリンクタグを生成する
 *
 * @param  string $text             リンクを設定する文字列
 * @param  string $page_path        リンク先ページのパス
 * @param  array  $default_options  link_to()ヘルパーへのオプション配列
 * @return string リンクタグ
 */
function link_to_page($text, $page_path, $default_options = array())
{
    $url = url_for_page($page_path);
    return link_to($text, $url, $default_options);
}