So erhalten Sie unbegrenzte Spaltenunterkategorien in DEDECMS
Wie erhalte ich unbegrenzte Spaltenunterkategorien in DEDECMS?
Die meisten Unternehmenswebsites verwenden DEDECMS. Als ich heute eine Website für einen Kunden entwarf, stieß ich nach Abschluss der automatischen internen Verlinkung und der vollständigen URL-Rechtschreibformate auf ein kleines Problem, da es sich um die meisten Produkte handelt Es gibt vier Ebenen. Der Kunde hat gewünscht, dass auf jeder Ebene ein Popup-Menü zum Aufrufen von Unterkategorien vorhanden ist. DEDECMS kann jedoch standardmäßig nur die Kategorie der ersten Ebene aufrufen. Nach harter Arbeit, Baidu + GOOGLE + meinem eigenen Gehirn habe ich es endlich herausgefunden. Ich traue mich nicht, es für mich zu behalten, also werde ich es mit Freunden in Not teilen.
Empfohlenes Lernen: Dreamweaver cms
Ändern Sie zunächst den Code der Datei /include/taglib/channerl.lib.php wie folgt:
Der Code lautet wie folgt:
<?php function lib_channel(&$ctag,&$refObj) { global $_sys_globals,$envs,$dsql; $attlist = “typeid|0,reid|0,row|100,col|1,type|son,currentstyle|”; FillAttsDefault($ctag->CAttribute->Items,$attlist); extract($ctag->CAttribute->Items, EXTR_SKIP); $innertext = $ctag->GetInnerText(); if(empty($typeid) && $envs['typeid']!=0) { $typeid = $envs['typeid']; $reid = $envs['reid']; }else{ $reid=0; } if($type==”||$type==’sun’) $type=”son”; if($innertext==”) $innertext = GetSysTemplets(“channel_list.htm”); if($reid==0 && $typeid>0) { $dbrow = $dsql->GetOne(“Select reid From ying_arctype where id=’$typeid’ “); if(is_array($dbrow)) $reid = $dbrow['reid']; } $likeType = ”; if($type==’top’) { $sql = “Select id,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath,description From ying_arctype where reid=0 And ishidden<>1 order by sortrank asc limit 0,$row”; } else if($type==”son”) { //if($_sys_globals['typeid']>0) $typeid = $_sys_globals['typeid']; if($typeid==0) { return ”; } $sql = “Select id,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath,description From ying_arctype where reid=’$typeid’ And ishidden<>1 order by sortrank asc limit 0,$row”; } else if($type==”self”) { if($reid==0) { return ”; } $sql = “Select id,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath,description From ‘ying_arctype’ where reid=’$reid’ And ishidden<>1 order by sortrank asc limit 0,$row”; } //And id<>’$typeid’ $dtp2 = new DedeTagParse(); $dtp2->SetNameSpace(“field”,”[","]“); $dtp2->LoadSource($innertext); $dsql2 = clone $dsql; $dsql->SetQuery($sql); $dsql->Execute(); $line = $row; $GLOBALS['autoindex'] = 0; for($i=0;$i < $line;$i++) { if($col>1) $likeType .= “<dl>\r\n”; for($j=0;$j<$col;$j++) { if($col>1) $likeType .= “<dd>\r\n”; if($row=$dsql->GetArray()) { if($type==’self’ && $row['id']==$typeid) //处理同级栏目中,当前栏目的样式 { if($currentstyle!=”) { $linkOkstr = $currentstyle; $row['typelink'] = GetOneTypeUrlA($row); $linkOkstr = str_replace(“~typelink~”,$row['typelink'],$linkOkstr); $linkOkstr = str_replace(“~typename~”,$row['typename'],$linkOkstr); $likeType .= $linkOkstr; } }else { $row['typelink'] = $row['typeurl'] = GetOneTypeUrlA($row); if(is_array($dtp2->CTags)) { foreach($dtp2->CTags as $tagid=>$ctag){ if(isset($row[$ctag->GetName()])) { $dtp2->Assign($tagid,$row[$ctag->GetName()]); } elseif (preg_match(‘/^sonchannel[0-9]*$/’,$ctag->GetName())) { $dtp2->Assign($tagid,lib_channel_son($ctag,$row['id'],$dsql2)); } } } $likeType .= $dtp2->GetResult(); } } if($col>1) $likeType .= “</dd>\r\n”; $GLOBALS['autoindex']++; }//Loop Col if($col>1) { $i += $col – 1; $likeType .= ” </dl>\r\n”; } }//Loop for $i reset($dsql2); $dsql->FreeResult(); return $likeType; } function lib_channel_son($ctag,$typeid = 0,$dsql2) { $attlist = “row|100,col|1,currentstyle|”; FillAttsDefault($ctag->CAttribute->Items,$attlist); extract($ctag->CAttribute->Items, EXTR_SKIP); $innertext = $ctag->GetInnerText(); $dsql3 = clone $dsql2; $likeType = ”; //if($_sys_globals['typeid']>0) $typeid = $_sys_globals['typeid']; if($typeid==0) { return ”; } $sql = “Select id,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath,description From ying_arctype where reid=’$typeid’ And ishidden<>1 order by sortrank asc limit 0,$row”; //And id<>’$typeid’ $dtp2 = new DedeTagParse(); $dtp2->SetNameSpace(“field”,”[","]“); $dtp2->LoadSource($innertext); $dsql2->SetQuery($sql); $dsql2->Execute(); $line = $row; for($i=0;$i < $line;$i++) { if($col>1) $likeType .= “<dl>\r\n”; for($j=0;$j<$col;$j++) { if($col>1) $likeType .= “<dd>\r\n”; if($row=$dsql2->GetArray()) { $row['typelink'] = $row['typeurl'] = GetOneTypeUrlA($row); if(is_array($dtp2->CTags)) { foreach($dtp2->CTags as $tagid=>$ctag){ if(isset($row[$ctag->GetName()])) { $dtp2->Assign($tagid,$row[$ctag->GetName()]); } elseif (preg_match(‘/^sonchannel[0-9]*$/’,$ctag->GetName())) { $dtp2->Assign($tagid,lib_channel_son($ctag,$row['id'],$dsql3)); } } } $likeType .= $dtp2->GetResult(); } if($col>1) $likeType .= “</dd>\r\n”; }//Loop Col if($col>1) { $i += $col – 1; $likeType .= ” </dl>\r\n”; } }//Loop for $i reset($dsql3); $dsql2->FreeResult(); return $likeType; } ?>
Verwenden Sie [field:sonchannel0] [/field:sonchannel0], um ihn in der Vorlage aufzurufen. Dies wird verwendet, um die Unterspalte abzurufen (verwenden Sie [sonchannel+number] als der Labelname, um das Einbetten zu verhindern. Die Tags können bei der Anwendung nicht korrekt analysiert werden. Der Zweck besteht darin, Ihnen die Auswahl von Unterspalten zu erleichtern, wenn Ihre Spalte viele Unterspalten mit unendlichen Ebenen hat. Geben wir ein Beispiel:
Der Code lautet wie folgt:
<ul id="left_nav"> {dede:channel type='son' typeid='16'} <li><a href="[field:typelink/]“>[field:typename/]</a> <ul> [field:sonchannel0] <li><a href="[field:typelink/]“>[field:typename/]</a> <ul> [field:sonchannel1] <li><a href="[field:typelink/]“>[field:typename/]</a> <ul> [field:sonchannel2] <li><a href="[field:typelink/]“>[field:typename/]</a> <ul> [field:sonchannel3] <li><a href="[field:typelink/]“>[field:typename/]</a></li> [/field:sonchannel3] </ul> </li> [/field:sonchannel2] </ul> </li> [/field:sonchannel1] </ul> </li> [/field:sonchannel0] </ul> </li> {/dede:channel} </ul>
Ändern Sie einfach die Nummer in der obigen Typ-ID in die ID Ihrer Hauptkategorie, da ich sie in der offiziellen Kategorie nicht finden konnte DEDE-Forum, ich habe es hier gepostet, ich hoffe, es kann hilfreich und nützlich sein.
Hinweis: Bitte erstellen Sie eine Sicherungskopie, bevor Sie die Datei ändern. Im Falle eines Fehlers werden einige Anführungszeichen im obigen Code möglicherweise automatisch in die volle Breite konvertiert. Bitte ändern Sie sie in die halbe Breite. Alternativ können Sie Xiao fragen Han, um die geänderte Datei zu erhalten.
Das obige ist der detaillierte Inhalt vonSo erhalten Sie unbegrenzte Spaltenunterkategorien in DEDECMS. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

Speicherort für den Download der Empire CMS-Vorlage: Offizieller Vorlagen-Download: https://www.phome.net/template/ Vorlagen-Website eines Drittanbieters: https://www.dedecms.com/diy/https://www.0978.com. cn /https://www.jiaocheng.com/Installationsmethode: Vorlage herunterladen Vorlage entpacken Vorlage hochladen Vorlage auswählen

Der Vorlagenaustausch kann in Dedecms durch die folgenden Schritte implementiert werden: Ändern Sie die Datei global.cfg und legen Sie das erforderliche Sprachpaket fest. Ändern Sie die Hook-Datei taglib.inc.php und fügen Sie Unterstützung für Sprachsuffix-Vorlagendateien hinzu. Erstellen Sie eine neue Vorlagendatei mit einem Sprachsuffix und ändern Sie den erforderlichen Inhalt. Dedecms-Cache leeren.

Wie lade ich lokale Videos mit Dedecms hoch? Bereiten Sie die Videodatei in einem Format vor, das von Dedecms unterstützt wird. Melden Sie sich beim Dedecms-Verwaltungs-Backend an und erstellen Sie eine neue Videokategorie. Laden Sie Videodateien auf der Videoverwaltungsseite hoch, geben Sie die relevanten Informationen ein und wählen Sie die Videokategorie aus. Um beim Bearbeiten eines Artikels ein Video einzubetten, geben Sie den Dateinamen des hochgeladenen Videos ein und passen Sie dessen Abmessungen an.

Dedecms ist ein Open-Source-CMS, mit dem verschiedene Arten von Websites erstellt werden können, darunter Nachrichten-Websites, Blog-Websites, E-Commerce-Websites, Foren und Community-Websites, Bildungswebsites, Portal-Websites und andere Arten von Websites (z. B. Unternehmenswebsites). , persönliche Websites, Fotoalbum-Websites, Video-Sharing-Website)

Dedecms ist ein chinesisches Open-Source-CMS-System, das Inhaltsverwaltung, Vorlagensystem und Sicherheitsschutz bietet. Die spezifische Verwendung umfasst die folgenden Schritte: 1. Dedecms installieren. 2. Konfigurieren Sie die Datenbank. 3. Melden Sie sich bei der Verwaltungsoberfläche an. 4. Inhalte erstellen. 5. Richten Sie die Vorlage ein. 6. Benutzer verwalten. 7. Warten Sie das System.

DedeCMS ist ein Open-Source-Content-Management-System, das einige potenzielle Schwachstellen und Sicherheitsrisiken aufweist: 1. SQL-Injection-Schwachstelle. Angreifer können nicht autorisierte Vorgänge ausführen oder vertrauliche Daten erhalten, indem sie bösartige SQL-Abfrageanweisungen erstellen. 2. Datei-Upload-Schwachstelle bösartiger Code an den Server, um beliebigen Code auszuführen oder Serverberechtigungen zu erhalten; 3. Verlust vertraulicher Informationen; 4. Nicht authentifizierte Ausnutzung von Sicherheitslücken;

Präziser und zuverlässiger Evaluierungsbericht zum Dedecms-Konvertierungstool Mit der rasanten Entwicklung des Internetzeitalters ist die Website-Erstellung für viele Unternehmen und Einzelpersonen zu einem der notwendigen Werkzeuge geworden. Bei der Website-Erstellung kann der Einsatz eines Content-Management-Systems (CMS) die Inhalte und Funktionen der Website bequemer und effizienter verwalten. Unter anderem wird dedecms als bekanntes CMS-System häufig in verschiedenen Website-Erstellungsprojekten verwendet. Manchmal stehen wir jedoch vor der Notwendigkeit, die dedecms-Website in andere Formate zu konvertieren. In diesem Fall müssen wir ein Konvertierungstool verwenden

Das Erlernen der Dedecms-Codierungskonvertierungsfunktion ist nicht kompliziert. Einfache Codebeispiele können Ihnen helfen, diese Fähigkeit schnell zu erlernen. In dedecms wird die Codierungskonvertierungsfunktion normalerweise verwendet, um Probleme wie verstümmelte chinesische Zeichen und Sonderzeichen zu lösen und den normalen Betrieb des Systems und die Genauigkeit der Daten sicherzustellen. Im Folgenden wird detailliert beschrieben, wie Sie die Codierungskonvertierungsfunktion von dedecms verwenden, damit Sie verschiedene Anforderungen im Zusammenhang mit der Codierung problemlos bewältigen können. 1.UTF-8 zu GBK In dedecms, wenn Sie UTF-8-codierte Zeichenfolgen in G konvertieren müssen
