Görünümlerde başlangıç ​​ve bitiş tarihini görüntülerken “-” nasıl “-” olarak değiştirilir?


10

Varsayılan olarak başlangıç ​​ve bitiş tarihini görüntülemek için görünümleri kullanırken, iki tarih arasında "metne" ekler, "-" - veya başka bir şeye "dönüştürmek için uygun yolun ne olduğunu merak ediyordum.

Teşekkürler



Birinin cevapları olduğunda, diğeri kopya olarak kapanmalıdır. İyi yakalama, @RajeevK
Mołot

@ Mołot - Bu yüzden kopya olarak işaretlemedim. Birisinin buna yönelik bir şey olduğunu ve görünüm verilerini değiştirmesini umuyoruz. D6'da yaptım ama bu değil ama çok farklı bir şey.
RajeevK

Yanıtlar:


9

Benim cevaplarımda "field_event_date" adında, benim görüşüme göre İçerik: Etkinlik Tarihi olarak gösterilen bir alanım olduğu varsayılıyor.

Cevap # 1 - Görünüm Şablonunu Kullan

  1. Görünümün Gelişmiş Bölümü'nün altında, Diğer bölümünün altında Tema Bilgileri'ni açın

  2. Alan İçeriği için son tema seçeneğinin dosya adını kopyalayın: Olay Tarihi, benim durumumda görünümler-görünüm-alanı olacak - VIEWMACHINENAME - BLOCKMACHINENAME - field-event-date.tpl.php

  3. Aşağıdakileri kopyalayın:

    <?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"])); ?>
    

Bu, date () biçim dizesini kullanarak 2014-08-09 20:15:00 - 2014-08-12 20:15:00 biçimini çıktılar .

Cevap # 2 - Görünüm Alanlarını Kullanın

  1. Alanlar'ın altına İçerik: Etkinlik Tarihi ekleyin ve Görüntüyü "Yalnızca Başlangıç ​​Tarihi" olarak ayarlayın
  2. Alanlar altında Genel: Özel Metin ekleyin ve Metni - olarak ayarlayın.
  3. Alanlar'ın altına İçerik: Etkinlik Tarihi ekleyin ve Görüntüyü "Yalnızca Bitiş Tarihi" olarak ayarlayın
  4. Alan Ayarları altında, yukarıdaki üç alanı Satır İçi olarak ayarlayın.

Bu, seçtiğiniz biçime bağlı olarak 1 Aralık 2013 - 12:00 - 1 Aralık 2013 - 12:00 Pazar günleri gibi bir şey çıktılar.


Cevap # 2b: aynısını yapın, ancak başlangıç ​​tarihini ilk alandaki ekrandan hariç tutun; Global eklemeyin: Özel Metin; ve bitiş tarihi alanının sonuçlarını, yerine benzer bir şablonla yeniden yazın [field_my_time] - [field_my_time_1].
Hugo

4

Yukarıdaki cevap doğru olmasına rağmen, php'yi böyle bir TPL'de kullanmamak en iyi uygulamadır. Drupal bir grup süslü API ile birlikte gelir, bunlardan biri template_preprocess_views_view_fields'dir ( Burada görüldüğü gibi )

Template.php dosyasında şunları yapın:

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);
  }
 }
}

2

Tarih 7.x-2.8 ve sonraki sürümlerde, "başlangıç ​​tarihi-bitiş tarihi" dizesinin tamamı çevrilebilir. Bu, "-" işaretini "-" olarak değiştirmenin kolay bir yolunun Dize Geçersiz Kılma modülünü kullanmak olduğu anlamına gelir . Modülü indirin ve etkinleştirin, ardından / admin / config / bölgesel / stringoverrides adresini ziyaret edin. Bu sayfada, "Orijinal" altına "! Başlangıç ​​tarihi"! Tırnaksız) ve "Değiştirme" altına "! Başlangıç ​​tarihi -! Bitiş tarihi" (tırnak işaretleri olmadan) ekleyin. Kaydet'i tıklayın. Değişikliği görmeden önce sitenizin önbelleklerini de temizlemeniz gerekebilir.

Bu yöntemin bir yararı, düğümlerde ve görünümlerde aynı anda "-" değerini "-" olarak değiştirmesidir .

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.