Les avertissements suivants se sont produits :
Warning [2] Undefined array key 0 - Line: 1640 - File: showthread.php PHP 8.2.18 (Linux)
File Line Function
/inc/class_error.php 153 errorHandler->error
/showthread.php 1640 errorHandler->error_callback
/showthread.php 915 buildtree




Note de ce sujet :
  • Moyenne : 0 (0 vote(s))
  • 1
  • 2
  • 3
  • 4
  • 5
[résolu]Récupérer les attributs d'une page quelconque
#5
Tu peux créer une udt : getProperties
Code :
if( isset( $params['to'] ) )
{
    if( isset( $params['type'] ) )
    {
        global $gCms;
        $manager =& $gCms->GetHierarchyManager();
        $node =& $manager->sureGetNodeByAlias($params['to']);
        if (isset($node) && is_object($node) && $node !='')
        {
            $content =& $node->GetContent();
        }
        else echo '<!-- 1getProperties udt : page non trouvée: '.$params['to'].' -->';
        if (isset($content) && is_object($content))
        {
            if ($content->GetPropertyValue($params['type']) != '')
            {
                echo $content->GetPropertyValue($params['type']);
            }
            else echo '<!-- 1getProperties udt : propriété non trouvée: '.$params['type'].' -->';
        }
    }
    else echo '<!-- 2getProperties udt : vous n\'avez pas donné le nom de la propriété : '.$params['type'].' -->';
}
else echo '<!-- 2getProperties udt : vous n\'avez pas donné le nom de la page : '.$params['to'].' -->';
Tu appelles cette udt dans ta page avec {getProperties to='nomDeTaPage' type='thumbnail'} ou une autre propriété que tu désires (ex : image).
Il y a une gestion d'erreur de paramètre qui sera affichée en commentaire dans la source de la page : page non donnée ou inexistante, idem pour le paramètre type.

Tu peux également donner l'id de la page au lieu de son alias en modifiant la ligne $node =& $manager->sureGetNodeByAlias($params['to']);
par $node =& $manager->sureGetNodeById($params['to']);

Have fun Smile


Messages dans ce sujet

Atteindre :


Utilisateur(s) parcourant ce sujet : 1 visiteur(s)