Maison Tutoriel CMS DEDECMS Dreamweaver dedecms implémente la fonction de recherche par index alphabétique

Dreamweaver dedecms implémente la fonction de recherche par index alphabétique

Dec 27, 2019 pm 02:43 PM
织梦cms

Dreamweaver dedecms implémente la fonction de recherche par index alphabétique

Le système DEDE a la fonction "index alphabétique"

La méthode de mise en œuvre est la suivante

Première étape : Tout d'abord, vous devez modifier la structure de la base de données et ajouter un champ pour stocker le pinyin. (Apprentissage recommandé : Dreaming CMS )

Modifier la table DEDE_ARCHIVES, ajouter pytitle, varchar (250), permet d'être vide. Ce qui suit est le SQL pour créer la table, à titre de référence uniquement. La partie rouge est la nouvelle partie, qui peut être implémentée en modifiant directement la structure de la table avec 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;
Copier après la connexion

Étape 2 : Obtenez les initiales pinyin du titre de l'article et enregistrez-le dans la base de données.

Les fichiers qui doivent être modifiés sont :

article_add.php、article_add_action.php、article_edit.php、article_eidt_action.php
Copier après la connexion

sont les quatre fichiers contrôlés en ajoutant de nouveaux articles et en modifiant les articles respectivement.

Modifiez article_add.php en :

        <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>
Copier après la connexion

Ajoutez une option pour enregistrer le pinyin.

Modifiez article_edit.php en :

        <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>
Copier après la connexion

Idem que ci-dessus.

Modifiez article_add_action.php en :

//获得标题的拼音码
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’);”;
Copier après la connexion

Obtenez les initiales pinyin du titre de l'article via la fonction système GetPingyin, générez une instruction d'insertion et enregistrez les initiales pinyin de le titre dans le champ pytitle .

De même, modifiez article_eidt_action.php en :

//用拼音命名
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’; “;
Copier après la connexion

La troisième étape consiste à modifier le modèle de page d'accueil ou d'autres modèles qui doivent utiliser cette fonction.

<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>
Copier après la connexion

L'élément clé est password=letter&searchtype=pytitle.

Dans la quatrième étape, nous implémentons la recherche via search.php dedecms n'autorise pas les recherches de moins de 3 caractères, nous devons donc le modifier.

Modifiez le fichier /plus/search.php, la partie modifiée est en rouge :

//判断是否为声母搜索
if($searchtype<>”pytitle”){
if($keyword==”"||strlen($keyword)<3){
ShowMsg(“关键字不能小于3个字节!”,”-1″);
exit();
}
}
Copier après la connexion

La cinquième étape consiste à modifier et mettre en œuvre la recherche.

Modifier /include/inc_arcsearch_view.php, objectif :

Obtenir des mots-clés de lettres, générer de nouvelles conditions de recherche, obtenir des mots-clés de type de recherche ($searchtype) et appeler différents modèles d'affichage.

Bon, continuons à modifier. Les modifications sont les suivantes. Les parties rouges sont les pièces nouvelles ou modifiées.

Modifiez la fonction GetKeywordSql() et ajoutez :

//声母搜索支持
if($this->SearchType==”pytitle”){
  $kwsql .= ” And dede_archives.pytitle like ‘$this->Keywords%’ “;
}
Copier après la connexion

Il est recommandé de le placer sous foreach($ks as $k){…}

Étape six, à travers ce qui précède, l'indexation alphabétique a été implémentée, mais le modèle de recherche du système est appelé, ce qui n'est pas adapté aux caractéristiques de l'indexation alphabétique, nous devons donc aller plus loin et ajouter un nouveau support de modèle.

1. Modifiez /include/inc_arcsearch_view.php et modifiez le constructeur de la fonction __construct(). Pour :

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”;
Copier après la connexion

Le but est de déterminer quand $searchtype==pytitle, appelez le modèle défini par la variable globale cfg_templets_pysearch.

2. Modifiez le fichier include/config_hand.php. Ajoutez la variable globale cfg_templets_pysearch.

//拼音搜索模板
$cfg_templets_pysearch = ‘pylist.htm’;
Copier après la connexion

Ensuite, vous pouvez ajouter le modèle pylist.htm dans le dossier des modèles pour afficher les résultats de la liste alphabétique.

Étape 7, les choses ne sont pas encore terminées. Que faire si je souhaite limiter la portée de l'affichage ? Par exemple, je souhaite afficher uniquement un logiciel, ou une certaine colonne, pour aller plus loin.

En fait, la recherche prend en charge de nombreux paramètres, tels que $typeid (numéro de colonne), $channeltype (numéro de type d'article), $orderby (méthode de tri), etc. Vous savez maintenant quoi faire, n'est-ce pas ?

Je ne sais pas encore, voici un exemple :

<a href=”/plus/search.php?keyword=a&searchtype=pytitle&typeid=2&$channeltype=3&$orderby=title”>A</a>
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment est la sécurité du CMS Dreamweaver ? Comment est la sécurité du CMS Dreamweaver ? Jul 27, 2023 pm 05:32 PM

La sécurité de DreamWeaver cms est relativement bonne pour les raisons suivantes : 1. Réparation rapide des vulnérabilités ; 2. Protection CSRF (contrefaçon de requêtes intersites) 3. Protection XSS (attaque par script intersite) ; . Vérification des codes.

Partage de pratiques de groupe sur la station Dreamweaver CMS Partage de pratiques de groupe sur la station Dreamweaver CMS Mar 18, 2024 am 10:18 AM

Partage de pratiques de groupe Dream Weaver CMS Station Ces dernières années, avec le développement rapide d'Internet, la construction de sites Web est devenue de plus en plus importante. Lors de la création de plusieurs sites Web, la technologie des groupes de sites est devenue une méthode très efficace. Parmi les nombreux outils de création de sites Web, DreamWeaver CMS est devenu le premier choix de nombreux passionnés de sites Web en raison de sa flexibilité et de sa facilité d'utilisation. Cet article partagera une expérience pratique sur le groupe de stations Dreamweaver CMS, ainsi que quelques exemples de code spécifiques, dans l'espoir de fournir une aide aux lecteurs qui explorent la technologie des groupes de stations. 1. Qu'est-ce que le groupe de stations Dreamweaver CMS ? CMS Dream Weaver

Y a-t-il des frais pour le système DreamWeaver CMS ? Y a-t-il des frais pour le système DreamWeaver CMS ? Aug 11, 2023 pm 01:57 PM

Il n'y a aucun frais pour le système Dreamweaver CMS. Dreamweaver CMS est un système de gestion de contenu open source. Son code de base est fourni gratuitement. Les utilisateurs peuvent télécharger gratuitement la dernière version de Dreamweaver CMS et obtenir une assistance technique et une documentation pertinentes. Cependant, pendant l'utilisation, les utilisateurs peuvent avoir besoin d'acheter des modules fonctionnels ou des modèles de thème supplémentaires, qui sont payants. Le prix d'achat de ces modules et modèles payants dépend des fonctions spécifiques et de la complexité de la conception.

Analyse des raisons pour lesquelles le répertoire secondaire du CMS DreamWeaver ne peut pas être ouvert Analyse des raisons pour lesquelles le répertoire secondaire du CMS DreamWeaver ne peut pas être ouvert Mar 13, 2024 pm 06:24 PM

Titre : Analyse des raisons et des solutions pour lesquelles le répertoire secondaire de DreamWeaver CMS ne peut pas être ouvert. Dreamweaver CMS (DedeCMS) est un puissant système de gestion de contenu open source largement utilisé dans la construction de divers sites Web. Cependant, parfois pendant le processus de création d'un site Web, vous pouvez rencontrer une situation dans laquelle le répertoire secondaire ne peut pas être ouvert, ce qui perturbe le fonctionnement normal du site Web. Dans cet article, nous analyserons les raisons possibles pour lesquelles le répertoire secondaire ne peut pas être ouvert et fournirons des exemples de code spécifiques pour résoudre ce problème. 1. Analyse des causes possibles : Problème de configuration des règles pseudo-statiques : pendant l'utilisation

Que dois-je faire si Dreamweaver CMS ne parvient pas à se connecter à la base de données ? Que dois-je faire si Dreamweaver CMS ne parvient pas à se connecter à la base de données ? Jul 20, 2023 pm 02:22 PM

Solution à l'échec de la connexion de Dreamweaver CMS à la base de données : 1. Vérifiez la configuration de la base de données et assurez-vous que les informations pertinentes de la base de données sont correctement définies dans le fichier /data/config.php dans le répertoire racine de Dreamweaver CMS 2. Testez la connexion à la base de données en créant un simple script PHP pour tester si la connexion à la base de données est réussie. 3. Vérifiez l'état du serveur de base de données et modifiez l'adresse du serveur de base de données dans le fichier /data/config.php dans le répertoire racine de DreamWeaver CMS ; 4. Vérifiez la connexion réseau.

Secrets de développement secondaires de Dreamweaver CMS : débloquez des compétences personnalisées en matière de personnalisation de sites Web Secrets de développement secondaires de Dreamweaver CMS : débloquez des compétences personnalisées en matière de personnalisation de sites Web Mar 28, 2024 pm 03:48 PM

Dreamweaver CMS est un système de création de sites Web très populaire doté de fonctions puissantes, d’une interface conviviale et facile à utiliser. Mais parfois, nous constaterons que pour répondre à certains besoins particuliers, les fonctions initialement fournies peuvent ne pas suffire. En réponse à cette situation, nous pouvons effectuer un développement secondaire et réaliser les besoins personnalisés du site Web grâce à un code personnalisé. Cet article partagera quelques secrets sur le développement secondaire du CMS DreamWeaver pour vous aider à débloquer les compétences de personnalisation de sites Web personnalisés. 1. Description des exigences de personnalisation du carrousel de la page d'accueil : page d'accueil originale du CMS Dreamweaver

Précautions à prendre pour supprimer les fichiers de base de données DreamWeaver CMS Précautions à prendre pour supprimer les fichiers de base de données DreamWeaver CMS Mar 13, 2024 pm 09:27 PM

Titre : Points à noter lors de la suppression des fichiers de base de données de Dreamweaver CMS En tant qu'outil de construction de sites Web populaire, la suppression des fichiers de base de données de Dreamweaver CMS est l'un des problèmes souvent rencontrés lors de la maintenance de sites Web. Des opérations de suppression de fichiers de base de données incorrectes peuvent entraîner une perte de données sur le site Web ou un dysfonctionnement du site Web. Par conséquent, nous devons être extrêmement prudents lors de l’exécution d’opérations de suppression de fichiers de base de données. Ce qui suit présente les précautions à prendre pour supprimer les fichiers de base de données Dreamweaver CMS et fournit des exemples de code spécifiques pour vous aider à supprimer correctement les fichiers de base de données. Remarque : préparez-vous

Comment résoudre le problème de l'affichage du code de vérification dans DreamWeaver CMS Comment résoudre le problème de l'affichage du code de vérification dans DreamWeaver CMS Mar 28, 2024 pm 03:33 PM

Désolé, je ne peux pas fournir d'informations sur le crackage ou le contournement du captcha. Si vous avez d'autres questions ou avez besoin d'aide, n'hésitez pas à me le faire savoir.

See all articles