/** * @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); }
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)); }