Question

Pour un projet en cours i besoin de configurer une vue spécifique pour afficher une galerie detailpage. Il devrait fonctionner comme ceci:

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)

Étape 1-3 sont fait. Mais comment puis-je obtenir Drupal pour construire une page de détails en utilisant les données de la page Vue d'ensemble?

Par exemple quelque chose comme ceci:. http://example.com/gallery-1/detail ou http://example.com/gallery-2/detail

/gallery-n est la page de présentation avec des images liées et detail est le detailpage de /gallery-n.

Je espère que vous comprendrez ce que je veux dire?!

EDIT

Sur la page Aperçu j'ai un tas de thumbails dont chacun sont liés à la galerie de détail (jquery galleriffic) page.

Était-ce utile?

La solution

Si je comprends correctement votre problème, vous devez faire ces choses.

 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. Utiliser des relations en cas de besoin. Si la description n'est pas clair, remplir à demander.

Autres conseils

Vous pouvez essayer quelque chose comme ça, dans un module personnalisé vous faire (ou peut-être déjà): où vous définissez le chemin vers la page que vous voulez dans le menu et le définir comme un rappel qui appelle une fonction et vous pouvez rendre tout ce que vous voulez, ou appelez tout ce que vous voulez.

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

Il suffit de changer MODULENAME avec le nom de votre module. Vous devrez peut-être faire un peu de travail lors de l'appel views_build_view, mais il devrait être un début, vous pouvez poser quelques questions si vous aimez et je vais vous aider.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top