Views: Hur ändrar jag utdatat från ett field?

Events happening in the community are now at Drupal community events on www.drupal.org.
Urme's picture

Jag har gjort ett eget block som visar senaste bloggarna (vet att det finns ett default, men ville testa göra det med Views).

Allting fungerar bra, jag har valt titel+update field, update field matar jag ut som "time ago", grejen är att den matar ut t.ex 2 minutes och 4 hours 34 minutes och 3 days 12 hours etc.

Jag skulle vilja att den enbart matar ut minuter om det är mindre än en timme, och bara timmar om det är mindre än en dag och bara dagar om det är mindre än 1 månad.

Går detta att fixa med custom fältet? Eller kan man på något sätta "interupta" hur vyn skriver ut datum? Så jag kan "avrunda" till 2 minutes, 4 hours, 3 days, 1 month bara?

Comments

Theme preprocess

Itangalo's picture

Det du vill göra tror jag är enklast/bäst att åstadkomma med en så kallad preprocess-funktion – en funktion som tar tag i datan som ska visas och låter dig bygga om den.

Det är inte de enklaste sakerna att göra, men principen är som följer:

  1. Använd theme: info länken i din vy för att ta reda på vilken tpl.php-fil som styr visningen av just ditt fält. (Kolla under Basic settings.)
  2. Gör en kopia av rätt tpl.php-fil och lägg den i din temakatalog. (Du hittar originalet någonstans i sites/all/modules/views/theme, tror jag.)
  3. Gör en kopia av den kopierade tpl.php-filen och ge den något av de namnförslag du hittar i theme: info. Namnet ska vara så pass specifikt att mallfilen bara används för den/de vyer du vill påverka, vilket skulle kunna resultera i ett namn i stil med views-view-field--your-view-name--page-1.tpl.php. (Observera att filen med det orörda namnet måste finnas i samma katalog, annars kommer Drupal inte att leta efter varianter av mallfilen.)
  4. Redigera temats template.php-fil och skapa en ny PHP-funktion med namn enligt modellen TEMANAMN_preprocess_views_view_field__your_view_name__page_1(&$vars).
  5. Skriv några fiffiga uttryck i temafunktionen, som bakar om variabeln du vill ändra till något annat. För att veta vilka variabler som finns tillgängliga är Theme Developer en oumbärlig hjälp.

Långt svar på en rätt kort fråga. Lite mer om hur man hanterar preprocess-funktioner finns i en theming-guide jag skrev för ett tag sedan.

Lycka till!
//Johan Falk, NodeOne
**
Vill du lära dig mer om Drupal? Kolla in samlingen av tips och guider!
Har du en fråga om Drupal? Missa inte FAQ-sidan på forumet!
Första svenska boken om Drupal! Börja med Drupal – smart webbpublicering med open source
Kolla in NodeOnes Drupalkurs i Panels och Views 15–17 september!