% Nid konumunda (yoldan) görünümler nasıl başlatılır?


11

Somes düğümleri gösteren bir portföy var (views3 + döngüsünü kullanarak slayt gösterisi görüntüler). Her şey iyi çalışıyor, /portfolioona erişmek için varsayılan bir yolum var.

Ancak, her slayt için bir yol ayarlamaya çalışıyorum. /portfolio/%nidKullanmak %nidve bu düğüm kimliğine ilk görüntülenen slayt varsayılan görünümlerini kullanarak istiyorum .

Nasıl mümkün olduğunu bilen var mı? Kullanıcı arayüzüyle denedim ama bunun yeterli olduğunu düşünmüyorum.

Yanıtlar:


1

In jQuery Döngüsü seçeneği vardır startingSlide aradı. Varsayılan olarak bu 0 olarak ayarlanır, şöyle: beginSlide: 0

Doğru hatırlıyorsam, gelişmiş ayarlar için Views kullanıcı arayüzünden jQuery Cycle'a seçenekler ekleyebileceğiniz bir sekme / textarea vardır. Sanırım orada "startsSlide: 5" ekleyebilirsiniz.

Başlangıç ​​slaydının hangisi olduğunu bulmanız (% nid değerini görünümdeki hangi satıra dönüştürmeniz) ve HTML öğesi olarak eklemeniz gerekir. Bu olduğunda jQuery ile getirebilir ve jQuery Cycle seçeneği olarak ekleyebiliriz. Hangisinin en iyi yol olduğundan emin değilim ama bence şöyle bir şey yapabilirsiniz:

    function MYMODULE_views_pre_render(&$view) {
      if($view->name == "MYVIEW") {
        $view->attachment_after = $startingslide;
      }
    }

Elbette orada $ startingslide bulmak için daha fazla kod eklemek zorunda kalacak. $ View-> sonucunun içine bakın ve argüman olan satırlardan hangisinin $ startingslide olacağınızı bulun. Nesneyi aramak için görünümde dpm () kullanın.

Umarım bu size yardımcı olacaktır. Ne yaptığını bana bildir :)


0

Görünümünüze açıkta kalan bir filtre ekleyebilir greater than, sağlanan değeri gösterecek şekilde yapılandırabilir ve URL'sini buna göre taklit edebilirsiniz.

örneğin / portföy? nid_is_greater_than = 3

Ardından filtrenizi css ile gizleyebilirsiniz.


Açıkta bir filtre yerine bir argüman (bağlamsal filtre) kullanırdım - zaten kullanılan argümanlar yoksa ve bu ekstra bir bunların işlenmesi ile karışıklık olmaz.
Alfred Armstrong

Bir alan değeri bir bağlamsal filtre değeri ile karşılaştırmak için hiçbir yolu bilmiyorum .
magtak

İyi bir nokta. Önceki yorumu gönderdiğimde yarı uykuda olmalı, üzgünüm.
Alfred Armstrong

0

Sorununuz görünümle ilgili olduğundan, yapı ile ilgili değil, URL yolunda değil, sunucuda çözülmesini önermem, ancak URL parçası olan istemcide: / portfolio # slide- [nid].

Görünümler slayt gösterisi + döngüsü javascript kodunu okumadım, ama slayt gösterisi başlatıldığında URL parçasını okumak için davranışı benimsemek oldukça kolay sanırım. Ya da belki de kullanabileceğiniz böyle bir mantık var ...


0

Görünümlerin Alanlar bölümünde 'Çıktı Sonuçlarını Yeniden Yaz' seçeneğini kullanmaya ne dersiniz?

  1. Görünümler'de (Görüntü) Alanı Yapılandır> Sonuçları Yeniden Yaz'a gidin
  2. 'Bu alanı bağlantı olarak gönder' onay kutusunu işaretleyin
  3. Bağlantı Yolunu (nid /) ve diğer ayrıntıları girin
  4. Uygula'ya tıklayın
  5. Görünümü Kaydet

Bu yardımcı olur umarım.


0

Views node_view()bu durumda ekrandan geçer ve satırın işaretlemesine dahil olmaz.

İstediğinizi yapmanın en kolay yolu uygulamak hook_preprocess_node(), geçerli bağlamda bir Görünüm aramaktır ve düğüm bu ekranın bir parçası olarak oluşturuluyorsa, bazı değişiklikler yapabilirsiniz.

ŞUNA BİR BAK:

function MYMODULE_preprocess_node(&$vars) {
  if (!empty($vars['view']) && $vars['view']->view_name == 'foo') {
    $nid = $vars['node']->nid;
    $vars['extra_link'] = l('Some text', "node/$nid");
  }
}

Senin içinde node.tpl.phpdosyaya sen erişebileceksiniz$extra_link.

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.