Wie ruft DedeCMS mehrstufige Spalten und Inhaltslisten zyklisch auf?
DedeCMS-Schleifen zum Aufrufen von mehrstufigen Spalten und Inhaltslisten
Empfohlene Lerninhalte: Dream Weaver cms
Dedecms ist ziemlich gut Natürlich zusätzlich zur technischen Antwortgeschwindigkeit des Forums! ! Heute werde ich einen relativ praktischen kleinen Code zum zyklischen Aufrufen von Unterspalten und deren Inhaltslisten teilen. Tatsächlich können Sie ihn auch sehen, indem Sie sich das Tag-Handbuch ansehen, aber es gibt immer noch faule Leute!
Laut Tag-Handbuch kann im DedeCMS-System das Tag „channelartlist“ zum Durchlaufen von Unterspalten und deren Spaltendaten verwendet werden. Es heißt, dass es auch das einzige im DedeCMS-System ist, das Tags unterstützt Verschachtelung. Die grundlegende Verwendung von Aufruf-Tags ist wie folgt und kann nach Bedarf geändert werden:
<div> {dede:channelartlist} <dl> <dt><strong><a href="{dede:field name='typeurl'/}">{dede:field name='typename'/}</a></strong> <span><a href="{dede:field name='typeurl'/}">更多...</a></span></dt> <dd> <ul> {dede:arclist titlelen='60' row='8'} <li><span>[field:pubdate function="MyDate('m-d',@me)'/]</span><a href="[field:arcurl /]"> [field:title /]</a></li> {/dede:arclist} </ul> </dd> </dl> {/dede:channelartlist} </div>
Der obige Code kann den Aufruf von Unterspalten und Unterspalten-Inhaltslisten auf der Homepage realisieren! Lassen Sie uns über die Verwendung des Channelartlist-Tags auf Listenseiten und Inhaltsseiten sprechen.
1. Parametereinführung
Das Channelartlist-Tag unterstützt vorübergehend drei Parameter:
typeid='0', um die Spalten-ID der oberen Ebene einzuschränken; Verwenden Sie top, was „“ unterstützt“, was mehrere Spalten bedeutet.
row='20' Die Anzahl der zu durchlaufenden Spalten, der Standardwert ist 20;
cacheid = '' Tag-Cache-ID, normalerweise leer
Aber wenn Sie den obigen Code einfach kopieren und unverändert auf der Seite der letzten Spalte oder der Inhaltsseite einfügen, werden keine Aufrufergebnisse angezeigt, da im Tag „channelartlist“ die Typ-ID leer ist und die aktuelle Spalte bedeutet. aber die ultimative Spaltenliste und die Inhaltsseite haben keine untergeordneten Spalten, daher wird ein Fehler auftreten!
2. Aufrufbeispiel
Auf der ultimativen Listenseite oder Inhaltsseite sollte die richtige Aufrufmethode wie folgt lauten:
{dede:channelartlist typeid='top'}
Hier wird „top“ eingegeben. Der oberste Wert kann durch die gewünschte Spalten-ID der oberen Ebene ersetzt werden, er darf jedoch nicht leer sein. Darauf muss jeder achten!
3. Spaltenhervorhebung und Spezialeffektaufruf
Unter diesem Tag können Sie direkt {dede:field name='typename'/} bzw. {dede:field name='typeurl' verwenden . /} zur Darstellung des Spaltennamens und des Spaltenlinkes, die hier ebenfalls eingeführt werden, wie zum Beispiel:
{dede:field name='id'/}与{dede:field name='typeid'/} 均表示循环中的栏目ID; {dede:global name='itemindex'} 表示循环递增变量,从1开始; {dede:global name='itemparity'} 表示循环魔法变量,单数为1,双数为2;
Das Obige sollte direkt in der Kanalartliste angewendet werden auf die 2 und 3 gezahlt werden. Mit diesen beiden Variablen können Sie ganz einfach verschiedene, sehr personalisierte Effekte erstellen, z. B. die Farbe der Spalten in jeder zweiten Zeile ändern.
In Bezug auf die Hervorhebung dieser Spalte ist die Datei „channelartlist.lib.php“ nicht im Lieferumfang enthalten, aber durch das folgende DIY kann die aktuelle Spalte hervorgehoben werden. Methode (am Beispiel von dedecms 5.6):
Öffnen Sie die Datei „channelartlist.lib.php“ und suchen Sie den folgenden Code:
$pv->Fields['typeurl'] = GetOneTypeUrlA($typeids[$i]);
Fügen Sie den folgenden Code in die nächste Zeile ein:
if($typeids[$i]['id'] == $refObj->TypeLink->TypeInfos['id']){ $pv->Fields['currentstyle'] = ' id="pic_focus"'; } else{ $pv->Fields['currentstyle'] = ''; }
Dann können Sie es mit {dede:field name='currentstyle'/} in der Vorlage aufrufen.
Das obige ist der detaillierte Inhalt vonWie ruft DedeCMS mehrstufige Spalten und Inhaltslisten zirkulär auf?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!