phpcms 무제한 모델 검색을 설정하는 방법
phpcmsv9 전체사이트 검색, 모델 제한 없음!
phpcms 무제한 모델 검색 설정 방법
phpcmsv9 전체 사이트 검색, 무제한 모델, 오늘은 더 많은 지식을 얻었습니다. 우리 모두 알고 있듯이 phpcms는 모델 기반 검색을 사용하면 전체 사이트를 검색할 수 있습니다
v9의 기본 검색 기능만 수정하면 모델 없이 전체 사이트 콘텐츠를 검색할 수 있습니다
다음은 수정된 내용입니다. 버전 검색 모듈의 index.php 파일
<?php defined('IN_PHPCMS') or exit('No permission resources.'); pc_base::load_sys_class('form','',0); pc_base::load_sys_class('format','',0); class index { function __construct() { $this->db = pc_base::load_model('search_model'); $this->content_db = pc_base::load_model('content_model'); } /** * 关键词搜索 */ public function init() { //获取siteid $siteid = isset($_REQUEST['siteid']) && trim($_REQUEST['siteid']) ? intval($_REQUEST['siteid']) : 1; $SEO = seo($siteid); //搜索配置 $search_setting = getcache('search'); $setting = $search_setting[$siteid]; $search_model = getcache('search_model_'.$siteid); $type_module = getcache('type_module_'.$siteid); if(isset($_GET['q'])) { if(trim($_GET['q'])=='') { header('Location: '.APP_PATH.'index.php?m=search');exit; } $typeid = empty($_GET['typeid']) ? 0 : intval($_GET['typeid']); $time = empty($_GET['time']) || !in_array($_GET['time'],array('all','day','month','year','week')) ? 'all' : trim($_GET['time']); $page = isset($_GET['page']) ? intval($_GET['page']) : 1; $pagesize = 10; $q = safe_replace(trim($_GET['q'])); $q = new_html_special_chars(strip_tags($q)); $q = str_replace('%', '', $q);//过滤'%',用户全文搜索 $search_q = $q;//搜索原内容 $sql_time = $sql_tid = ''; if($typeid) $sql_tid = ' AND typeid = '.$typeid; //按时间搜索 if($time == 'day') { $search_time = SYS_TIME - 86400; $sql_time = ' AND adddate > '.$search_time; } elseif($time == 'week') { $search_time = SYS_TIME - 604800; $sql_time = ' AND adddate > '.$search_time; } elseif($time == 'month') { $search_time = SYS_TIME - 2592000; $sql_time = ' AND adddate > '.$search_time; } elseif($time == 'year') { $search_time = SYS_TIME - 31536000; $sql_time = ' AND adddate > '.$search_time; } else { $search_time = 0; $sql_time = ''; } if($page==1 && !$setting['sphinxenable']) { //精确搜索 $commend = $this->db->get_one("`siteid`= '$siteid' $sql_tid $sql_time AND `data` like '%$q%'"); } else { $commend = ''; } //如果开启sphinx if($setting['sphinxenable']) { $sphinx = pc_base::load_app_class('search_interface', '', 0); $sphinx = new search_interface(); $offset = $pagesize*($page-1); $res = $sphinx->search($q, array($siteid), array($typeid), array($search_time, SYS_TIME), $offset, $pagesize, '@weight desc'); $totalnums = $res['total']; //如果结果不为空 if(!empty($res['matches'])) { $result = $res['matches']; } } else { $sql = "`siteid`= '$siteid' $sql_tid $sql_time AND `data` like '%$q%'"; $result = $this->db->listinfo($sql, 'searchid DESC', $page, 10); } var_dump($result); //如果结果不为空 if(!empty($result) || !empty($commend['id'])) { foreach($result as $_v) { if($_v['typeid']) $sids[$_v['typeid']][] = $_v['id']; } if(!empty($commend['id'])) { if($commend['typeid']) $sids[$commend['typeid']][] = $commend['id']; } $model_type_cache = getcache('type_model_'.$siteid,'search'); $model_type_cache = array_flip($model_type_cache); $data = array(); foreach($sids as $_k=>$_val) { $tid = $_k; $ids = array_unique($_val); $where = to_sqls($ids, '', 'id'); //获取模型id $modelid = $model_type_cache[$tid]; //是否读取其他模块接口 if($modelid) { $this->content_db->set_model($modelid); /** * 如果表名为空,则为黄页模型 */ if(empty($this->content_db->model_tablename)) { $this->content_db = pc_base::load_model('yp_content_model'); $this->content_db->set_model($modelid); } $datas = $this->content_db->select($where, '*'); } $data = array_merge($data,$datas); } $pages = $this->db->pages; $totalnums = $this->db->number; //如果分词结果为空 if(!empty($segment_q)) { $replace = explode(' ', $segment_q); foreach($replace as $replace_arr_v) { $replace_arr[] = '<font color=red>'.$replace_arr_v.'</font>'; } foreach($data as $_k=>$_v) { $data[$_k]['title'] = str_replace($replace, $replace_arr, $_v['title']); $data[$_k]['description'] = str_replace($replace, $replace_arr, $_v['description']); } } else { foreach($data as $_k=>$_v) { $data[$_k]['title'] = str_replace($q, '<font color=red>'.$q.'</font>', $_v['title']); $data[$_k]['description'] = str_replace($q, '<font color=red>'.$q.'</font>', $_v['description']); } } } $execute_time = execute_time(); $pages = isset($pages) ? $pages : ''; $totalnums = isset($totalnums) ? $totalnums : 0; $data = isset($data) ? $data : ''; includetemplate('search','list'); } else { includetemplate('search','index'); } } public function public_get_suggest_keyword() { $url = $_GET['url'].'&q='.$_GET['q']; $trust_url = array('c8430fcf851e85818b546addf5bc4dd3'); $urm_md5 = md5($url); if (!in_array($urm_md5, $trust_url)) exit; $res = @file_get_contents($url); if(CHARSET != 'gbk') { $res = iconv('gbk', CHARSET, $res); } echo $res; } /** * 提示搜索接口 * TODO 暂时未启用,用的是google的接口 */ public function public_suggest_search() { //关键词转换为拼音 pc_base::load_sys_func('iconv'); $pinyin = gbk_to_pinyin($q); if(is_array($pinyin)) { $pinyin = implode('', $pinyin); } $this->keyword_db = pc_base::load_model('search_keyword_model'); $suggest = $this->keyword_db->select("pinyin like '$pinyin%'", '*', 10, 'searchnums DESC'); foreach($suggest as $v) { echo $v['keyword']."\n"; } } } ?>
그런 다음 header.html 템플릿에 "무제한" 검색 조건을 추가하고(여기는 아니고 다른 검색 상자 페이지에만 있음) typeid의 해당 값을 0으로 설정하고 검색 index.html,lists.html도 같은 방식으로 처리되어 효과가 나타납니다. 이렇게 하면 모델을 선택하지 않는 한 모든 모델에서 조건을 만족하는 데이터가 검색됩니다. .
PHP 중국어 웹사이트, 수많은 무료 PHPCMS 튜토리얼, 온라인 학습을 환영합니다!
위 내용은 phpcms 무제한 모델 검색을 설정하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











phpcms에서 세부정보 페이지로 이동하는 방법: 1. 헤더 기능을 사용하여 점프 링크를 생성합니다. 2. 콘텐츠 목록을 반복합니다. 3. 콘텐츠의 제목과 세부정보 페이지 링크를 가져옵니다.

PHP CMS는 웹 사이트 콘텐츠 관리를 위한 PHP 기반 오픈 소스 콘텐츠 관리 시스템으로, 사용 편의성, 강력한 기능, 확장성, 높은 보안 및 무료 오픈 소스가 특징입니다. 시간을 절약하고, 웹사이트 품질을 향상시키며, 협업을 강화하고, 개발 비용을 절감할 수 있으며, 뉴스 웹사이트, 블로그, 기업 웹사이트, 전자상거래 웹사이트, 커뮤니티 포럼 등 다양한 웹사이트에서 널리 사용되고 있습니다.

제목: WeChat 로그인 통합 가이드: PHPCMS의 활용 오늘날 인터넷 시대에 소셜 로그인은 웹사이트의 필수 기능 중 하나가 되었습니다. 중국에서 가장 인기 있는 소셜 플랫폼 중 하나인 WeChat의 로그인 기능은 점점 더 많은 웹사이트에서도 사용되고 있습니다. 이 기사에서는 WeChat 로그인 기능을 PHPCMS 웹사이트에 통합하는 방법을 소개하고 구체적인 코드 예제를 제공합니다. 1단계: WeChat Open Platform 계정 등록 먼저 WeChat Open Platform에 개발자 계정을 등록하고 해당 개발 권한을 신청해야 합니다. 로그인 [위챗 오픈 플랫폼]

phpcms는 완전 무료는 아닙니다. phpcms는 오픈 소스 cms 시스템이지만 오픈 소스는 무료 버전과 상업용 버전의 두 가지 버전이 있습니다. 연구용으로 사용하고, 상업적인 용도라면 일정 비용을 지불해야 합니다.

PHPCMS는 오픈 소스, 모듈성, 유연성, 사용자 친화성 및 커뮤니티 지원을 갖춘 무료 오픈 소스 콘텐츠 관리 시스템(CMS)입니다. 기업 웹사이트, 전자상거래 웹사이트, 블로그, 커뮤니티 포럼 등 다양한 유형의 웹사이트를 만드는 데 사용할 수 있습니다. 기술 요구 사항에는 PHP 5.6 이상, MySQL, MariaDB 또는 PostgreSQL 데이터베이스, Apache 또는 Nginx 웹 서버가 포함됩니다.

phpcms에는 두 가지 잘 알려진 버전이 있습니다. 1. 사용자 정의 URL 규칙을 지원하는 phpCMS4 웹사이트 관리 배경이 아름답고 사용하기 쉬우며 기능을 자유롭게 확장할 수 있는 많은 프런트엔드 플러그인이 있습니다. . 다국어, 다중 사이트 관리, 페이지 관리를 지원하는 phpCMS2008R1 관리자는 편리하고 유연하며 매우 가볍고 빠르게 실행됩니다.

phpcms는 mysql 데이터베이스를 사용합니다. phpcms는 PHP+MYSQL을 기술 기반으로 사용하여 개발된 PHP 오픈 소스 웹사이트 관리 시스템입니다. PHPCMS V9는 OOP 방식을 채택하여 기본 운영 프레임워크를 구축합니다. 지원되는 PHP 버전은 PHP5 이상, 지원되는 MYSQL 버전은 MySql 4.1 이상입니다.

PHPCMS 사용자 이름 보안 설정 전략 공개 웹 사이트 개발에서 사용자 계정 보안은 항상 개발자가 매우 중요하게 생각하는 측면이었습니다. 사용자 이름의 보안 설정도 중요합니다. 사용자 이름은 사용자의 로그인 자격 증명일 뿐만 아니라 사용자의 개인 정보를 노출하고 보안 위험을 초래할 수도 있기 때문입니다. 이 기사에서는 PHPCMS의 사용자 이름 보안 설정 전략을 공개하고 개발자가 참조할 수 있는 구체적인 코드 예제를 제공합니다. 1. 일반적인 사용자 이름을 방지하기 위해 개발자는 사용자 이름의 과도한 사용을 방지해야 합니다.
