سؤال

بالنسبة للمشروع الحالي ، أحتاج إلى إعداد طريقة عرض محددة لعرض صفحة تفاصيل المعرض. يجب أن تعمل مثل هذا:

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)

الخطوة 1-3 يتم. ولكن كيف يمكنني الحصول على Drupal لإنشاء صفحة تفاصيل باستخدام بيانات صفحة النظرة العامة؟

على سبيل المثال شيء مثل هذا: http://example.com/gallery-1/detail أو http://example.com/gallery-2/detail.

/gallery-n هي صفحة نظرة عامة مع صور مرتبطة و detail هي صفحة التفاصيل /gallery-n.

أتمنى أن تفهم ما أعنيه؟!

تعديل

في صفحة نظرة عامة ، لدي مجموعة من Thumbails التي يرتبط كل منها بصفحة معرض التفاصيل (jQuery Galleriffic).

هل كانت مفيدة؟

المحلول

إذا كنت على صواب تفهم مشكلتك ، فيجب عليك القيام بهذه الأشياء.

 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

PS استخدم العلاقات عند الحاجة. إذا لم يكن الوصف واضحًا ، فملأه مجانًا.

نصائح أخرى

يمكنك تجربة شيء كهذا ، في وحدة مخصصة تقوم بها (أو ربما لديك بالفعل): حيث تقوم بتعيين المسار على الصفحة التي تريدها في القائمة وتعيينها كاستدعاء تستدعي وظيفة وبعد ذلك يمكنك تقديم كل ما أنت تريد ، أو اتصل بما تريد.

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

فقط قم بتغيير اسم المعدل باسم الوحدة النمطية الخاصة بك. قد تحتاج إلى القيام ببعض الأعمال عند الاتصال بـ views_build_view ، ولكن يجب أن تكون بداية ، يمكنك طرح المزيد من الأسئلة إذا أردت وسأساعد.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top