function catalogBuildRoute(&$query) { $segments = array(); if (isset($query['view'])) { $segments[] = $query['view']; unset($query['view']); } if (isset($query['id'])) { $segments[] = $query['id']; unset($query['id']); }; return $segments; }
function catalogParseRoute($segments) { $vars = array(); switch($segments[0]) { case 'catalog': $vars['view'] = 'catalog'; break; case 'item': $vars['view'] = 'item'; $id = explode(':', $segments[1]); $vars['id'] = (int) $id[0]; break; } return $vars; }
function getCatalogItemByRow($row, $value){ $db = JFactory::getDbo(); $query = $db->getQuery(true); $query->select('id, url'); $query->from($db->quoteName('#__catalog')); $query->where($db->quoteName($row)." = ".$db->quote($value)); $db->setQuery($query); return $db->loadRow(); }
function catalogParseRoute($segments) { $vars = array(); $vars['view'] = 'catalog'; if($segments[0]!="catalog"){ $item = getCatalogItemByRow("url",$segments[0]); if(isset($item['1']) && $item['1']) { $vars['view'] = 'item'; $vars['id'] = (int) $item['0']; } } return $vars; }
function catalogBuildRoute(&$query) { $segments = array(); unset($query['view']); if (isset($query['id'])) { $id = (int) $query['id']; if($id){ $item = getCatalogItemByRow("id",$id); $segments[] = $item['1']; unset($query['id']); } } return $segments; }
Source: https://habr.com/ru/post/249987/
All Articles