logo

Snippet pour afficher une liste de ressources. C'est un substitut avancé de getResources : il possède toutes les fonctionnalités mais sans défaut .
C'est une alternative à getRessource

Propriétée

Resource selection properties

Ces propriétés déterminent les ressources qui apparaîtront dans la liste générée

Nom Defaut Description
&parents Ressources actuelles Liste des parents séparés par des virgules, pour trouver des résultats . Réglé sur 0 pour un nombre illimité, sur +0 pour le niveau supérieur . Si un identifiant parent commence par un tiret, lui et ses enfants sont exclus de la requête.
&depth 10 Recherche de la profondeur des ressources enfant à partir du parent dans l'arbre des ressources.
&resources   Liste de ressources séparées par des virgules à ajouter aux résultats. Si l'identifiant de la ressource commence par un trait d'union, cette ressource est exclue de la requête.
&context   Limiter les ressources en fonction du contexte donné.
&where   Un ensemble de paramètres de sélection supplémentaires encodés en JSON.
&showHidden 1 Afficher les ressources qui sont cachées dans le menu.
&showUnpublished 0 Afficher les ressources non publiées.
&showDeleted 0 Afficher les ressources qui ont été marquées comme supprimées.
&hideContainers 0 Exclure les ressources conteneurisées, c'est-à-dire les ressources avec «isfolder = 1» ;.
&select 0 Une liste de champs à retrouver séparés par des virgules. Vous pouvez spécifier un tableau de chaînes JSON, par exemple {"modResource":"id,pagetitle,content"}.
&sortby pagetitle Tout champ de ressource pour le tri, y compris les TV si la propriété &includeTVs est également définie. Vous pouvez spécifier une chaîne JSON avec un tableau de plusieurs champs, par exemple {"tvname" : "ASC", "pagetitle" : "DESC"}. Pour effectuer un tri aléatoire, utilisez «RAND()» ;.
&sortdir DESC Sort direction : Ascending or Descending.
&limit 10 Limiter le nombre de résultats . Vous pouvez utiliser «0» ; pour aucune limite.
&offset 0 Nombre des éléments à sauter, depuis le début.
&first 1 Numéro du premier élément du résultat
&last Automatic, by the formula (total + first - 1) Numéro du premier élément du résultat
&loadModels   Liste séparée par des virgules des composants dont vous devez télécharger le modèle pour construire une requête. Exemple : &loadModels=`ms2gallery,msearch2`.
&tvFilters   Liste des filtres sur TVs, délimités ET et OU. Le paramètre spécifié par le séparateur &tvFiltersOrDelimiter représente la condition logique OU qui s'y trouve et les conditions regroupées principalement. Dans chaque groupe, vous pouvez spécifier une liste de valeurs, séparées &tvFiltersAndDelimiter. Les valeurs de recherche peuvent être effectuées dans n'importe quel téléviseur particulier, s'il est fourni «myTV == valeur» ;, ou dans n'importe quel «valeur» ;. Exemple d'appel : &tvFilters=`filter2==one,filter1==bar%|||filter1==foo`. Remarque : le filtre utilise l'opérateur LIKE et le symbole "%" est un métacaractère. Cela permet de rechercher les valeurs des ressources qui se trouvent dans la table site_tmplvar_contentvalues, et non pas dans les paramètres par défaut du TV.
&tvFiltersAndDelimiter "," Séparateur pour la propriété conditionnelle AND &tvFilters.
&tvFiltersOrDelimiter "||" Séparateur pour la propriété conditionnelle OR &tvFilters.

Template Properties

Ces propriétés spécifient les chuncks qui contiennent les modèles pour formater la sortie générée.

Nom Description
&returnIds Réglez à "1" pour renvoyer une chaîne avec une liste d'identifiants de ressources, au lieu de résultats complets. Tous les modèles sont ignorés.
&tpl Nom du Chunck pour le formatage des différents éléments. S'il n'est pas spécifié, le contenu des champs de ressources sera imprimé à l'écran.
&tplFirst Nom du Chunck pour formater le premier élément dans les résultats.
&tplLast Nom du Chunck pour formater le dernier élément dans les résultats.
&tplOdd Nom du Chunck à formater pour chaque élément impair dans les résultats.
&tplWrapper Chunk - wrapper, pour enrober tous les résultats. Accepte un caractère de remplissage : . Il ne fonctionne pas avec &toSeparatePlaceholders.
&wrapIfEmpty Inclut le wrapper extérieur de chunk *&tplWrapper** même s'il n'y a pas de résultats.
&tplCondition Définit un champ de la ressource à évaluer en fonction des clés définies dans la propriété &conditionalTpls.
&tplOperator Opérateur optionnel pour la comparaison du champ de ressources &tplCondition avec un tableau de valeurs et dans le chunck &conditionnelTpls.
&conditionalTpls Un objet JSON définissant une carte des valeurs de champ et les tpl Chunks associés à utiliser lorsque le champ défini par &tplCondition correspond à la valeur. L'opérateur de comparaison est spécifié dans &tplOperator. Pour les opérateurs tels que isempty vous ne pouvez pas utiliser un tableau de clés.
&outputSeparator Chaîne optionnelle pour séparer les résultats.

Propriété des résultatss

Ces propriétés définissent plus précisément les données à récupérer et la manière de les afficher.

Name Default Description
&fastMode 0 Mode rapide pour le traitement des chunks. Toutes les balises brutes (modificateurs de sortie, snippets, etc.) sont supprimées.
&idx   Le numéro de départ des itérations de la sortie.
&setTotal 0 Indique si le total des placeholder doit être complété par un décompte des résultats.
&totalVar total Nom du placeholder pour le stockage du nombre total de résultats.
&includeContent 0 Indique si le champ «content» ; de chaque ressource doit être renvoyé dans les résultats.
&includeTVs   Liste des valeursTVs, séparées par des virgules, qui doivent être incluses dans les espaces disponibles pour chaque modèle de ressource . Exemple : «action,time» ; produira les espaces réservés et .
&prepareTVs «1», prépare tous les TVs spécifiés dans &include TVs Liste, séparée par des virgules, des valeurs TV dépendant du média-source à préparer avant la diffusion.
&processTVs   Liste, séparée par des virgules, des TV qui doivent être traitées en fonction de leurs options de sortie. Si elle est définie sur «1» ;, toutes les TV répertoriées dans &includeTVs seront traitées.
&tvPrefix tv. Préfixe propriété de TV.
&scheme -1 Type de schéma d'URL, passé à modX::makeUrl(). Voir ceci pour une liste d'options valides.
&useWeblinkUrl 0 Générer un lien vers la ressource du lien Internet, et non vers l'URL de destination. NOTE: Pour que cela fonctionne correctement, veillez à utiliser au lieu de par exemple <a href=""> ;</a>.
&toPlaceholder   Enregistrez la sortie dans un placeholder portant ce nom au lieu de l'afficher à l'écran.
&toSeparatePlaceholders   Chaque élément sera affiché dans un espace réservé avec un nom commençant par cette valeur et se terminant par le numéro séquentiel commençant à zéro. Par exemple, en spécifiant la valeur de la propriété «myPl» ;, vous obtiendrez des espaces réservés , & ; etc.
&showLog 0 Afficher des informations de débogage supplémentaires sur le traitement du snippet uniquement pour les utilisateurs du Manager connectés.

Examples

A simple list of the children of resource #1:

[[pdoResources?
        &parents=`1`
        &depth=`0`
        &tpl=`ListRowTpl`
    ]]

To add a TV named «image», then the call will be as follows:

[[pdoResources?
        &parents=`1`
        &depth=`0`
        &tpl=`ListRowTpl`
        &includeTVs=`image`
    ]]

Le chunck ListRowTpl admet désormais le placeholder [[+tv.image]].

Plus d'informations

Lors du portage de morceaux de getResources, un bogue assez courant consiste à utiliser le modificateur strtotime pour formater la date.
Le fait est que les dates des ressources sont déjà stockées sous forme d'horodatage, mais converties en dates normales en raison de l'utilisation des objets modResource - ainsi programmés dans ses propriétés. Et puis, pour formater la date, ils doivent être reconvertis en horodatage. Une double conversion inutile est produite.
pdoTools travaille directement avec la base de données, sans créer d'objets ni convertir leurs valeurs, de sorte que l'horodatage fait partie intégrante de la base, qui n'a pas besoin d'être traitée ultérieurement. Vous pouvez immédiatement appliquer le modificateur de date aux valeurs :

[[+publishedon:date=`%d.%m.%Y`]] ou [[+createdon:date=`%Y-%m-%d`]]

Cela s'applique au travail avec les dates de ressources et autres chunk de pdoTools.