2010-11-22 9 views

Répondre

1

[Je soulignerai ici que "premier" et "plus ancien" ne sont pas nécessairement la même question.
Vous verrez pourquoi c'est important ci-dessous. Étant donné l'extrait que vous avez utilisé, je vais supposer que ce que vous demandez est le premier en position dans le contenu de l'entrée. Désolé pour la longueur, mais c'est l'un de mes bugs familiers.]

Techniquement, you can't. Ce bug (résumé plus bas si vous n'avez pas de compte Fbz) a finalement été attaché à un jalon, donc j'espère que ce ne sera pas toujours le cas.

Pratiquement, inverser l'ordre de tri sera généralement probablement sortie ce que vous attendez:

<mt:entryassets limit="1" sort_order="ascend"> 

... aussi longtemps que vous rédigez vos entrées de haut en bas, et ne désordre plus tard avec les actifs beaucoup

Le problème sous-jacent est que l'implémentation EntryAssets actuelle ne prend pas réellement en compte votre contenu. Il charge juste une liste d'actifs associés et les trie par les dates created_on de les actifs eux-mêmes, pas dans quel ordre physique ils apparaissent ou même quand ils étaient attachés à cette entrée particulière. Donc, comme un exemple extrême, si vous insérez cinq images dans un message, mon extrait ci-dessus va retourner la première image, comme prévu. Si vous annulez plus tard leur commande et sauvegardez, cela produira toujours la même image, qui est maintenant la dernière (ordinale). Donc, revenons à ce que j'ai dit en haut, vous pensez "premier" et MT vous donne toujours "plus vieux". Et cela nécessite une hypothèse supplémentaire que vous téléchargez toujours les actifs au moment de la composition. Si l'un d'entre eux était déjà dans le système il y a deux ans, il sera retourné parce qu'il est juste plus vieux que tout le reste. Si vous utilisez MT4.3x avec Entry Asset Manager dans la barre latérale de l'écran de composition et que vous l'utilisez pour attacher (plutôt que d'insérer) des ressources, cela devient encore plus compliqué, car il est impossible de distinguer entre les actifs associés à l'entrée de chaque manière.

Donc.
Si vous souhaitez absolument que l'élément renvoyé soit prévisible, vous devez le distinguer du groupe d'une manière ou d'une autre. Il y a this suggestion pour marquer l'actif avec "@first" ou quelque chose de similaire. Ce n'est pas génial, mais vous saurez au moins ce que vous obtenez (en supposant que vous n'indiquiez que un actif par entrée en tant que tel). Si vous avez des champs personnalisés disponibles, vous pouvez voir s'il est plus judicieux de créer un champ d'actif distinct "image en vedette/miniature" dans lequel il irait afin que vous puissiez le tester explicitement. Cela dépendra en fin de compte de la raison pour laquelle vous voulez extraire cet actif particulier.

Questions connexes