nation">'.$pagebar.''; } return $html; } } } if (!function_exists(snippet_getNavigate)) { function snippet_getNavigate($args) { global $view; extract($args); $_POST['hashMode'] = $args['hashMode']; if (!function_exists('xtree')) { function xtree($nav, $wrap = '%s') { foreach($nav as $row) { if ($row['is_hidemenu'] || !$row['is_enabled'] || $row['is_recycled']) continue; if (!$_POST['hashMode'] &&(substr($row['redirect'], 0, 7) == 'http://' || substr($row['redirect'], 0, 8) == 'https://')) { $blank = 1; } else { $blank = 0; } if ($_POST['hashMode']) { $url = '#'.$row['alias']; } else { $url = $row['url']; } if ($row['childnotes']) { $html.= '
  • '.($row['menu_text']?$row['menu_text']:$row['title']).''; } $html.= '
  • '; } return sprintf($wrap, $html); } } if (!function_exists('filterHideMenu')) { function filterHideMenu($nav) { foreach($nav as $k => $v) { $nav[$k]['menu_text'] = $v['menu_text'] ? $v['menu_text'] : $v['title']; if ($v['is_hidemenu'] || !$v['is_enabled'] || $v['is_recycled']) { unset($nav[$k]); } elseif ($v['childnotes']) { $nav[$k]['childnotes'] = filterHideMenu((array)$v['childnotes']); } } return $nav; } } $select = M('Page')->select() ->where('lang = ?', $view->lang['code']) ->order('rank ASC, id ASC'); //指向ID查父级 pathLevel指定级数 if (isset($args['id']) && isset($args['pathLevel'])) { $p = M('Page')->getById((int)$args['id']); $ids = explode(',', $p['path_ids']); $args['pid'] = $ids[$args['pathLevel']]; } //按URI搜索 if (isset($args['uri'])) { $d = M('Page')->getByUri($args['uri']); $ids = $d->getChildIds(); $select->where('parent_id IN ('.($ids ? $ids : 0).')'); } //只读取指使用定模板的页面 if (isset($args['tpl'])) { $tpl = M('Page_Template')->select() ->where('name = ?', $tpl) ->fetchRow(); $args['tplId'] = $tpl->id; } if (isset($args['tplId'])) { $select->where('tpl_id IN ('.$args['tplId'].')'); } if (isset($args['notTplId'])) { $select->where('NOT tpl_id IN ('.$args['notTplId'].')'); } //按ID搜索 if (isset($args['id'])) { $parent = M('Page')->getById((int)$args['id']); $ids = M('Page')->getChildIds((int)$args['id']); $select->where('(id = '.$args['id'].' OR parent_id IN ('.($ids ? $ids : 0).'))'); //限制层级 if (isset($args['level'])) { $select->where('level <= ?', $parent->level+$args['level']); } } if (isset($args['notIds'])) { $select->where('NOT id IN ('.$args['notIds'].')'); } //按分类搜索 if (isset($args['pid'])) { $parent = M('Page')->getById((int)$args['pid']); $ids = M('Page')->getChildIds((int)$args['pid']); $select->where('parent_id IN ('.($ids ? $ids : 0).')'); //限制层级 if (isset($args['level'])) { $select->where('level <= ?', $parent->level+$args['level']); } } //限制层级 if (!isset($args['pid']) && isset($args['level'])) { $select->where('level <= ?', $args['level']); } //过滤 switch ($args['filterType']) { case 'dir': $select->where('childs_num = 0'); break; case 'file': $select->where('childs_num != 0'); break; } $nav = $select->fetchRows() ->hasmanyVars() ->toTree(); // $nav = $select->fetchRows()->toTree(); switch ($args['outputType']) { case 'object': case 'array': $nav = filterHideMenu((array)$nav); return $nav; case 'html': default: return xtree((array)$nav); } } } if (!function_exists(snippet_getBreadcrumb)) { function snippet_getBreadcrumb($args) { global $view; extract($args); $lang = $view->lang['code']; $path = $view->data->getPath(); $host = 'http://'.$_SERVER['HTTP_HOST']; $home = M('Page')->select() ->where('uri = ? AND lang = ?', array('/', $lang)) ->fetchRow(); $html = '
  • '.$home['title'].'
  • '; foreach($path as $row) { $i++; if ($row['url'] != '/') { //过滤掉首页 $title = $row['menu_text'] ? $row['menu_text'] : $row['title']; $html.='
  • '.$title.'
  • '; } } if ($args['class']) { return sprintf('', $html); } else { return sprintf('', $html); } } } if (!function_exists(snippet_getPrevItem)) { function snippet_getPrevItem($args) { global $view; extract($args); $data = M('Page')->getById((int)$args['id']); // $prev = $data->getPrevItem('is_enabled = 1 AND parent_id = '.$data['parent_id']); $prev = M('Page')->select() ->where('id != ?', $data['id']) ->where('lang = ?', $data['lang']) ->where('is_enabled = 1 AND parent_id = ?', $data['parent_id']) ->where('rank <= ?', $data['rank']) ->order('rank DESC, id DESC') ->fetchRow(); switch($args['outputType']) { case 'object': return $prev; break; case 'array': return $prev->toArray(); break; case 'html': default: if ($prev->exists()) { return ''.$prev->title.''; } else { return 'No more.'; } break; } } } if (!function_exists(snippet_getNextItem)) { function snippet_getNextItem($args) { global $view; extract($args); $data = M('Page')->getById((int)$args['id']); // $next = $data->getNextItem('is_enabled = 1 AND parent_id = '.$data['parent_id']); $next = M('Page')->select() ->where('id != ?', $data['id']) ->where('lang = ?', $data['lang']) ->where('is_enabled = 1 AND parent_id = ?', $data['parent_id']) ->where('rank >= ?', $data['rank']) ->order('rank ASC, id ASC') ->fetchRow(); switch($args['outputType']) { case 'object': return $next; break; case 'array': return $next->toArray(); break; case 'html': default: if ($next->exists()) { return ''.$next->title.''; } else { return 'No more.'; } break; } } } ?> {$title} | {$setting.sitename}