কীভাবে পরিষেবাদি_ভিউগুলি সঠিক উপায়ে অ্যাক্সেস করবেন?


11

আমি পরিষেবাদি_দর্শন মডিউলটির সাথে কিছু ভিউ আনার চেষ্টা করছি । দুর্ভাগ্যক্রমে যথেষ্ট আমি প্রতিক্রিয়া পেতে থাকি: "404: পাওয়া যায় নি: ভিউতে প্রদর্শিত আমার_ভিউ_নাম পাওয়া যায়নি"।

আমি ভিউ 3 ব্যবহার করছি এবং আমি 'পৃষ্ঠা' ডিসপ্লে আইডি দিয়ে একটি ভিউ পরীক্ষার জন্য সংজ্ঞায়িত করেছি। (ডিফল্ট প্রদর্শন আইডি কোনও "ডিফল্ট" নয়)

আমি জানি যে আমাকে ডিসপ্লে_আইডি যুক্তিটি পাস করতে হবে তবে কেবল এটি কার্যকর করতে পারে না।

আমি যে কলগুলি ব্যবহার করার চেষ্টা করছি তা এখানে:

http://www.mywebsite.com/rest/views/my_view_name.json?display_id="page"
http://www.mywebsite.com/rest/views/my_view_name.json?display_id=page
http://www.mywebsite.com/rest/views/my_view_name.json?parameters[display_id]="page"
http://www.mywebsite.com/rest/views/my_view_name.json?args[display_id]="page"

পরিষেবাটির সংস্থান সংজ্ঞাতে এটি স্পষ্ট যে প্রদর্শন_আইডি একটি আর্গুমেন্ট হিসাবে পাস করতে হবে।

'args' => array(
  'view_name' => array(
    'name' => 'view_name',
    'type' => 'string',
    'description' => 'The name of the view to get.',
    'source' => array('path' => '0'),
    'optional' => FALSE,
  ),
  'display_id' => array(
    'name' => 'display_id',
    'type' => 'string',
    'description' => 'The display ID of the view to get.',
    'source' => 'param',
    'optional' => TRUE,
    'default value' => 'default',
  ),...

কেউ কি এই কাজটি পরিচালনা করতে পেরেছেন?

ধন্যবাদ.


আমার মনে হয় mywebsite.com/rest/views/my_view_name.json?display_id= পৃষ্ঠা লিঙ্কটি সঠিক is সমস্যাটি হ'ল আপনি সঠিক প্রদর্শন_আইডি পান নি। ভিউ_ডিসপ্লে সারণীতে ডাটাবেসটি দেখুন।
পাথর ভিও

উত্তর:


1

এই মডিউলটির জন্য একটি Drupal.org ইস্যু পৃষ্ঠায় , কেউ 7.x সংস্করণের জন্য নিম্নলিখিতটি প্রস্তাব করে sugges

The arguments are passed in the usual url format, for example:
http://example.com/my_endpoint/views/view_name?display_id=default&args=123&offset=0&limit=10&return_type=FALSE

Multiple arguments can be used like this:
http://example.com/my_endpoint/views/view_name?display_id=default&args[0]=abc&args[1]=123&offset=0&limit=10&return_type=FALSE

আমি এটি 6.x এ কাজ করার চেষ্টা করছি কিন্তু এখনও সফল হতে পারি নি।


1

আপনার যদি ফায়ারফক্স ইনস্টল থাকে, বা ফায়ারব্যাগ আপনি এইচটিএমএল উত্সটি প্রদর্শন করতে পারেন_ প্রদর্শন পেতে পারেন _ দেখুন এই স্ক্রিন শট (এবং দয়া করে আমার পাতা যুক্তি উপেক্ষা করা!):


1

পরিষেবাদি অনুরোধ দ্বারা ডাকা একটি ভিউতে যুক্তিগুলি পাস করার জন্য আমি পরিষেবাদি_দর্শনগুলির সাথে একই সমস্যার মুখোমুখি হয়েছি এবং মডিউলটিতে কোনও প্যাচ প্রয়োগ করে এটি কার্যকর হবে না তা সমাধান করেছি।

এখানে আমার প্রকল্প থেকে একটি পৃথক প্যাচ

diff --git a/sites/all/modules/services_views/services_views.moduleb/sites/all/modules/services_views/services_views.module
index 9ce8080..65dd92e 100755
--- a/sites/all/modules/services_views/services_views.module
+++ b/sites/all/modules/services_views/services_views.module
@@ -182,6 +182,10 @@ function services_views_views_plugins() {
 function services_views_services_request_preprocess_alter($controller, &$args, $options) {
   if (isset($controller['view info'])) {
     array_unshift($args, $controller['view info']);
+    $args[0]['args'] = array();
+     if (!empty($_GET['args'])) {
+       $args[0]['args'] = $_GET['args'];
+     }
   }
 }

diff --git a/sites/all/modules/services_views/services_views.resource.inc b/sites/all/modules/services_views/services_views.resource.inc
index eb9fbb4..aae2975 100755
--- a/sites/all/modules/services_views/services_views.resource.inc
+++ b/sites/all/modules/services_views/services_views.resource.inc
@@ -111,10 +111,11 @@ function services_views_execute_view($view_info, $view = NULL, $display_id = NUL
     $view_name = $view_info['view_name'];
     $display_id = $view_info['display_id'];

-    $args = array();
+    $args = $view_info['args'];

     $view = views_get_view($view_name);
     $view->set_arguments($args);
+    $view->execute_display($display_id, $args);
   }

আমি প্যাচটির লিঙ্কটি মনে করি না তবে এটি পরিষেবাদি দর্শনগুলির সমস্যাগুলি দেখতে সহায়তা করে

আপনি যদি দেখার জন্য কোনও পরিষেবা প্রদর্শন তৈরি করেন তবে এটি এটিকে নিজেরাই উত্স হিসাবে দেখবেন।এখানে চিত্র বর্ণনা লিখুন

আশা করি এইটি কাজ করবে


0

আপনি চান চান display_id=page_1display_idপরামিতি হতে হবে অভ্যন্তরীণ প্রদর্শনের আইডি। আফাইক ডিফল্ট ডিসপ্লেতে সর্বদা আইডি 'ডিফল্ট' থাকে।

আপনার তৈরি করা কোনও অতিরিক্ত পৃষ্ঠার আইডি এর ড্রুপাল 6 ইউআই তে দৃশ্যমান নয়, তবে আপনি আপনার ভিউতে একটি রফতানি করে ফলাফল ফলাফলটি দেখে এগুলি সন্ধান করতে পারেন।

প্রতিটি প্রদর্শন একটি কল দিয়ে তৈরি করা হয় $view->new_display()যেখানে তৃতীয় প্যারামিটারটি আইডি ( দেখুন_ডিব_জেক্ট :: নতুন_ডিসপ্লে দেখুন )।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.