Эх сурвалжийг харах

增加了文档搜索功能

star7th 10 жил өмнө
parent
commit
7cc481d60f

+ 21 - 8
Application/Home/Controller/ItemController.class.php

@@ -55,29 +55,42 @@ class ItemController extends BaseController {
     //展示单个项目
     public function show(){
         $item_id = I("item_id");
+        $keyword = I("keyword");
         $login_user = session("login_user");
         $uid = $login_user['uid'] ? $login_user['uid'] : 0 ;
             
         $this->checkItemVisit($uid , $item_id);
 
+
         $item = D("Item")->where("item_id = '$item_id' ")->find();
-        //获取所有父目录id为0的页面
-        $pages = D("Page")->where("cat_id = '0' and item_id = '$item_id' ")->order(" `order` asc  ")->select();
-        //获取所有目录
-        $catalogs = D("Catalog")->where("item_id = '$item_id' ")->order(" `order` asc  ")->select();
-        if ($catalogs) {
-            foreach ($catalogs as $key => &$catalog) {
-                $temp = D("Page")->where("cat_id = '$catalog[cat_id]' ")->order(" `order` asc  ")->select();
-                $catalog['pages'] = $temp ? $temp: array();
+
+        //是否有搜索词
+        if ($keyword) {
+            
+            $pages = D("Page")->where("item_id = '$item_id' and ( page_title like '%{$keyword}%' or page_content like '%{$keyword}%' ) ")->order(" `order` asc  ")->select();
+        
+        }else{
+            //获取所有父目录id为0的页面
+            $pages = D("Page")->where("cat_id = '0' and item_id = '$item_id' ")->order(" `order` asc  ")->select();
+            //获取所有目录
+            $catalogs = D("Catalog")->where("item_id = '$item_id' ")->order(" `order` asc  ")->select();
+            if ($catalogs) {
+                foreach ($catalogs as $key => &$catalog) {
+                    $temp = D("Page")->where("cat_id = '$catalog[cat_id]' ")->order(" `order` asc  ")->select();
+                    $catalog['pages'] = $temp ? $temp: array();
+                }
             }
         }
 
+
+
         $share_url = get_domain().__APP__.'/'.$item_id;
 
         $ItemPermn = $this->checkItemPermn($uid , $item_id) ;
 
         $ItemCreator = $this->checkItemCreator($uid , $item_id);
 
+        $this->assign("keyword" , $keyword);
         $this->assign("ItemPermn" , $ItemPermn);
         $this->assign("ItemCreator" , $ItemCreator);
         $this->assign("share_url" , $share_url);

+ 9 - 0
Application/Home/View/Item/show.html

@@ -49,6 +49,15 @@
 <div class="doc-body row">
   <!-- 左侧栏菜单 -->
     <div class="doc-left span3 bs-docs-sidebar pull-left">
+        <form class="form-search text-center" action="" method="get">
+          <div class="input-append search-input-append">
+            <i class="icon-blank"></i>
+            <input type="text" name="keyword" class="search-query search-query-input" value="{$keyword}">
+            <input type="hidden" name="item_id" value="{$item.item_id}">
+            <button type="submit" class="btn"><i class="icon-search"></i></button>
+          </div>
+        </form>
+
       <ul class="nav nav-list bs-docs-sidenav">
 
         <foreach name="pages" item="page">

+ 4 - 0
Public/css/item/show.css

@@ -73,4 +73,8 @@
   .iframe_content{
     padding-left: 20px;
     padding-right: 20px;
+  }
+
+  .search-query-input{
+    width: 130px;
   }

+ 5 - 1
Public/js/item/show.js

@@ -14,7 +14,7 @@ $(function(){
     $(".doc-left li").each(function(){
       url = $(this).children("a").attr("href");
       //如果链接中包含当前url的信息,两者相匹配
-      if (url.indexOf(str) >= 0 ) {
+      if (url && url.indexOf(str) >= 0 ) {
         //激活菜单
         $(this).addClass("active");
         //如果该菜单是子菜单,则还需要把父菜单打开才行
@@ -70,6 +70,10 @@ $(function(){
     $(".doc-left-newbar").html('');
     $(".iframe_content").css("padding-left","30px");
     $(".doc-left .nav-list li a i ").css("margin-left" , '10px');
+    $(".search-input-append").css("width","100%");
+    $(".search-query-input").css("width","70%");
+
+
 
   }