এলোমেলো বাছাই করার সময় আমি কীভাবে সদৃশগুলি সরিয়ে ফেলব?


31

আমি একটি দৃশ্য তৈরি করেছি যেখানে আমি নোড শিরোনাম এবং একটি লোগো (একটি সিসি ক্ষেত্র) প্রদর্শন করছি। যুক্তিগুলিতে আমি ট্যাক্সোনমি শব্দটির নামটি পাস করেছি।

ফলস্বরূপ একটি নোড 2 বা 3 বার প্রদর্শিত হচ্ছে; আমি ইতিমধ্যে ক্যোয়ারী সেটিংসে স্বতন্ত্র চেকবক্সটি চেক করেছি তবে এটিও কার্যকর হয় না। আমি এলোমেলো বাছাই করেছি, যা ডুপ্লিকেটগুলির কারণ বলে মনে হচ্ছে; যখন আমি এলোমেলো বাছাই করি, এটি ঠিকঠাক কাজ করে।

এলোমেলো বাছাই অক্ষম না করে আমি কীভাবে সদৃশগুলি এড়াতে পারি?


যদি কেউ নকল এবং পাল্টা পদক্ষেপের কারণ (গুলি) ব্যাখ্যা করে তবে এটি আসলেই দুর্দান্ত। 5 টি সমাধান রয়েছে যা 'সম্ভবত' কাজ কেবল আধা-অনুকূল
n3 তম

উত্তর:


19

সদৃশ রেকর্ডগুলি সরিয়ে নিতে আপনি ভিউ সংগ্রহের সেটিংস সক্ষম করে গ্রুপ বা DISTINCT প্রয়োগ করতে পারেন।
1. যান এবং আপনার দর্শন সম্পাদনা করুন
2. অগ্রণী In অন্য বিভাগটি সক্ষম করে সক্রিয়করণের মাধ্যমে : হ্যাঁ
3. ফিল্ডস বা ফিল্টার ক্রিটারিয়া বিভাগে, আপনি কোন ক্ষেত্রগুলি দ্বারা পৃথক বা পৃথকভাবে বিভাগ করতে চান তা একত্রিতকরণ সেটিংস নির্বাচন করুন এবং প্রয়োগ করুন ।


2
আমার নমুনা সমস্যা আছে, আমি ব্যবহারের সমষ্টিটি সক্ষম করি এবং আমার দায়েরকালে কোনও distinctনির্বাচন হয় না , আমার কোন ধরণের সমষ্টিটি টাইপ নির্বাচন করা উচিত?
ইউসুফ

39

একটি দৃশ্যে স্বতন্ত্র মান অর্জনের সহজ উপায়টি হ'ল:

  1. যান এবং আপনার দর্শন সম্পাদনা করুন
  2. উন্নত »অন্য বিভাগে" ক্যোয়ারী সেটিং "এ ক্লিক করুন
  3. "পৃথক" চেক-বাক্সটি পরীক্ষা করুন।

আমার প্রশ্নে আমি ইতিমধ্যে উল্লেখ করেছি যে আমি কোয়েরি সেটিংসে পৃথক বিকল্পটি চেক করেছি।
আহমাদ

ইউজিন এবং ক্লাইভ, এটি কাজ, এটি ভাগ করে নেওয়ার জন্য অনেক ধন্যবাদ।

8

ভিউ ব্যবহার করে স্বতন্ত্র মান অর্জনের সহজ উপায়টি হ'ল:

  1. যান এবং আপনার দর্শন সম্পাদনা করুন
  2. উন্নত »অন্য বিভাগে" ক্যোয়ারী সেটিং "এ ক্লিক করুন
  3. "পৃথক" চেক-বাক্সটি পরীক্ষা করুন।

সদৃশ রেকর্ডগুলি অপসারণ করতে আপনি ভিউ সংগ্রহের সেটিংস সক্ষম করে গ্রুপ বা DISTINCT প্রয়োগ করতে পারেন।

  1. যান এবং আপনার দর্শন সম্পাদনা করুন
  2. উন্নত »অন্য বিভাগে ব্যবহারের সমষ্টিটি সক্ষম করে: হ্যাঁ
  3. ফিল্ডস বা ফিল্টার ক্রিটরিয়া বিভাগে, আপনি কোন ক্ষেত্রগুলি দ্বারা পৃথক বা পৃথকভাবে বিভাগ করতে চান তা একত্রিতকরণ সেটিংস নির্বাচন করুন এবং প্রয়োগ করুন।

5

আমি জানি এই প্রশ্নের উত্তর ইতিমধ্যে দেওয়া হয়েছে, তবে কিছু ব্যবহারের জন্য এই সমাধানগুলি কাজ করে না। যাইহোক, কিছু গবেষণা করার পরে আমি একটি সমাধান পেয়েছি যা আমার প্রয়োজনের জন্য কাজ করে।

আমি সত্যিই দরকারী কার্যকর খুঁজে পেয়েছি যা আমাকে এটি ঠিক করার অনুমতি দিয়েছে। ড্রপবকেটে কোড স্নিপেট পোস্ট করেছি। মূলত আপনি একটি ড্রুপাল 7 ক্যোয়ারী অল্টার হুক প্রয়োগ করেছেন যা একটি গ্রুপবাই ক্লজ এবং ক্ষেত্র নির্দিষ্ট করে এমন ক্যোয়ারী মন্তব্যের জন্য সমস্ত দর্শন অনুসন্ধানগুলিকে পরীক্ষা করে। তারপরে এটি এসকিউএল কোয়েরিতে সেই গোষ্ঠীটি যুক্ত করে।

/**
 *  Found this trick on theoleschool.com.
 *  
 *  Description: Allows the view developer to specify the query
 *  group by action in the query comments. Great way to force the
 *  removal of duplicates.
 *  
 *  Just go into your query comments and type in "groupby:" with
 *  that colon followed by the field you want to group by.
 * 
 *  Examples...
 *  groupby:node.nid
 *  groupby:file_managed_file_usage.fid
 * 
 *  Ref-Comment: http://theoleschool.com/comment/496#comment-496
 *  Ref-Article: http://theoleschool.com/blog/using-hookviewsalter-add-group-statement
 */
function mymodule_query_alter(QueryAlterableInterface $query) {
  if ($query->hasTag('views')) {
    static $count;
    $view =& $query->getMetaData('view');

    if (strstr($groupby = $view->query->options['query_comment'], 'groupby')) {
      list($action, $field) = explode(':', $groupby);

      if (strlen($field) > 0) {
        $query->groupBy($field);
      }
    }
  }
}

http://dropbucket.org/node/153

উত্স রেফারেন্স পৃষ্ঠাটিতে মন্তব্য করা হয়।


আমি যুক্ত করতে চাই যে DISTINCT এর 3.3 এবং উচ্চতর ভিউগুলিতে সঠিকভাবে কাজ করছে না এমন জ্ঞাত সমস্যা রয়েছে।
প্যাট্রিক

1
উপরের কাজটি না করে আপনি কেবলমাত্র নামের নাম পরীক্ষা করতে পারেন এবং তারপরে গ্রুপটি যুক্ত করতে পারেন।
পটনি সুইটারগুলি

এটি দুর্দান্ত কাজ করে।
এখানের

4

আমারও একই সমস্যা ছিল। শেষ পর্যন্ত আমি ভিউ ডিসট্রিন্ট মডিউলটি ইনস্টল করে এটি সমাধান করেছি ।

ভিউলে সম্পর্ক বা অন্যান্য যোগদানগুলি প্রায়শই "সদৃশ" ফলাফল তৈরি করে। উদাহরণস্বরূপ, একাধিক মান রয়েছে এমন একটি ক্ষেত্র সহ একটি নোড মাল্টি-মান ক্ষেত্রের প্রতি মান হিসাবে একবারে প্রদর্শিত হতে পারে। এটি হতাশাব্যঞ্জক, এবং ভিউ ইউআইতে "DISTINCT" এসকিউএল কোয়েরি বিকল্পটি আসলে সমস্যার সমাধান করে না কারণ ফলাফল সারিটি প্রযুক্তিগতভাবে পৃথক। ভিউ ডিস্ট্রিন্টের লক্ষ্য এই "সদৃশ" সারিগুলি সরিয়ে বা একত্রিত করার জন্য একটি সাধারণ জিইউআই পদ্ধতি দেওয়া।


0

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

hook_views_pre_render(&$view)যাদু শব্দ। উদাহরণস্বরূপ এটি কেবলমাত্র একটি নির্দিষ্ট দৃশ্যের একটি নির্দিষ্ট প্রদর্শনের মধ্যে সীমাবদ্ধ। আশা করি এটা সাহায্য করবে.

function MYMODULE_views_pre_render(&$view) {
  $used_nids = array();

  if ($view->name == 'events') {

    if ($view->current_display == 'page_2') {

      foreach ($view->result as $row) {

        if (!in_array($row->nid, $used_nids)) {

          $new_view_result[] = $row;
          $used_nids[] = $row->nid;
        }
      }
      $view->result = $new_view_result;
    }
  }
}

সম্পাদনা: দুর্ভাগ্যক্রমে এটি সীমা নির্ধারণ করা থাকলে ভিউ থেকে নকল আইটেমের সংখ্যা বিয়োগ করে। কেউ যদি এর জন্য সমাধান খুঁজে পেতে পারেন তবে কমেন্ট করুন!


0

কোনও পুরানো থ্রেড জাগ্রত করার জন্য নয়, তবে উত্তরটি (যদি দ্রুপাল 7 এবং উদ্ভাসিত অনুসন্ধান ফিল্টার ব্যবহার করা হয়) হ'ল "অনুসন্ধান: অনুসন্ধানের পদ" এর অধীনে "অনুসন্ধানের স্কোর সরান" পরীক্ষা করা।

"ফিল্টার মানদণ্ড" এর অধীনে

"অনুসন্ধান: অনুসন্ধানের শর্তাদি" যুক্ত করুন

"অনুসন্ধানের স্কোর সরান" পরীক্ষা করুন

"প্রয়োগ করুন (সমস্ত প্রদর্শন)" ক্লিক করুন

সংরক্ষণ ক্লিক করুন


0

এ জাতীয় কোনও পদ্ধতিই আমার পক্ষে কাজ করেনি , তবে দৃশ্য র্যান্ডম বীজ মডিউলটি আসলে কৌশলটি করেছে did যদিও, আমার বিষয়গুলি পেজার ব্যবহারের সাথে সম্পর্কিত ছিল। এখানে মডিউলটির প্রকল্প পৃষ্ঠা থেকে একটি উদ্ধৃতি দেওয়া হয়েছে:

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


0

আমার একাধিক রয়েছে Date fieldsএবং এর শুরুতে বাছাই করতে চাই FIRST date... এটি কীভাবে কাজ করেছে তা এখানে: ইন Views->advanced->Other: use aggregation: YES এবং তার পরে: SORT CRITERIA->Aggregation settings->Aggregation type: COUNT

আমি countউদাহরণের পরিবর্তে আমাকে নম্বর দেবে বলে আশাবাদী, তবে ফলাফলটি আলাদা করেছে ...

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