使用jCarousel模块构建幻灯片

时间:2011-02-03 11:40:15

标签: drupal slideshow drupal-jcarousel

我正在使用jCarousel构建一个以块显示的幻灯片。内容类型具有图像上载字段,这些图像将显示在轮播中。我希望每个节点在轮播中都有不同的图像。在视图中,我按类型定义了过滤器。但是这会从每个节点获取所有图像。我该如何解决这个问题?

2 个答案:

答案 0 :(得分:0)

您在特定页面上想要的图像是通过该页面上传的吗?

如果是这样,您可以使用Node:NID参数。

在“如果参数不存在时采取的行动:”

选中“提供默认参数”

然后“来自网址的节点ID”

答案 1 :(得分:0)

以下是有关template.php评论的更多信息:

在page.tpl.php中添加

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

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