Bei der Verwendung von Ansichten zum Anzeigen des Start- und Enddatums wird standardmäßig zwischen zwei Datumsangaben "zu" Text hinzugefügt. Ich habe mich gefragt, wie "in" nach "-" oder etwas anderes konvertiert werden kann.
Vielen Dank
Bei der Verwendung von Ansichten zum Anzeigen des Start- und Enddatums wird standardmäßig zwischen zwei Datumsangaben "zu" Text hinzugefügt. Ich habe mich gefragt, wie "in" nach "-" oder etwas anderes konvertiert werden kann.
Vielen Dank
Antworten:
Bei meinen Antworten wird davon ausgegangen, dass ich ein Feld mit dem Namen "field_event_date" habe, das in meiner Ansicht als Inhalt: Ereignisdatum angezeigt wird.
Antwort 1 - Verwenden Sie die Ansichtsvorlage
Öffnen Sie im Abschnitt "Erweitert" der Ansicht im Abschnitt "Andere" die Themeninformationen
Kopieren Sie den Dateinamen der letzten Designoption für Feldinhalt: Ereignisdatum. In meinem Fall handelt es sich um ein Ansichtsansichtsfeld - VIEWMACHINENAME - BLOCKMACHINENAME - Feldereignisdatum.tpl.php
Kopieren Sie Folgendes hinein:
<?php
/**
* @file
* This template is used to print a single field in a view.
*
* It is not actually used in default Views, as this is registered as a theme
* function which has better performance. For single overrides, the template is
* perfectly okay.
*
* Variables available:
* - $view: The view object
* - $field: The field handler object that can process the input
* - $row: The raw SQL result that can be used
* - $output: The processed output that will normally be used.
*
* When fetching output from the $row, this construct should be used:
* $data = $row->{$field->field_alias}
*
* The above will guarantee that you'll always get the correct data,
* regardless of any changes in the aliasing that might happen if
* the view is modified.
*/
?>
<?php print date("Y-m-d H:i:s", strtotime($row->field_field_event_date[0]["raw"]["value"])); ?>
-
<?php print date("Y-m-d H:i:s", strtotime($row->field_field_event_date[0]["raw"]["value2"])); ?>
Dies gibt so etwas wie 2014-08-09 20:15:00 - 2014-08-12 20:15:00 aus, Formatierung mit der Datumszeichenfolge () .
Antwort 2 - Verwenden Sie Ansichtsfelder
Dies gibt so etwas wie Sonntag, 1. Dezember 2013 - 12:00 - Sonntag, 1. Dezember 2013 - 12:00 aus, basierend auf dem von Ihnen gewählten Format.
[field_my_time] - [field_my_time_1]
.
Obwohl die obige Antwort richtig ist, wird empfohlen, PHP in einer solchen TPL nicht zu verwenden. Drupal wird mit einer Reihe ausgefallener APIs geliefert. Eine davon ist die template_preprocess_views_view_fields ( wie hier zu sehen ).
Führen Sie in Ihrer template.php Folgendes aus:
function YOURTHEME_preprocess_views_view_fields(&$vars) {
if($vars['view']->name == 'YOUR_VIEW') {
if (strpos($vars['fields']['YOUR_FIELD']->content,'to') !== false) {
$vars['fields']['YOUR_FIELD']->content = str_replace('to','-',$vars['fields']['YOUR_FIELD']->content);
}
}
}
In Datum 7.x-2.8 und höher ist die gesamte Zeichenfolge "Startdatum bis Enddatum" übersetzbar. Dies bedeutet, dass eine einfache Möglichkeit, das "in" in ein "-" zu ändern, die Verwendung des String Overrides- Moduls ist. Laden Sie das Modul einfach herunter und aktivieren Sie es. Besuchen Sie dann / admin / config / regional / stringoverrides. Fügen Sie auf dieser Seite unter "Original" "! Startdatum bis! Enddatum" (ohne Anführungszeichen) und unter "Ersetzung" "! Startdatum -! Enddatum" (ohne Anführungszeichen) hinzu. Klicken Sie auf Speichern. Möglicherweise müssen Sie auch die Caches Ihrer Site leeren, bevor Sie die Änderung sehen können.
Ein Vorteil dieser Methode besteht darin, dass das "zu" auf Knoten und Ansichten gleichzeitig in ein "-" geändert wird .