Maison > Tutoriel CMS > DEDECMS > le corps du texte

Comment appeler le nom, l'ID et l'URL de la colonne supérieure actuelle dans DreamWeaver

藏色散人
Libérer: 2019-12-17 10:22:56
original
2407 Les gens l'ont consulté

Comment appeler le nom, l'ID et l'URL de la colonne supérieure actuelle dans DreamWeaver

Comment DreamWeaver appelle-t-il le nom, l'ID et l'URL actuels de la colonne supérieure ?

Lorsque nous utilisons le modèle Dreamweaver pour créer un site Web, nous rencontrons souvent le besoin d'appeler le nom actuel de la colonne de niveau supérieur et le nom par défaut de Dreamweaver {dede:field name='typename' /} ne peut obtenir que la colonne actuelle. Le nom de la colonne d'un niveau sur la page, pas le nom de la colonne de niveau supérieur de la colonne actuelle.

Apprentissage recommandé : Dreamweaver cms

Ajouter en bas de include/common.func.php :

//获取顶级栏目名
function GetTopTypename($id)
{
    global $dsql;
    $row = $dsql->GetOne("SELECT typename,topid FROM dede_arctype WHERE id= $id");
    if ($row['topid'] == '0')
    {
        return $row['typename'];
    }
    else
    {
        $row1 = $dsql->GetOne("SELECT typename FROM dede_arctype WHERE id= $row[topid]");
        return $row1['typename'];
    }
}
Copier après la connexion

Remarque : si la colonne du haut est non lié Pour déterminer le nom de domaine de deuxième niveau, le champ appelé doit être sitepath, le code doit donc être le suivant :

//获取顶级栏目url 
function GetTopTypeurl($id)
{
    global $dsql;
    $row = $dsql->GetOne("SELECT sitepath,topid FROM dede_arctype WHERE id= $id");
    if ($row['topid'] == '0')
    {
        return $row['sitepath'];
    }
    else
    {
        $row1 = $dsql->GetOne("SELECT sitepath FROM dede_arctype WHERE id= $row[topid]");
        return $row1['sitepath'];
    }
}
Copier après la connexion

La fonction fonction appelée par les autres champs de la colonne du haut peut être écrite comme indiqué ci-dessus .

De même, vous pouvez obtenir la méthode d'URL de colonne de niveau supérieur (le champ appelé lorsque la colonne de niveau supérieur est liée au nom de domaine de deuxième niveau est "siturl")

function GetTopTypeurl($id)
{
    global $dsql;
    $row = $dsql->GetOne("SELECT siteurl,topid FROM dede_arctype WHERE id= $id");
    if ($row['topid'] == '0')
    {
        return $row['siteurl'];
    }
    else
    {
        $row1 = $dsql->GetOne("SELECT siteurl FROM dede_arctype WHERE id= $row[topid]");
        return $row1['siteurl'];
    }
}
Copier après la connexion

Quand appelé sur la page d'article ou la page de liste de colonnes, cela peut être réalisé en ajoutant la ligne de code suivante à l'endroit où vous souhaitez appeler le nom de la colonne.

{dede:field name='typeid' function="GetTopTypename(@me)" /}    顶级栏目名
{dede:field name='typeid' function="GetTopTypeurl(@me)" /}     顶级栏目url
Copier après la connexion

dede appelle l'ID de la colonne supérieure

Méthode 1 :

{dede:field.typeid function="GetTopid(@me)"/} dedeyuan recommande cette méthode, c'est faisable après essai.

dede appelle l'ID de colonne de niveau supérieur

Méthode 2 :

1 Là où vous devez appeler l'ID de colonne de niveau supérieur, ajoutez cette syntaxe de balise

.
{dede:type}[feild:topid/]{/dede:type}
Copier après la connexion

2. Modifiez le fichier source et recherchez type.lib.php dans le répertoire taglib sous le répertoire include.

Recherchez cette instruction

$row = $dsql->GetOne(“Select id,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath
From `dede_arctype` where id=’$typeid’ “);
Copier après la connexion

et modifiez-la en

$row = $dsql->GetOne(“Select id,topid,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath
From `dede_arctype` where id=’$typeid’ “);
Copier après la connexion

Ajoutez

if( $row['topid']==0){$row['topid']=$row['id'];}
Copier après la connexion

à la ligne suivante de if(!is_array($row)) return » ; comme ceci, cette instruction peut être appelée à la fois dans les colonnes et les sous-colonnes de niveau supérieur

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!

Étiquettes associées:
source:php.cn
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal