Heim >CMS-Tutorial >DEDECMS >So fügen Sie das Attribut „notypeid' zum DreamWeaver-Artlist-Tag hinzu, um die Spaltenfilterung zu implementieren
Wie füge ich das notypeid-Attribut zum Dreamweaver-Artlist-Tag hinzu, um die Spaltenfilterung zu implementieren?
Die Tag-Funktion von DreamWeaver ist sehr leistungsfähig. Solange Sie mit diesen Tags vertraut sind, können Sie problemlos verschiedene Formen von Hintergrunddaten im Vordergrund aufrufen. Natürlich wäre es noch perfekter, wenn wir etwas über die Technologie verstehen und das Label Dreamweaver verbessern könnten.
Empfohlene Studie: Dreamweaver cms
Ich habe kürzlich die Spalten meiner kleinen Website erweitert und unterteilt, von ursprünglich sieben Spalten der ersten Ebene auf zehn. Bei den Spalten der ersten Ebene ist jede Spalte der ersten Ebene zur besseren Inhaltsverwaltung weiter in vier bis acht Spalten der zweiten Ebene unterteilt.
Aber ich möchte nicht, dass eine der Spalten in der neuesten Artikelliste auf der Homepage angezeigt wird. Gemäß der vorhandenen Methode von Dreamweaver soll das typeid-Attribut des arclist-Tags geändert werden Spalte, die ich in der Liste der neuesten Artikel auf der Homepage anzeigen möchte. Alle Spalten-IDs sind festgelegt, aber es gibt zu viele Spalten-IDs, deren Pflege in Zukunft schwierig sein wird. Ich denke, da arclist Flag und Noflag unterstützt. Es sollte auch Typeid und Notypeid unterstützen, oder?
Nach einigen Tests und der Nachverfolgung des Quellcodes habe ich festgestellt, dass Notypeid von DreamWeaver nicht unterstützt wird. Schreiben Sie es selbst!
Öffnen Sie die Datei /include/taglib/arclist.lib.php und suchen Sie diesen Code (etwa Zeile 130):
return lib_arclistDone ( $refObj, $ctag, $typeid, $ctag->GetAtt('row'), $ctag->GetAtt('col'), $titlelen, $infolen, $ctag->GetAtt('imgwidth'), $ctag->GetAtt('imgheight'), $listtype, $orderby, $ctag->GetAtt('keyword'), $innertext, $envs['aid'], $ctag->GetAtt('idlist'), $channelid, $ctag->GetAtt('limit'), $flag,$ctag->GetAtt('orderway'), $ctag->GetAtt('subday'), $ctag->GetAtt('noflag'), $tagid,$pagesize,$isweight );
Fügen Sie am Ende der letzten Klammer hinzu (beachten Sie das Komma davor). ):
,$ctag->GetAtt('notypeid')
Suchen Sie dann diesen Codeabschnitt (etwa Zeile 168):
function lib_arclistDone(&$refObj, &$ctag, $typeid=0, $row=10, $col=1, $titlelen=30, $infolen=160, $imgwidth=120, $imgheight=90, $listtype='all', $orderby='default', $keyword='', $innertext='', $arcid=0, $idlist='', $channelid=0, $limit='', $att='', $order='desc', $subday=0, $noflag='',$tagid='', $pagesize=0, $isweight='N')
Fügen Sie am Ende der Klammern hinzu (beachten Sie das Komma davor):
,$notypeid=0
Finde es endlich wieder. Dieser Satz:
$orwheres[] = ' arc.arcrank > -1 ';
Fügen Sie den folgenden Code davor ein:
if(!empty($notypeid)) { $orwheres[] = " and arc.typeid NOT IN (".GetSonIds($notypeid).")"; }
Auf diese Weise wird der Code geändert. Probieren Sie nach dem Speichern das notypeid-Attribut im arclist-Tag aus. Bei Websites mit vielen Spalten und komplizierter Inhaltsdarstellung ist dieses Attribut durchaus praktisch.
Verwendung:
Der Code lautet wie folgt:
{dede:arclist row=6 orderby=pubdate type='image.' imgwidth='108' imgheight='150' channelid='1' notypeid='9'}
Das obige ist der detaillierte Inhalt vonSo fügen Sie das Attribut „notypeid' zum DreamWeaver-Artlist-Tag hinzu, um die Spaltenfilterung zu implementieren. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!