Esempio n. 1
0
/**
 *  创建静态路径
 */
function build_url($param, $cid, $type = 2)
{
    $CI =& get_instance();
    $config =& get_config();
    $CI->load->model(array('rule_model', 'archives_model'));
    $CI->load->library(array('Pinyin'));
    $rule = $CI->rule_model->get_where("cid={$cid} AND type={$type}");
    $rule = array_shift($rule);
    if (ZYCMSHTML == 'open') {
        if ($type == 2) {
            if (1 != $param) {
                return '/' . str_replace('page', $param, $rule['destination_rule']);
            } else {
                return shortcut_url('/' . str_replace('page', $param, $rule['destination_rule']));
                //第二页不进行截取
            }
        } else {
            if ($type == 3) {
                $article = $CI->archives_model->get_one($param, 'title');
                $pinyin = $CI->pinyin;
                $title = $pinyin::getPinyin(substr($article['title'], 0, 20)) . $param;
                return '/' . str_replace('aid', $title, $rule['destination_rule']);
                // return '/'.str_replace('aid', $param, $rule['destination_rule']);
            } else {
                if ($type == 1) {
                    return '/' . $rule['destination_rule'];
                }
            }
        }
    } else {
        $base_url = _slash_item('base_url', $config);
        if ($type == 2) {
            $uri = str_replace('page', $param, $rule['source_rule']);
        } else {
            if ($type == 3) {
                $uri = str_replace('aid', $param, $rule['source_rule']);
            } else {
                if ($type == 1) {
                    $uri = $rule['source_rule'];
                }
            }
        }
        $suffix = isset($config['url_suffix']) ? $config['url_suffix'] : '';
        if ($suffix !== '') {
            if (($offset = strpos($uri, '?')) !== FALSE) {
                $uri = substr($uri, 0, $offset) . $suffix . substr($uri, $offset);
            } else {
                $uri .= $suffix;
            }
        }
        return $base_url . _slash_item('index_page', $config) . $uri;
    }
}
Esempio n. 2
0
 /**
  * jaya 20160805
  *  构造面包屑
  *
  *  递归查找父栏目, 压入栈
  *
  *  @param $id 分类ID
  *  @param $stack 栈引用
  */
 private function build_bread($id, &$stack)
 {
     $row = $this->CI->column_model->get_one($id);
     if (2 == $row['rule_type'] && $this->CI->rule_model->is_exists("cid={$id} AND type=2")) {
         $build_type = 2;
         $temp = array('title' => $row['column_name'], 'url' => shortcut_url(build_url(1, $id, $build_type)));
     } else {
         if (1 == $row['rule_type'] && $this->CI->rule_model->is_exists("cid={$id} AND type=1")) {
             $build_type = 1;
             $temp = array('title' => $row['column_name'], 'url' => build_url(1, $id, $build_type));
         } else {
             $build_type = 2;
             $temp = array('title' => $row['column_name'], 'url' => shortcut_url(build_url(1, $id, $build_type)));
         }
     }
     array_push($stack, $temp);
     if ($row['pid'] == 0) {
         return $stack;
     } else {
         $this->build_bread($row['pid'], $stack);
     }
 }