Beispiel #1
0
/**
 * @param CM_Frontend_Render       $render
 * @param string|null              $urlPage
 * @param array                    $urlParams
 * @param CM_Frontend_ViewResponse $component
 * @param int                      $page
 * @param string[]                 $linkParams
 * @param Smarty_Internal_Template $template
 * @return string
 */
function _smarty_function_paging_link(CM_Frontend_Render $render, $urlPage, array $urlParams, CM_Frontend_ViewResponse $component, $page, array $linkParams, Smarty_Internal_Template $template)
{
    if (empty($urlPage)) {
        $javascript = 'cm.views["' . $component->getAutoId() . '"].reload(' . json_encode(array('page' => $page)) . ')';
        $linkParams['onclick'] = $javascript . ';return false;';
    } else {
        $linkParams['href'] = $render->getUrlPage($urlPage, array_merge($urlParams, array('page' => $page)));
    }
    return smarty_function_link($linkParams, $template);
}
Beispiel #2
0
 public function testGetUrlPageLanguageRewrite()
 {
     $page = $this->getMockForAbstractClass('CM_Page_Abstract', array(), 'CM_Page_Test', false);
     $baseUrl = 'http://www.default.dev';
     $render = new CM_Frontend_Render();
     $this->assertSame($baseUrl . '/test', $render->getUrlPage($page));
     $render = new CM_Frontend_Render(null, true);
     // This should never happen in application, but lets test it
     $this->assertSame($baseUrl . '/test', $render->getUrlPage($page));
     $language = CMTest_TH::createLanguage('en');
     $environment = new CM_Frontend_Environment(null, null, $language);
     $render = new CM_Frontend_Render($environment);
     $this->assertSame($baseUrl . '/test', $render->getUrlPage($page));
     $render = new CM_Frontend_Render($environment, true);
     $this->assertSame($baseUrl . '/en/test', $render->getUrlPage($page));
 }
 public function testRenderPage()
 {
     $urlPage = $this->_render->getUrlPage('CM_Page_Example', ['foo' => '12']);
     $this->assertRegExp('#<a.*href="' . preg_quote($urlPage) . '".*>.*Click me.*</a>#', smarty_function_button_link(['label' => 'Click me', 'page' => 'CM_Page_Example', 'foo' => '12'], $this->_template));
 }