/** * Build a HTML link. $options holds all link parameters * like "alt, class" and so on. $title can also be an image * if required. * * @param array $params - url query params * @param string $route * @param string $title * @param array $options * @return string */ private function buildLink($params, $route, $title, $options = array()) { $options['href'] = $this->routerHelper->generate($route, $params, $options['absolute']); unset($options['absolute']); if (!isset($options['title'])) { $options['title'] = $title; } return $this->engine->render('KnpPaginatorBundle:Pagination:sortable_link.html.twig', array('options' => $options, 'title' => $title)); }
/** * Create a filter url for the field named $title * and identified by $key which consists of * alias and field. $options holds all link * parameters like "alt, class" and so on. * * $key example: "article.title" * * @param string $title * @param string $key * @param array $options * @param array $params * @return array */ public function filter($pagination, array $fields, $options = array(), $params = array()) { $options = array_merge(array('absolute' => false, 'translationParameters' => array(), 'translationDomain' => null, 'button' => 'Filter'), $options); $params = array_merge($pagination->getParams(), $params); $params[$pagination->getPaginatorOption('pageParameterName')] = 1; // reset to 1 on filter $filterFieldName = $pagination->getPaginatorOption('filterFieldParameterName'); $filterValueName = $pagination->getPaginatorOption('filterValueParameterName'); $selectedField = isset($params[$filterFieldName]) ? $params[$filterFieldName] : null; $selectedValue = isset($params[$filterValueName]) ? $params[$filterValueName] : null; $action = $this->routerHelper->generate($pagination->getRoute(), $params, $options['absolute']); foreach ($fields as $field => $title) { $fields[$field] = $this->translator->trans($title, $options['translationParameters'], $options['translationDomain']); } $options['button'] = $this->translator->trans($options['button'], $options['translationParameters'], $options['translationDomain']); unset($options['absolute'], $options['translationDomain'], $options['translationParameters']); return array_merge($pagination->getPaginatorOptions(), $pagination->getCustomParameters(), compact('fields', 'action', 'filterFieldName', 'filterValueName', 'selectedField', 'selectedValue', 'options')); }
/** * Generates the resizement target url * * @param string src * @param string function * @param string size * @return string the resizement url */ public function url($src, $function, $size) { return $this->router->generate('image_resizer_image_resize', array('function' => $function, 'size' => $size, 'resource' => $src)); }
/** * Generates a URL for a package. * * @param string $file The URL of the package * * @return string The generated URL */ protected function generatePackageURL($file, $format) { return $this->routerHelper->generate('_assetpackager_get', array('file' => $file, '_format' => $format)); }