Frage

Für ein aktuelles Projekt brauche ich eine bestimmte Ansicht zur Einrichtung einer Galerie Detailseite angezeigt werden soll. Es soll wie folgt funktionieren:

1. User clicked a node (costum-post-type: gallery)
2. User received an overview page with linked images
3. User clicked an image
4. User received the gallery page (gallerific view)

Schritt 1-3 ist fertig. Aber wie kann ich Drupal eine Detailseite mit Hilfe der Daten der Übersichtsseite zu bauen?

Für das Beispiel so etwas wie dieses:. http://example.com/gallery-1/detail oder http://example.com/gallery-2/detail

/gallery-n ist die Übersichtsseite mit verknüpften Bildern und detail wird die Detailseite von /gallery-n.

hoffen, dass Sie verstehen, was ich meine?!

Bearbeiten

Auf der Übersichtsseite habe ich eine Reihe von thumbails, die jeweils zum Detail Galerie verbunden sind (jquery galleriffic) Seite.

War es hilfreich?

Lösung

Wenn ich richtig bin Ihr Problem verstehen, sollten Sie diese Dinge tun.

 1. Create view1 for page with linked images. It should be page display with http://example.com/images/%nid
   where %nid is nid argument of gallery. 
 2. Create view2 for gallery detailed page. it should be page display with http://example.com/%nid/detail 
 3. Theme that views as you want.
 4. For view1 for image field use override output in field settings to make it links to %nid/detail

P. S. Verwenden Sie Beziehungen, wo nötig. Falls die Produktbeschreibung nicht klar ist, füllen Sie nicht fragen.

Andere Tipps

Sie können so etwas wie dies versuchen, in einem benutzerdefinierten Modul Sie machen (oder vielleicht haben bereits): wo Sie den Pfad zur Seite legen Sie im Menü möchten, und legen Sie es als einen Rückruf, der eine Funktion aufruft und dann können Sie machen, was Sie wollen, oder rufen Sie, was Sie wollen.

function MODULENAME_menu() {
  $items = array();
  $items['gallery/%/detail'] = array(
    'title' => 'Gallery Detail',
    'page callback' => 'MODULENAME_gallery_detail_page',
    'page arguments' => array(1),
    'access callback' => TRUE,
    'type' => MENU_CALLBACK
  );
  return $items;
}

function MODULENAME_gallery_detail_page($gallery_id) {
  // Here you can render the view as a page, using the gallery
  // id which you passed as a parameter to this function.
  // So Change MYCUSTOMVIEW to the view you want to render
  $view = views_get_view('MYCUSTOMVIEW');
  print views_build_view('page', $view, array(), false, false);
}

Just Änderung MODULE mit dem Namen des Moduls. Möglicherweise müssen einige Arbeit tun, wenn die views_build_view nennen, aber es sollte ein Anfang sein, können Sie einige weitere Fragen stellen, wenn Sie mögen, und ich werde helfen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top