আমি কীভাবে একটি দর্শনে প্রতিটি টার্মের জন্য সর্বশেষতম 3 টি পোস্ট দেখাব?


13

অন্য একটি প্রশ্নের সাহায্যে: প্রতিটি শ্রোতার শর্তের জন্য নতুন নোডগুলি ভিউগুলিতে দেখান আমার প্রয়োজনীয় ভিউটি তৈরি করতে সক্ষম হয়েছি, এটি প্রতিটি শব্দটির জন্য সমস্ত পদ প্রদর্শন করে (শব্দ অনুসারে গ্রুপ করা)? আমি কীভাবে প্রতিটি পদ তাদের সর্বাধিক পোস্টের মাত্র 3 প্রদর্শন করতে সীমাবদ্ধ করব।

যেমন

পদ 1
- পদ 1
- পোস্ট 2
- পোস্ট 3

পদ 2
- পদ 1
- পোস্ট 2
- পোস্ট 3

পদ 3
- পদ 1
- পোস্ট 2
- পোস্ট 3

উত্তর:


9

আপনার যদি কেবল একটি নোডের প্রয়োজন হয় তবে আপনি "প্রতিনিধি নোড" সম্পর্ক ব্যবহার করতে পারেন। তবে আপনার যদি প্রতিটি পদে তিনটি নোডের প্রয়োজন হয় তবে ভিউ ফিল্ড ভিউয়ের মতো কিছু ব্যবহার করুন

1) সামগ্রীর জন্য "শিশু" দর্শন তৈরি করুন। এটার মতো কিছু: এখানে চিত্র বর্ণনা লিখুন

ট্যাক্সোনমি শব্দ যুক্তি, পেজার সীমা, বাছাই এবং ইত্যাদি যুক্ত করুন: এখানে চিত্র বর্ণনা লিখুন

এখন আপনি এই দৃশ্যটি অন্য কোনওটির সাথে সংযুক্ত করতে পারেন।

2) শ্রমশক্তি ভিউ তৈরি করুন: এখানে চিত্র বর্ণনা লিখুন

লুকানো টার্ম আইডি ক্ষেত্র যুক্ত করুন এবং তারপরে "গ্লোবাল: ভিউ" ক্ষেত্র যুক্ত করুন: এখানে চিত্র বর্ণনা লিখুন

ক্যাশে কনফিগার করতে ভুলবেন না থেকে দেখেছে ফিল্ড দেখুন পৃষ্ঠা:

দৃশ্যের ক্যাচিংয়ের সাথে একযোগে এই মডিউলটি ব্যবহার করার জন্য এটি অত্যন্ত প্রস্তাবিত। মতামত সামগ্রী ক্যাশে এবং ক্যাশে ক্রিয়াকলাপ দর্শন ক্যাশে করার ভাল উপায়।


ধন্যবাদ কালাব্রো। আপনার পদ্ধতির পাশাপাশি সঠিক। আমি মূলত এই পথে যাচ্ছিলাম তবে দেখতে চেয়েছিলাম যে কোনও টন ভিউ তৈরির চেয়ে আরও ভাল উপায় আছে এবং তারপরে দেখার পরে এম্বেড ভিউ।
নাইজেল ওয়াটারস

2
এটি একটি টন নয়, @ নিজেলওয়াটার। এটি কেবলমাত্র দুটি: নোডের জন্য একটি এবং শর্তাদির জন্য একটি। এই সমাধানটি বেশ স্থিতিশীল এবং আমি এটি অ-মানক দর্শন তালিকার জন্য ব্যবহার করি।
কলাব্রো

আমার ভুল বোঝাবুঝি আমি ভেবেছিলাম প্রতিটি গ্রুপের জন্য আমার দৃষ্টিভঙ্গি তৈরি করা দরকার।
নাইজেল ওয়াটারস

এটি আমার ব্যবহারের ক্ষেত্রে প্রায় নিখুঁত। আমার একমাত্র ইস্যুটি শিশু দর্শনের জন্য "আরও" লিঙ্ক, একই দৃশ্যের লিঙ্কগুলি এবং এখনও কেবলমাত্র উপাদানগুলির সীমিত সংখ্যার প্রদর্শন করে! অভিভাবক দর্শন থেকে শিরোনামগুলি শৃঙ্খলার সাথে লিঙ্ক করে যা পছন্দসইভাবে কাজ করে।
চিহ্নিত করুন

আহা - আমি কেবলমাত্র প্রথম এন আইটেম দেখানো এবং আরও একটি লিঙ্ক দিয়ে আমার শিশু দেখার জন্য একটি ব্লক প্রদর্শন তৈরি করেছি। আরও লিঙ্ক পৃষ্ঠা প্রদর্শনে নেভিগেট করে এবং এটি পেজারের সাহায্যে সমস্ত আইটেম প্রদর্শন করে। গ্রেট! এখন একমাত্র ইস্যুটি হ'ল শিরোনাম (মাস্টার ভিউতে) কর শোধক পদটির লিঙ্কগুলি, তবে আমি হয় এটি লিঙ্কমুক্ত করতে পারি, বা সন্তানের দৃশ্যের পৃষ্ঠা প্রদর্শন একই URL এ পরিবর্তন করতে পারি।
চিহ্নিত করুন

7

আরও তদন্ত করার পরে, মনে হচ্ছে পিক সংক্ষিপ্তসারটি আপনি যা চান ঠিক তেমনই হতে পারে। ডকুমেন্টেশনের স্ক্রিনশটগুলি দ্রুপাল 6 এর জন্য এবং এটি দ্রুপাল 7-তে কিছুটা আলাদা, তাই আমি কিছু আপডেট হওয়া স্ক্রিনশট সংযুক্ত করেছি।

  • 'প্রাসঙ্গিক ফিল্টারগুলি'> থেকে ফিল্মের মান ইউআরএল না থাকায় '>' সংক্ষিপ্তসার প্রদর্শন করুন '>' ফর্ম্যাট 'থেকে পিক সংক্ষিপ্তসারটি চয়ন করুন

'প্রাসঙ্গিক ফিল্টারগুলি'> থেকে ফিল্মের মান ইউআরএল না থাকায় '>' সংক্ষিপ্তসার প্রদর্শন করুন '>' ফর্ম্যাট 'থেকে পিক সংক্ষিপ্তসারটি চয়ন করুন

  • আপনি উপ-দর্শনগুলির একটি দর্শন দেখতে পাবেন। আপনি যে গোষ্ঠীটি সীমাবদ্ধ করতে চান তার জন্য পেজারের পাশের গিয়ারটি ক্লিক করুন।

পেজার পছন্দ আইকন ক্লিক করুন

  • পেজার বিকল্পগুলিতে প্রদর্শন করতে সর্বাধিক আইটেম সন্নিবেশ করান।

পেজার বিকল্পের অধীনে প্রথম ক্ষেত্র

আপনি প্রতিটি গ্রুপের জন্য পেজার সম্পাদনা করতে হবে যা আপনি সীমাবদ্ধ করতে চান, এটি দুর্ভাগ্যজনক।আপনি যখন একটি দলের জন্য পেজার সম্পাদনা করেন, তখন এটি সমস্ত গোষ্ঠীর জন্য সেটিংস পরিবর্তন করে। আপনি যদি গ্রুপের মোট সংখ্যার চেয়ে আলাদা আলাদা নোড প্রদর্শন করতে চান তবে 'কনটেক্সুয়াল ফিল্টারস' (বেগুনি রঙের প্রথম স্ক্রিনশটে) এর অধীনে 'ফর্ম্যাট' সেটিংসে ওভাররাইড করুন।

এটির জন্য [এন] গ্রুপিংয়ের জন্য মূলত [এন] মতামত তৈরির অসুবিধা রয়েছে যা আপনার কতগুলি গ্রুপিংয়ের উপর নির্ভর করে একটি পারফরম্যান্স ইস্যু হতে পারে তবে এটি ক্যোয়ারিকে কেবলমাত্র প্রদর্শিত সংখ্যার জন্য সীমাবদ্ধ করে না। এটি আপনার ব্যবহারের ক্ষেত্রে নির্ভর করে আপনার পারফরম্যান্সকে উন্নত করতে পারে। সর্বদা হিসাবে, দায়বদ্ধভাবে ক্যাশে।


দেখা যাচ্ছে যে প্রতি গ্রুপে পেজারকে ওভাররাইড করা যাবে না। একটি গ্রুপে পেজারে সম্পাদনা হিট করা, মাস্টার পেজার সেটিংসটি টান দেয়। আমি কিছু মিস করছি না হলে?
নাইজেল ওয়াটারস

আহ, ঠিক আছে তুমি। ঠিক আছে, তারপর নিখুঁত। আপনি একবারে তাদের সমস্ত সীমাবদ্ধ করতে সক্ষম হবেন।
বেথ

দুর্ভাগ্যক্রমে এর অর্থ পেজারটি দেখানো গোষ্ঠীর সংখ্যাকেও প্রভাবিত করে। আমি মনে করি যে আমার আসল পোস্টটি বিভ্রান্তিকর কারণ উদাহরণটি কেবল তিনটি পদ সহ তিনটি পদ দেখায়। আমার একক পৃষ্ঠায় প্রতি পদে 3 টি পোস্ট সহ 10 বা ততোধিক শর্তাদি দেখানো দরকার। এত কাছে :(
নাইজেল ওয়াটারস

"প্রদর্শন করার জন্য ওভাররাইড আইটেমগুলি" কিছুই না করে সম্পর্কে আমি ভুল ছিল। কতগুলি দল প্রদর্শন করতে হবে তা নির্ধারণ করতে এটি ব্যবহার করুন। '0' প্রবেশ করানো আপনাকে অসীম গ্রুপ দেয় gives
বেথ

2

কোডে এটি সীমাবদ্ধ করার একটি উপায় হ'ল কাস্টম মডিউলে নিম্নলিখিতগুলির মতো কিছু যুক্ত করা:

function custom_views_pre_render(&$view) {
  //get the rows from the view just before render
  $results = $view->result;
  //create a counter
  $count = '';
  //we're going to built up a new $result array
  $new_results = array();
  //iterate through each view row
  foreach($results as $result) {
    //find the taxonomy term
    $term = $result->taxonomy_term_data_name;
    //add the term to a string of all the terms we've seen so far
    $count .= $term;
    //make sure to separate them with spaces to make them easier to count
    $count .= ' ' ;
    //count how many rows have the same term as the current one
    $term_count = array_count_values(str_word_count($count, 1));

    if($term_count[$term] <= 3){
      //if this is the third or fewer row with this term, add it to the new result array
      $new_results[] = $result;
    }
  }
  //instead of the normal view output, only show the results we put in our array.
  $view->result = $new_results;
}

এটি শ্রমশক্তি শর্তাদি দেখার জন্য যা কোনও সম্পর্কের মাধ্যমে নোডের সাথে সংযুক্ত থাকে। আপনার যদি সবেমাত্র নোডের একটি দৃশ্য থাকে তবে আপনার মাইলেজটি আলাদা হতে পারে।

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

সর্বদা হিসাবে, আপনি উত্পাদন এই জিনিস ক্যাশে করতে চান করতে যাচ্ছেন।


2
আমার লিঙ্গ সম্পর্কে আসলেই মন্তব্য করার দরকার নেই। এটি বেশ ক্ষতিকারক। t.co/i1dKE8hQ t.co/ATfV3mBG যাই হোক না কেন, Hook_views_pre_build()বা এই জাতীয় কোনও কিছুরhook_build_pre_execute() জন্য ব্যবহারযোগ্য হতে পারে যা পারফরম্যান্সের হিটকে হ্রাস করে, তবে আমি তাদের সাথে তেমন পরিচিত নই। অথবা আপনি এই প্রশ্নের আমার উত্তরটি আগে পছন্দ করতে পারেন ।
বেথ

আপডেট: আমার এটি ভাল কর্তৃত্বের (ক্রেল এবং স্টিভেক্টর) উপর রয়েছে যে "আপনি একক ক্যোয়ারিতে প্রতিটি গ্রুপকে আলাদাভাবে সীমাবদ্ধ করতে পারবেন না You এটি আপনাকে রেন্ডারিং পর্যায়ে করতে হবে S দুঃখের সাথে এসকিউএল এটি করতে পারে না।" তারা আরও বলেছিল যে "সেরা আপনি যা করতে পারেন তা ইউনিয়ন প্রশ্নের একটি সিরিজ" তবে তারা মনে করেন না যে ভিউগুলি এটি করতে পারে do
বেথ

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