/** * Generates a URL from the given parameters. * * @param mixed $params The parameter values * @param array $context The context * @param Boolean $absolute Whether to generate an absolute URL * * @return string The generated URL */ public function generate($params, $context = array(), $absolute = false) { $slug = null; $defaults = $this->getDefaults(); if (isset($params['sf_subject']) && !isset($params['engine-slug'])) { // Don't override the current page if it is an engine, or a previously // pushed engine page $slug = aRouteTools::getContextEngineSlug($this); if ($slug) { $params['engine-slug'] = $slug; } else { if (method_exists($params['sf_subject'], 'getEngineSlug')) { $params['engine-slug'] = $params['sf_subject']->getEngineSlug(); } } } if (isset($params['engine-slug'])) { $slug = $params['engine-slug']; aRouteTools::pushTargetEngineSlug($slug, $defaults['module']); unset($params['engine-slug']); } $result = aRouteTools::addPageToUrl($this, parent::generate($params, $context, false), $absolute); if ($slug) { aRouteTools::popTargetEngine($defaults['module']); } return $result; }
/** * Generates a URL from the given parameters. * * @param mixed $params The parameter values * @param array $context The context * @param Boolean $absolute Whether to generate an absolute URL * * @return string The generated URL */ public function generate($params, $context = array(), $absolute = false) { $slug = null; $defaults = $this->getDefaults(); if (isset($params['engine-slug'])) { $slug = $params['engine-slug']; aRouteTools::pushTargetEngineSlug($slug, $defaults['module']); unset($params['engine-slug']); } // Note that you must pass false to parent::generate for the $absolute parameter $result = aRouteTools::addPageToUrl($this, parent::generate($params, $context, false), $absolute); if ($slug) { $engine = $defaults['module']; aRouteTools::popTargetEnginePage($engine); } return $result; }
<?php // points to our slot's edit action. Setting the ajax parameter ?> <?php // to false causes the edit action to redirect to the newly ?> <?php // updated page. ?> <?php slot("a-slot-controls-{$pageid}-{$name}-{$permid}"); ?> <li class="a-controls-item choose-images"> <?php aRouteTools::pushTargetEngineSlug('/admin/media', 'aMedia'); ?> <?php echo link_to('<span class="icon"></span>' . a_get_option($options, 'chooseLabel', a_('Choose Images')), 'aMedia/select', array('query_string' => http_build_query(array_merge($options['constraints'], array("multiple" => true, "aMediaIds" => implode(",", $itemIds), "type" => "image", "label" => a_get_option($options, 'browseLabel', a_('You are creating a slideshow of images.')), "after" => url_for("aSlideshowSlot/edit") . "?" . http_build_query(array("slot" => $name, "slug" => $slug, "permid" => $permid, "noajax" => 1))))), 'class' => 'a-btn icon a-media a-inject-actual-url')); ?> <?php aRouteTools::popTargetEnginePage('aMedia'); ?> </li> <?php include_partial('a/variant', array('pageid' => $pageid, 'name' => $name, 'permid' => $permid, 'slot' => $slot)); ?> <?php end_slot();