J'ai une vue d'un type de contenu qui contient deux champs de date différents (un avec des répétitions de date et un des dates uniques à plusieurs valeurs). Un seul champ de date est rempli à tout moment. Dans l'affichage de la vue, j'ai combiné les deux champs en masquant le premier champ de date et en réécrivant le second et en incluant le jeton de remplacement du premier et du second. Existe-t-il un moyen d'utiliser maintenant le champ réécrit pour trier la vue par ordre croissant en fonction de ce champ de date combiné? Il semble qu'il le trie en fonction de la valeur d'origine du champ de date.
J'ai fait mes recherches et je n'ai trouvé que des fils anciens, quelque peu liés, avec des impasses.
Le tableau ne trie pas sur le champ réécrit, mais sur le champ d'origine
Vues: champ personnalisé pour les critères de tri
Trier par global: texte personnalisé. C'est possible?
J'espérais qu'il y avait une façon nouvelle ou sournoise d'y arriver.
Réponses:
Si vous ne voulez pas opter pour la route du module, voici une alternative:
1) installez le module Champ calculé
2) ajoutez un champ calculé à votre type de contenu
3) dans les paramètres du champ, dans la zone de texte Code calculé (PHP), vous pouvez accéder aux données du champ.
Obtenez vos champs de date dans votre langue actuelle à une variable.
Vos valeurs de date se trouvent maintenant dans
Faites la logique dont vous avez besoin avec vos champs de date et attribuez le résultat à
Vous disposez maintenant d'un champ triable que vous pouvez utiliser dans les vues, mais vous devez d'abord mettre à jour tous les nœuds car le champ calculé ne sera calculé et enregistré dans la base de données qu'au moment de l'enregistrement du nœud. Il existe de nombreuses façons de le faire, l'une utilise les opérations en bloc de vues, elle vous donne la possibilité de réenregistrer les nœuds dans admin / content.
la source
[und]
syntaxe. Utilisez plutôt field_get_items.Je pense que vous pouvez le faire avec le tri naturel des vues . Il a la possibilité de trier les champs signifie - Activer le tri pour des champs spécifiques . Si vous suivez ce tutoriel, vous aurez une idée !!.
la source
La seule façon sournoise d'y parvenir est que si vous n'utilisez pas la pagination, vous pouvez utiliser le tri PHP dans un remplacement de requête personnalisé qui ne dépend pas de la base de données.
Selon stevector ,
La solution la plus pratique et la plus fiable consiste donc à utiliser le champ calculé comme l'a mentionné Kari Kääriäinen.
la source
C'est un peu un moyen hacky de le faire, mais cela fonctionne et vous n'avez pas besoin de modules supplémentaires.
Créez une étiquette pour le champ que vous souhaitez trier et ne l'excluez PAS de l'affichage. Au lieu de cela, réécrivez l'affichage comme "vide" en ajoutant un
<!---->
commentaire html vide comme valeur de réécriture. Ajoutez ensuite votre autre champ php / réécrit en tant qu'enfant de cette colonne.Cela affichera l'en-tête du tableau pour la colonne correcte pour le tri.
la source