Taxonomy ব্যবহার করে পেজ কাস্টম ফিল্টারিং

Taxonomy এবং Content Filtering - গ্র্যাভ (Grav) - Web Development

269

Grav CMS-এ Taxonomy ব্যবহার করে আপনি পেজগুলোকে বিভিন্ন ক্যাটেগরি, ট্যাগ, বা অন্যান্য কাস্টম শ্রেণীভুক্ত করতে পারেন এবং এগুলোর মাধ্যমে পেজ কাস্টম ফিল্টারিং করতে পারেন। Taxonomy ফিচারটি বিশেষভাবে খুবই কার্যকরী যখন আপনি একটি বড় সাইটে বিভিন্ন পেজ শ্রেণীবদ্ধ করতে চান এবং ব্যবহারকারীদের সেই শ্রেণী অনুসারে কনটেন্ট দেখাতে চান। Grav-এ Taxonomy ব্যবহার করে পেজ ফিল্টার করা এবং বিভিন্ন কনটেন্টের মধ্যে সম্পর্ক তৈরি করা অনেক সহজ এবং নমনীয়।

এই গাইডে Grav CMS-এ Taxonomy ব্যবহার করে কাস্টম ফিল্টারিং করার প্রক্রিয়া ব্যাখ্যা করা হবে।


Taxonomy কী?

Taxonomy হল একটি শ্রেণীবদ্ধকরণ সিস্টেম যা আপনাকে পেজ বা কনটেন্টকে একটি নির্দিষ্ট ক্যাটেগরি বা ট্যাগ দিয়ে গ্রুপ করতে সহায়তা করে। Grav CMS-এ taxonomy ফিল্ডের মাধ্যমে আপনি পেজের জন্য ক্যাটেগরি (category), ট্যাগ (tag) ইত্যাদি কাস্টম ফিল্ড নির্ধারণ করতে পারেন।


Grav-এ Taxonomy কনফিগারেশন

Grav-এ Taxonomy ব্যবহার করতে হলে আপনাকে প্রথমে পেজগুলির জন্য Taxonomy ফিল্ড নির্ধারণ করতে হবে। নিচে এই কনফিগারেশনটি কিভাবে করবেন তা ব্যাখ্যা করা হলো।

১. Taxonomy ফিল্ড পেজে নির্ধারণ করা

প্রথমে, আপনি taxonomy ফিল্ডটি পেজের .md (Markdown) ফাইলের মধ্যে যুক্ত করতে হবে। যেমন, একটি ব্লগ পোস্টে ট্যাগ এবং ক্যাটেগরি নির্ধারণ করা হলো:

example-post.md:

title: "Grav Taxonomy Example"
date: "2024-12-22"
taxonomy:
  category: technology
  tag: [grav, tutorial, cms]
---

This is an example of how to use taxonomy in Grav for filtering pages.

এখানে:

  • category: পেজটির ক্যাটেগরি নির্ধারণ করে (এটি technology হিসেবে কনফিগার করা হয়েছে)।
  • tag: একটি অ্যারে, যেখানে একাধিক ট্যাগ (যেমন grav, tutorial, cms) দেয়া হয়েছে।

২. Taxonomy ফিল্ড কনফিগারেশন

আপনি Taxonomy কনফিগারেশনের জন্য taxonomy ফিল্ডে আরও অন্যান্য শর্তও যুক্ত করতে পারেন, যেমন:

taxonomy:
  category: blog
  tag: [grav, content, seo]

এখানে, category এবং tag ফিল্ডের মান আপনি সাইটের প্রয়োজন অনুযায়ী কাস্টমাইজ করতে পারেন।


Grav-এ Taxonomy ব্যবহার করে পেজ ফিল্টারিং

Grav-এ Taxonomy ব্যবহার করে পেজ ফিল্টারিং করার জন্য আপনি collection ফিচার ব্যবহার করতে পারেন। Grav page.collection() ফাংশনের মাধ্যমে পেজগুলির একটি তালিকা (collection) তৈরি করে এবং সেই তালিকাকে নির্দিষ্ট Taxonomy ফিল্টারের মাধ্যমে ফিল্টার করা যায়।

১. Taxonomy ভিত্তিক পেজ ফিল্টারিং

Grav-এ category বা tag এর মাধ্যমে পেজ ফিল্টার করতে, আপনি নিচের কোড ব্যবহার করতে পারেন:

<ul>
{% for page in pages.find('/blog').children %}
    {% if 'technology' in page.taxonomy.category %}
        <li><a href="{{ page.url }}">{{ page.title }}</a></li>
    {% endif %}
{% endfor %}
</ul>

এখানে:

  • pages.find('/blog').children: blog পেজের সব সাব-পেজ (children) একত্রিত করবে।
  • if 'technology' in page.taxonomy.category: পেজের ক্যাটেগরি যদি technology হয়, তবে সেটি ফিল্টার হয়ে তালিকায় প্রদর্শিত হবে।

২. Taxonomy দিয়ে একাধিক ফিল্টার করা

আপনি একাধিক taxonomy ভিত্তিক ফিল্টারও ব্যবহার করতে পারেন। উদাহরণস্বরূপ, ব্লগ পোস্টের মধ্যে technology ক্যাটেগরি এবং grav ট্যাগ ব্যবহার করে ফিল্টার করা:

<ul>
{% for page in pages.find('/blog').children %}
    {% if 'technology' in page.taxonomy.category and 'grav' in page.taxonomy.tag %}
        <li><a href="{{ page.url }}">{{ page.title }}</a></li>
    {% endif %}
{% endfor %}
</ul>

এখানে, পোস্টটি technology ক্যাটেগরির এবং grav ট্যাগের সাথে মিলে গেলে তবেই সেটি তালিকায় প্রদর্শিত হবে।

৩. Taxonomy Filters ব্যবহার করে সার্চ করা

Grav-এ আপনি কাস্টম Taxonomy ফিল্টার দিয়ে সার্চ বক্স তৈরি করতে পারেন। উদাহরণস্বরূপ, নিচের কোডটি সার্চ ফিল্টার তৈরি করবে:

<form method="get" action="{{ base_url }}/search">
    <label for="category">Category:</label>
    <select name="category">
        <option value="technology">Technology</option>
        <option value="tutorial">Tutorial</option>
    </select>

    <label for="tag">Tag:</label>
    <select name="tag">
        <option value="grav">Grav</option>
        <option value="content">Content</option>
    </select>

    <button type="submit">Search</button>
</form>

এতে, ব্যবহারকারীরা তাদের কাঙ্খিত ক্যাটেগরি এবং ট্যাগ থেকে নির্বাচন করে কনটেন্ট খুঁজে পেতে পারবেন।


Grav-এ Taxonomy দ্বারা ডাইনামিক কনটেন্ট প্রদর্শন

Grav এর Taxonomy ফিচারের মাধ্যমে আপনি ডাইনামিক কনটেন্ট প্রদর্শন করতে পারবেন, যেমন:

  • ট্যাগ বা ক্যাটেগরি ভিত্তিক কনটেন্ট লিস্ট
  • ট্যাগ বা ক্যাটেগরি অনুসারে ব্লগ পোস্টের ফিল্টারিং
  • কাস্টম সার্চ ফিচার কাস্টম Taxonomy ফিল্টার ব্যবহার করে

Grav CMS-এ Taxonomy ব্যবহার করে আপনি কনটেন্টের মধ্যে সম্পর্ক তৈরি করতে পারেন এবং একটি বেশি ডাইনামিক, ফিল্টারযোগ্য সাইট তৈরি করতে পারেন।


সারাংশ

Grav CMS-এ Taxonomy ফিচার ব্যবহার করে পেজ কাস্টম ফিল্টারিং করা খুবই সহজ এবং কার্যকর। আপনি ক্যাটেগরি, ট্যাগ বা অন্যান্য কাস্টম ফিল্ডের মাধ্যমে পেজগুলোকে শ্রেণীবদ্ধ করতে পারেন এবং সহজেই Taxonomy ফিল্টারের মাধ্যমে কনটেন্টের প্রদর্শন কাস্টমাইজ করতে পারেন। Grav এর page.collection() ফাংশন এবং Twig টেমপ্লেট ব্যবহার করে Taxonomy ভিত্তিক পেজ ফিল্টার করা এবং ডাইনামিক কনটেন্ট প্রদর্শন করা সম্ভব।

Content added By
Promotion

Are you sure to start over?

Loading...