/** * Return row url for js event handlers * * @param Varien_Object * * @return string */ public function getRowUrl($item) { if (!$item instanceof Varien_Object) { return parent::getRowUrl($item); } $rowUrlRoute = trim($this->getRowUrlRoute()); if (empty($rowUrlRoute)) { return parent::getRowUrl($item); } $params = []; $rowUrlParams = $this->getRowUrlParams(); $rowUrlParams = is_array($rowUrlParams) ? $rowUrlParams : explode(',', $rowUrlParams); $rowUrlParams = array_filter(array_map('trim', $rowUrlParams)); foreach ($rowUrlParams as $key => $value) { if (strpos($value, '{{') === 0 && strrpos($value, '}}') === strlen($value) - 2) { $value = $item->getDataUsingMethod(substr($value, 2, -2)); } $params[$key] = $value; } $rowUrlQueryParams = $this->getRowUrlQueryParams(); $rowUrlQueryParams = is_array($rowUrlQueryParams) ? $rowUrlQueryParams : explode(',', $rowUrlQueryParams); $rowUrlQueryParams = array_filter(array_map('trim', $rowUrlQueryParams)); foreach ($rowUrlQueryParams as $key => $value) { if (strpos($value, '{{') === 0 && strrpos($value, '}}') === strlen($value) - 2) { $value = $item->getDataUsingMethod(substr($value, 1, -1)); } $params['_query'][$key] = $value; } return $this->getUrl($rowUrlRoute, $params); }
public function getRowUrl($row) { if ($url = $this->_getData('row_url')) { return $url; } elseif ($url = $this->_raiseGetRowUrl($row)) { return $url; } else { return parent::getRowUrl($row); } }