J'utilise Drupal 7. J'ai créé une vue, qui utilise un champ de date. Je voudrais créer des classes supplémentaires dans le champ de date pour cette vue spécifique.
Par exemple,
<div class="field-content">
<span class="date">10</span>
<span class="month">June</span>
<span class="year">2011</span>
<span class="time"> 8:00 </span>
</div>
Maintenant j'ai un code:
<div class="field-content">
<span class="date-display-single">10 June 2011, 8:00</span>
</div>
Comment faire étape par étape?
Vous devez installer le module de jeton (la dernière version bêta inclut les jetons de champ) et le module de formateurs personnalisés à partir de http://drupal.org/project/custom_formatters .
Ensuite, activez-le à partir de la page des modules.
Allez dans admin-> structure-> formateurs.
Ajoutez un nouveau formateur, mettez-lui un nom que vous aimez.
Format: HTML + jetons
Type de champ: Date
Formateur:
<span class="day">[node:source:field-datefieldname:custom:j]</span> <span class="month">[node:source:field-datefieldname:custom:F]</span> <span class="year">[node:source:field-datefieldname:custom:Y]</span>
Sauver
Maintenant, vous avez créé un formateur de date personnalisé, que vous pouvez utiliser à votre vue!
Vous pouvez le faire sans modules supplémentaires.
Réécrivez les résultats de ce champ de date finale. En utilisant les modèles de remplacement, vous pouvez ensuite écrire quelque chose comme ceci:
<div class="date">
<span class="day">
[created]
</span>
<span class="month">
[created_1]
</span>
<span class="year">
[created_2]
</span>
</div>
Une solution assez rapide (si vous pouvez écrire php), mais légèrement hackée serait de remplacer le modèle pour ce champ (voir Bases de la thématique des vues ), traiter la valeur de date brute avec php pour supprimer le séparé pièces, puis collez-les avec le code HTML de votre choix.
Alternativement, je pense que vous pourriez écrire un formateur de champ de date personnalisé ( ici est quelqu'un qui l'a fait pour D6). Ce serait une bonne solution au cas où vous souhaiteriez réutiliser le formateur personnalisé dans vos nœuds.
Cela n'est pas possible à l'aide de l'interface utilisateur des vues. Vous auriez besoin d'un morceau de code assez complexe, et je serais curieux de connaître votre cas d'utilisation avant de vous encourager à vous lancer dans cette tâche.
Si vous demandiez comment ajouter des classes au champ dans son ensemble, la réponse serait quelque chose comme ceci:
Cliquez sur le champ dans l'interface Vues.
Développez le champ "Paramètres de style".
Cochez la case "Personnaliser le champ HTML", puis la case "Créer une classe CSS".
Entrez votre classe souhaitée.
Peut-être que cette solution sera suffisante. Sinon, je vous souhaite bonne chance.
C'est vraiment facile, (une fois que vous savez comment)
Utiliser un champ personnalisé de suite d'affichage
Allez dans admin/structure/ds/fields
(Dans le menu: Structure -> Display Suite -> Champs)
Cliquez sur ajouter un champ de code
Pour mon cas d'utilisation, j'ai entré ce qui suit
Étiquette
N'importe quoi
Entités
Node
champ limite
Laissé vide
Code de champ
<div>
<span class="mf-month">[node:created:custom:M]</span>
<span class="mf-day">[node:created:custom:d]</span>
</div>
jeton
vérifié
Une fois le champ créé, accédez à la page d'affichage de gestion du type de contenu et du mode d'affichage que vous ajustez et sélectionnez le nouveau champ personnalisé.
Capture d'écran de la configuration ci-dessus