CMS 튜토리얼 Dedecms Dreamweaver Dedecms는 알파벳순 색인 검색 기능을 구현합니다.

Dreamweaver Dedecms는 알파벳순 색인 검색 기능을 구현합니다.

Dec 27, 2019 pm 02:43 PM
dreamweavercms

Dreamweaver Dedecms는 알파벳순 색인 검색 기능을 구현합니다.

DEDE 시스템에는 "알파벳순 인덱스" 기능이 있습니다

# 🎜 🎜#구현 방법은 다음과 같습니다

첫 번째 단계: 먼저 데이터베이스 구조를 수정하고 병음을 저장할 필드를 추가해야 합니다. (권장 학습:##((((#)#🎜🎜 ## 🎜🎜#dede_archives 테이블을 수정하고 pytitle, varchar(250)을 추가하고 비워둘 수 있습니다. 다음은 테이블을 생성하는 SQL 입니다. 빨간색 부분은 새로운 부분으로, phpmyadmin으로 테이블 구조를 직접 수정하여 구현할 수 있습니다.

CREATE TABLE `dede_archives` (
`ID` int(11) unsigned NOT NULL auto_increment,
`typeid` int(11) unsigned NOT NULL default ‘0′,
`typeid2` int(11) unsigned NOT NULL default ‘0′,
`sortrank` int(11) NOT NULL default ‘0′,
`iscommend` smallint(6) NOT NULL default ‘0′,
`ismake` smallint(6) NOT NULL default ‘0′,
`channel` int(11) NOT NULL default ‘1′,
`arcrank` smallint(6) NOT NULL default ‘0′,
`click` int(11) unsigned NOT NULL default ‘0′,
`money` smallint(6) NOT NULL default ‘0′,
`title` varchar(80) NOT NULL default ”,
`shorttitle` varchar(36) NOT NULL default ”,
`color` varchar(10) NOT NULL default ”,
`writer` varchar(30) NOT NULL default ”,
`source` varchar(50) NOT NULL default ”,
`litpic` varchar(100) NOT NULL default ”,
`pubdate` int(11) NOT NULL default ‘0′,
`senddate` int(11) NOT NULL default ‘0′,
`arcatt` smallint(6) NOT NULL default ‘0′,
`adminID` int(11) NOT NULL default ‘0′,
`memberID` int(11) unsigned NOT NULL default ‘0′,
`description` varchar(250) NOT NULL default ”,
`keywords` varchar(60) NOT NULL default ”,
`templet` varchar(60) NOT NULL default ”,
`lastpost` int(11) NOT NULL default ‘0′,
`postnum` int(11) NOT NULL default ‘0′,
`redirecturl` varchar(150) NOT NULL default ”,
`mtype` int(11) NOT NULL default ‘0′,
`userip` varchar(20) NOT NULL default ”,
`locklikeid` smallint(6) NOT NULL default ‘0′,
`likeid` varchar(240) default ”,
`pytitle` varchar(250) default NULL,
PRIMARY KEY (`ID`),
KEY `click` (`click`),
KEY `senddate` (`senddate`),
KEY `typeid` (`typeid`),
KEY `arcrank` (`arcrank`),
KEY `sortrank` (`sortrank`),
KEY `pubdate` (`pubdate`),
KEY `litpic` (`litpic`),
KEY `typeid2` (`typeid2`)
) ENGINE=MyISAM DEFAULT CHARSET=gbk;
로그인 후 복사
2단계: 기사 제목의 병음 이니셜을 가져와 데이터베이스에 저장합니다.

수정해야 할 파일은 다음과 같습니다.

article_add.php、article_add_action.php、article_edit.php、article_eidt_action.php
로그인 후 복사

은 각각 기사를 추가하고 기사를 수정하여 제어되는 4개의 파일입니다.

article_add.php를 다음으로 수정하세요.

        <td> <input name=”iscommend” type=”checkbox” id=”iscommend” value=”11″>
        推荐
        <input name=”isbold” type=”checkbox” id=”isbold” value=”5″>
        加粗
        <input name=”isjump” type=”checkbox” id=”isjump” value=”1″ onClick=”ShowUrlTr()”>
        跳转网址
        <input name=”upinyin” type=”checkbox” id=”upinyin” value=”1″ checked=”checked”>保存拼音 </td>
로그인 후 복사

병음 저장 옵션을 추가하세요.

article_edit.php를 다음으로 수정하세요.

        <td> <input name=”iscommend” type=”checkbox” id=”iscommend” value=”11″<?php if($arcRow["iscommend"]>10) echo ” checked”;?>>
        推荐
        <input name=”isbold” type=”checkbox” id=”isbold” value=”5″<?php if($arcRow["iscommend"]==5||$arcRow["iscommend"]==16) echo ” checked”;?>>
        加粗
          <input name=”isjump” onClick=”ShowUrlTrEdit()” type=”checkbox” id=”isjump” value=”1″<?php echo $arcRow["redirecturl"]==”" ? “” : ” checked”;?>>
        跳转网址
        <input name=”upinyin” type=”checkbox” id=”upinyin” value=”1″<?php if($arcRow["pytitle"]<>”") echo ” checked”;?>>
保存拼音 </td>
로그인 후 복사

위와 동일합니다.

artify_add_action.php를 다음으로 수정:

//获得标题的拼音码
if($upinyin==1) $pytitle = str_replace(“_”,”",GetPinyin($title,1));
//加入数据库的SQL语句
//———————————-
$inQuery = “INSERT INTO dede_archives(
typeid,typeid2,sortrank,iscommend,ismake,channel,
arcrank,click,money,title,shorttitle,color,writer,source,litpic,
pubdate,senddate,arcatt,adminID,memberID,description,keywords,templet,redirecturl,pytitle)
VALUES (‘$typeid’,&#39;$typeid2′,’$sortrank’,&#39;$iscommend’,&#39;$ismake’,&#39;$channelid’,
‘$arcrank’,&#39;0′,’$money’,&#39;$title’,&#39;$shorttitle’,&#39;$color’,&#39;$writer’,&#39;$source’,&#39;$litpic’,
‘$pubdate’,&#39;$senddate’,&#39;$arcatt’,&#39;$adminID’,&#39;0′,’$description’,&#39;$keywords’,&#39;$templet’,&#39;$redirecturl’,‘$pytitle’);”;
로그인 후 복사

GetPingyin 시스템 기능을 통해 기사 제목의 병음 이니셜을 가져오고 삽입 문을 생성합니다. 제목 병음의 첫 글자를 pytitle 필드에 저장합니다.

마찬가지로, article_eidt_action.php를 다음과 같이 수정합니다:

//用拼音命名
if($upinyin==1) $pytitle = str_replace(“_”,”",GetPinyin($title,1));
//更新数据库的SQL语句
//———————————-
$inQuery = ”
update dede_archives set
typeid=’$typeid’,
typeid2=’$typeid2′,
sortrank=’$sortrank’,
redirecturl=’$redirecturl’,
iscommend=’$iscommend’,
ismake=’$ismake’,
arcrank=’$arcrank’,
money=’$money’,
title=’$title’,
color=’$color’,
writer=’$writer’,
source=’$source’,
litpic=’$litpic’,
pubdate=’$pubdate’,
description=’$description’,
keywords=’$keywords’,
templet=’$templet’,
shorttitle=’$shorttitle’,
arcatt=’$arcatt’,
pytitle=’$pytitle’
where ID=’$ID’; “;
로그인 후 복사

세 번째 단계는 홈페이지 템플릿이나 사용해야 하는 기타 템플릿을 수정하는 것입니다. 이 기능.

<div>中文按声母排列:<a href=”/plus/search.php?keyword=a&searchtype=pytitle”>A</a> – <a href=”/plus/search.php?keyword=b&searchtype=pytitle”>B</a> – <a href=”/plus/search.php?keyword=c&searchtype=pytitle”>C</a> – <a href=”/plus/search.php?keyword=d&searchtype=pytitle”>D</a> – <a href=”/plus/search.php?keyword=e&searchtype=pytitle”>E</a> – <a href=”/plus/search.php?keyword=f&searchtype=pytitle”>F</a> – <a href=”/plus/search.php?keyword=g&searchtype=pytitle”>G</a> – <a href=”/plus/search.php?keyword=h&searchtype=pytitle”>H</a> – <a href=”/plus/search.php?keyword=j&searchtype=pytitle”>J</a> – <a href=”/plus/search.php?keyword=k&searchtype=pytitle”>K</a> – <a href=”/plus/search.php?keyword=l&searchtype=pytitle”>L</a> – <a href=”/plus/search.php?keyword=m&searchtype=pytitle”>M</a> – <a href=”/plus/search.php?keyword=n&searchtype=pytitle”>N</a> – <a href=”/plus/search.php?keyword=o&searchtype=pytitle”>O</a> – <a href=”/plus/search.php?keyword=p&searchtype=pytitle”>P</a> – <a href=”/plus/search.php?keyword=q&searchtype=pytitle”>Q</a> – <a href=”/plus/search.php?keyword=r&searchtype=pytitle”>R</a> – <a href=”/plus/search.php?keyword=s&searchtype=pytitle”>S</a> – <a href=”/plus/search.php?keyword=t&searchtype=pytitle”>T</a> – <a href=”/plus/search.php?keyword=w&searchtype=pytitle”>W</a> – <a href=”/plus/search.php?keyword=x&searchtype=pytitle”>X</a> – <a href=”/plus/search.php?keyword=y&searchtype=pytitle”>Y</a> – <a href=”/plus/search.php?keyword=z&searchtype=pytitle”>Z</a> <- 中文软件名按第一汉字声母排列</div>
로그인 후 복사
핵심 부분은 키워드=문자&검색 유형=pytitle입니다.

네 번째 단계는 search.php를 통해 검색을 구현하는 것입니다. dedecms는 3자 미만의 검색을 허용하지 않으므로 수정이 필요합니다.

/plus/search.php 파일을 수정합니다. 수정된 부분은 빨간색입니다.

//判断是否为声母搜索
if($searchtype<>”pytitle”){
if($keyword==”"||strlen($keyword)<3){
ShowMsg(“关键字不能小于3个字节!”,”-1″);
exit();
}
}
로그인 후 복사

다섯 번째 단계, 검색을 수정하고 구현합니다.

Modify /include/inc_arcsearch_view.php, target:

문자 키워드 얻기, 새로운 검색 조건 생성, 검색 유형 키워드 얻기($searchtype) , 호출 다양한 디스플레이 템플릿.

자, 계속해서 수정해 보겠습니다. 빨간색 부분은 신규 또는 수정된 부분입니다.

GetKeywordSql() 함수를 수정하고 다음을 추가합니다.

//声母搜索支持
if($this->SearchType==”pytitle”){
  $kwsql .= ” And dede_archives.pytitle like ‘$this->Keywords%’ “;
}
로그인 후 복사

foreach($ks에 넣는 것이 좋습니다. as $k) {…}다음

6번째 단계는 위의 과정을 거쳐 알파벳순 색인을 이루었지만 시스템의 검색 템플릿이 호출되어 시스템의 특성에 적합하지 않습니다. 알파벳순 색인이 필요하므로 한 단계 더 나아가 새로운 템플릿 지원을 추가해야 합니다.

1. /include/inc_arcsearch_view.php를 수정하고 __construct() 생성자 함수를 수정합니다. For:

if($this->SearchType==”pytitle”) $tempfile = $GLOBALS[&#39;cfg_basedir&#39;].$GLOBALS[&#39;cfg_templets_dir&#39;].”/”.$GLOBALS[&#39;cfg_df_style&#39;].”/”.$GLOBALS[&#39;cfg_templets_pysearch&#39;];
  else $tempfile = $GLOBALS[&#39;cfg_basedir&#39;].$GLOBALS[&#39;cfg_templets_dir&#39;].”/”.$GLOBALS[&#39;cfg_df_style&#39;].”/search.htm”;
로그인 후 복사

목표는 $searchtype==pytitle일 때 전역 변수 cfg_templets_pysearch로 정의된 템플릿을 호출하는지 결정하는 것입니다.

2. include/config_hand.php 파일을 수정합니다. 전역 변수 cfg_templets_pysearch를 추가합니다.

//拼音搜索模板
$cfg_templets_pysearch = ‘pylist.htm’;
로그인 후 복사

그런 다음 템플릿 폴더에 pylist.htm 템플릿을 추가하여 알파벳순 목록의 결과를 표시할 수 있습니다.

7단계, 아직 끝나지 않았습니다. 디스플레이 범위를 제한하려면 어떻게 해야 합니까? 예를 들어, 한 단계 더 나아가기 위해 소프트웨어나 특정 열만 표시하고 싶습니다.

사실 검색은 $typeid(열 번호), $channeltype(문서 유형 번호), $orderby(정렬 방법) 등과 같은 많은 매개 변수를 지원합니다. 이제 무엇을 해야 할지 알았습니다. ?

아직 모릅니다. 예는 다음과 같습니다.

<a href=”/plus/search.php?keyword=a&searchtype=pytitle&typeid=2&$channeltype=3&$orderby=title”>A</a>
로그인 후 복사

위 내용은 Dreamweaver Dedecms는 알파벳순 색인 검색 기능을 구현합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

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

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25 : Myrise에서 모든 것을 잠금 해제하는 방법
4 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

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

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

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

Dreamweaver CMS의 보안은 어떻습니까? Dreamweaver CMS의 보안은 어떻습니까? Jul 27, 2023 pm 05:32 PM

DreamWeaver cms의 보안은 다음과 같은 이유로 상대적으로 우수합니다: 1. 빠른 취약점 복구 2. CSRF(교차 사이트 스크립팅 공격) 보호 4. SQL 주입 보호 . 코드 감사.

Dreamweaver CMS 스테이션 그룹 실습 공유 Dreamweaver CMS 스테이션 그룹 실습 공유 Mar 18, 2024 am 10:18 AM

Dreamweaver CMS 스테이션 그룹 실습 공유 최근 몇 년간 인터넷의 급속한 발전으로 인해 웹사이트 구축이 점점 더 중요해지고 있습니다. 여러 웹사이트를 구축할 때 사이트 그룹 기술은 매우 효과적인 방법이 되었습니다. 많은 웹 사이트 구축 도구 중에서 DreamWeaver CMS는 유연성과 사용 용이성으로 인해 많은 웹 사이트 애호가들의 첫 번째 선택이 되었습니다. 이 기사에서는 Dreamweaver CMS 스테이션 그룹에 대한 몇 가지 실제 경험과 일부 특정 코드 예제를 공유하여 스테이션 그룹 기술을 탐색하는 독자에게 도움이 되기를 바랍니다. 1. Dreamweaver CMS 스테이션 그룹이란 무엇입니까? 드림위버 CMS

DreamWeaver CMS 시스템에 대한 요금이 있습니까? DreamWeaver CMS 시스템에 대한 요금이 있습니까? Aug 11, 2023 pm 01:57 PM

Dreamweaver CMS 시스템에는 요금이 부과되지 않습니다. Dreamweaver CMS는 오픈 소스 콘텐츠 관리 시스템으로, 핵심 코드가 무료로 제공됩니다. 사용자는 최신 버전의 Dreamweaver CMS를 무료로 다운로드하고 관련 기술 지원과 문서를 얻을 수 있습니다. 그러나 사용 중에 사용자는 추가 기능 모듈이나 테마 템플릿을 구매해야 할 수 있으며, 이러한 유료 모듈 및 템플릿 구매 가격은 특정 기능 및 디자인 복잡성에 따라 다릅니다.

DreamWeaver CMS의 보조 디렉토리를 열 수 없는 이유 분석 DreamWeaver CMS의 보조 디렉토리를 열 수 없는 이유 분석 Mar 13, 2024 pm 06:24 PM

제목: DreamWeaver CMS의 보조 디렉터리를 열 수 없는 이유와 해결 방법 분석 Dreamweaver CMS(DedeCMS)는 다양한 웹 사이트 구축에 널리 사용되는 강력한 오픈 소스 콘텐츠 관리 시스템입니다. 그러나 때로는 웹사이트를 구축하는 과정에서 보조 디렉토리를 열 수 없는 상황이 발생할 수 있으며, 이로 인해 웹사이트의 정상적인 작동에 문제가 발생할 수 있습니다. 이 기사에서는 보조 디렉터리를 열 수 없는 가능한 이유를 분석하고 이 문제를 해결하기 위한 구체적인 코드 예제를 제공합니다. 1. 예상 원인 분석: 의사 정적 규칙 구성 문제: 사용 중

Dreamweaver CMS가 데이터베이스에 연결하지 못한 경우 어떻게 해야 합니까? Dreamweaver CMS가 데이터베이스에 연결하지 못한 경우 어떻게 해야 합니까? Jul 20, 2023 pm 02:22 PM

Dreamweaver CMS의 데이터베이스 연결 실패에 대한 해결 방법: 1. 데이터베이스 구성을 확인하고 데이터베이스의 관련 정보가 Dreamweaver CMS의 루트 디렉터리에 있는 /data/config.php 파일에 올바르게 설정되어 있는지 확인합니다. 데이터베이스 연결이 성공했는지 테스트하는 간단한 PHP 스크립트를 생성하여 데이터베이스 연결을 테스트합니다. 3. 데이터베이스 서버 상태를 확인하고 DreamWeaver CMS 루트 디렉터리의 /data/config.php 파일에서 데이터베이스 서버 주소를 변경합니다. 4. 네트워크 연결을 확인하세요.

Dreamweaver CMS 보조 개발 비밀: 개인화된 웹 사이트 사용자 정의 기술 잠금 해제 Dreamweaver CMS 보조 개발 비밀: 개인화된 웹 사이트 사용자 정의 기술 잠금 해제 Mar 28, 2024 pm 03:48 PM

Dreamweaver CMS는 강력한 기능, 친숙한 인터페이스, 사용하기 쉬운 기능을 갖춘 매우 인기 있는 웹 사이트 구축 시스템입니다. 그러나 때로는 특별한 요구 사항을 충족하기 위해 원래 제공했던 기능만으로는 충분하지 않을 수도 있습니다. 이러한 상황에 대응하여 2차 개발을 진행하고 맞춤형 코드를 통해 개인화된 웹사이트 요구를 실현할 수 있습니다. 이 기사에서는 개인화된 웹 사이트 사용자 정의 기술을 활용하는 데 도움이 되는 DreamWeaver CMS의 2차 개발에 대한 몇 가지 비밀을 공유합니다. 1. 홈페이지 캐러셀의 사용자 정의 요구 사항 설명: 원본 Dreamweaver CMS 홈페이지

DreamWeaver CMS 데이터베이스 파일 삭제 시 주의 사항 DreamWeaver CMS 데이터베이스 파일 삭제 시 주의 사항 Mar 13, 2024 pm 09:27 PM

제목: Dreamweaver CMS의 데이터베이스 파일 삭제 시 주의 사항 인기 있는 웹 사이트 구축 도구인 Dreamweaver CMS의 데이터베이스 파일 삭제는 웹 사이트 유지 관리 시 자주 발생하는 문제 중 하나입니다. 잘못된 데이터베이스 파일 삭제 작업으로 인해 웹사이트 데이터가 손실되거나 웹사이트가 제대로 작동하지 않을 수 있습니다. 따라서 데이터베이스 파일 삭제 작업을 수행할 때는 매우 주의해야 합니다. 다음에서는 Dreamweaver CMS 데이터베이스 파일 삭제 시 주의 사항을 소개하고 데이터베이스 파일을 올바르게 삭제하는 데 도움이 되는 몇 가지 특정 코드 예제를 제공합니다. 참고: 준비하다

DreamWeaver CMS에서 인증 코드 표시 문제를 해결하는 방법 DreamWeaver CMS에서 인증 코드 표시 문제를 해결하는 방법 Mar 28, 2024 pm 03:33 PM

죄송합니다. 보안문자 크래킹이나 우회에 대한 정보를 제공할 수 없습니다. 추가 질문이 있거나 도움이 필요하시면 언제든지 알려주시기 바랍니다.

See all articles