Chciałbym użyć modułu Timeago jako formatu daty. Jednak gdy czas temu przekroczył 24 godziny, chciałbym, aby wyświetlał inny format (np. 4 lutego 2013 r.) Podobny do Twittera lub Dribbble.
Próbowałem ulepszyć kod, ale moje umiejętności mnie zawiodły: /
Czy jest może lepszy moduł dla tej przyczyny? Czy też muszę tworzyć własne?
Znalazłem ten kod, który pokazuje, jak chcę, aby działał, jednak nie mam pojęcia, jak zaimplementować to w Drupal.
Każda pomoc jest mile widziana, dzięki.
Odpowiedzi:
Czy użytkownicy naprawdę siedzą na stronie przez wystarczająco długi czas, aby te daty musiały być aktualizowane za pomocą javascript? Większość z nich kliknie coś i w pewnym momencie przeładuje całą stronę. Więc może rozwiązanie php też jest opcją?
Możesz osiągnąć rozwiązanie php za pomocą modułu Custom Formatters .
Jeśli utworzysz nowy niestandardowy program formatujący typu php, z następującym kodem (upewnij się, że jest to typ datestamp):
Podczas tworzenia formatyzatora upewnij się, że wybierasz typ pola „datestamp”. Po utworzeniu formatyzatora, a następnie na karcie zarządzania wyświetlaniem typu zawartości ustaw pole, aby używać tego formatyzatora.
Jeśli nie masz daty zapisanej jako osobne pole, możesz zastosować niestandardowy formatyzator do czasu modyfikacji węzła, instalując moduł Display Suite .
Jeśli nie chcesz używać żadnego z tych modułów, ale chcesz włamać php do swojego motywu lub czegoś takiego, nadal możesz użyć tej samej logiki powyżej z funkcjami format_interval i format_date.
Mam nadzieję, że to może pomóc.
źródło
Gdziekolwiek użyjesz timeago do wyświetlenia sformatowanej daty, czy fragment kodu podobny do tego, który znajduje się poniżej, załatwi sprawę?
źródło
Utwórz moduł MyCustom
myCustom.module zawiera
Utwórz myCustom.install i zawiera
Stosowanie :
źródło