2011-02-03 11 views
0

jCarouselを使用してブロック内に表示するスライドショーを作成しています。コンテンツタイプには画像アップロードフィールドがあり、その画像はカルーセルに表示されます。私は、すべてのノードがカルーセルに異なるイメージを持っていることを望んでいます。ビューでは、タイプ別にフィルタを定義しました。しかし、それはすべての画像をすべてのノードから取得します。これをどうすれば解決できますか?jCarouselモジュールを使用したスライドショーの作成

答えて

0

特定のページの画像を、そのページからアップロードしていますか?

もしそうなら、Node:NID引数を使用できます。

の下で、「引数がない存在する場合に実行するアクションです:」

チェックが

し、「URLからノードID」

+0

ありがとうございます!それが私の問題を解決しました。 :) もう一つ。どのようにスライドショーを個別にスタイルすることができますか?たとえば、1つのタイプのページでは、スライドショーの幅を960ピクセル、別のタイプを600ピクセルにします。 – eXoSaX

+0

template.phpがボディクラスを提供し、page.tpl.phpがbodyクラスを呼び出す場合、ノードタイプごとにテーマを手助けする.node-type-(nodetype)クラスがあります。 – keva

0

ここtemplate.phpのコメントについての詳細情報はだ「デフォルト引数を提供します」 :page.tpl.phpで

<body class="<?php print $body_classes; ?>">

を追加

in template.php、

function phptemplate_preprocess_page(&$vars, $hook) { 
    // Classes for body element. Allows advanced theming based on context 
    // (home page, node of certain type, etc.) 
    $body_classes = array($vars['body_classes']); 
    if (!$vars['is_front']) { 

     // Add unique classes for each page and website section 
     $path = drupal_get_path_alias($_GET['q']); 
     list($section,) = explode('/', $path, 2); 
     $body_classes[] = phptemplate_id_safe('page-' . $path); 
     $body_classes[] = phptemplate_id_safe('section-' . $section); 
     if (arg(0) == 'node') { 
     if (arg(1) == 'add') { 
      if ($section == 'node') { 
      array_pop($body_classes); // Remove 'section-node' 
      } 
      $body_classes[] = 'node-add'; // Add 'node-add' 
     } 
     elseif (is_numeric(arg(1)) && (arg(2) == 'edit' || arg(2) == 'delete')) { 
      if ($section == 'node') { 
      array_pop($body_classes); // Remove 'section-node' 
      } 
      $body_classes[] = 'node-' . arg(2); // Add 'node-edit' or 'node-delete' 
     } 
     } 
    } 
    $vars['body_classes'] = implode(' ', $body_classes); // Concatenate with spaces 
    } 

    function phptemplate_id_safe($string) { 
    if (is_numeric($string{0})) { 
     // If the first character is numeric, add 'n' in front 
     $string = 'n'. $string; 
    } 
    return strtolower(preg_replace('/[^a-zA-Z0-9_-]+/', '-', $string)); 
    } 
関連する問題