আমি কীভাবে একটি স্ট্যান্ডার্ড মেনু আইটেমের উপ-মেনু হিসাবে ট্যাক্সনমি মেনু ইনজেক্ট করতে পারি?


12

আমার সাথে একটি প্রধান মেনু রয়েছে, যার সাথে শীর্ষগুলির মতো নিম্নের কাঠামো রয়েছে:

Home - Categories - Something Else - ... - Contact

এই শীর্ষ স্তরের প্রতিটি লিঙ্কই একটি উপযুক্ত নোড পৃষ্ঠায় যায়।

আমার ক্যাটাগরিগুলির (বহু-স্তরের) জন্য একটি শব্দভাণ্ডার রয়েছে এবং আমার "বিভাগগুলি" আইটেমের আওতাধীন একটি উপ-মেনুতে আমার সেই ট্যাক্সনোমির পদগুলি নেওয়া দরকার। আমি প্রধান মেনুতে আইটেমগুলিকে কঠোর কোডিং এড়ানো এড়াতে চাই, কারণ সাব-মেনুতে শব্দভাণ্ডারের মতো বাড়ানো / সঙ্কুচিত হওয়া উচিত।

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

এই পদ্ধতিটি কাজ করার সময়, এটি আদর্শ নয় এবং অবশ্যই জেনেরিক নয়। আমি পুরানো প্রকল্প থেকে নতুন কোডটিতে কেবল সেই কোডটি তুলতে পারি না, এর জন্য যুক্তিসঙ্গত পরিমাণের প্রয়োজন হবে।

আমি এটির জন্য একটি 'স্ট্যান্ডার্ড', মডিউল-ভিত্তিক সমাধান থাকতে হবে বোধ করতে সহায়তা করতে পারি না।

আমি মিশ্রণে বিভিন্ন মডিউলগুলির একগুচ্ছ ব্যবহার করার জন্য কিছু পরামর্শ দেখেছি (এমনকি কিছু কিছু ভিউ-ভিত্তিক মডিউলগুলি ব্যবহার করার পরামর্শ দিচ্ছেন, যথেষ্ট যথেষ্ট)। আমি কোনও পরামর্শের জন্য উন্মুক্ত, তবে যদি এটিতে 1 বা 2 টিরও বেশি মডিউল ইনস্টল করা এবং হার্ড-কোডড, প্রসঙ্গ-নির্দিষ্ট কনফিগারেশনের একটি লোড জড়িত থাকে তবে সম্ভবত এটি এই ক্ষেত্রে খুব বেশি সাহায্য করবে না।


1
আমি মনে করি আমি এটি দেখেছি ... অনুরূপ বিষয়ে মেনুতে কর আদায়-ভিত্তিক আইটেম তৈরি করার জন্য নিয়মগুলি ব্যবহার করার ধারণা রয়েছে তবে এটি আদর্শ থেকেও দূরে বলে মনে হয়।
মোয়াট

যদি আমি সঠিকভাবে বুঝতে পারি, আপনি কি এই মডিউলটির মতো দেখতে খুঁজছেন drupal.org/project/taxonomy_treemenu , এটি দুর্দান্ত মেনুতে একত্রিত করতে পারে তবে ডি 6
বাল

আপনার কি বাস্তব মেনু আইটেম আছে বা এটি যখন রেন্ডার করা হয় তখন মেনুতে ট্যাক্সোনমি পদগুলির গাছ যুক্ত করা কি কার্যকর?
রোবি

ধন্যবাদ @ বালা, যদিও একটি ডি 7 সমাধান দরকার
ক্লাইভ

1
ক্লাইভ আমার একটি পরামর্শ আছে। আমি জানি যেহেতু আপনি শব্দভাণ্ডারের নাম অন্তর্ভুক্ত করে ট্যাক্সনোমু মেনু উত্পন্ন করতে পারবেন এবং তারপরে কেবল উত্পন্ন মেনুতে অন্যান্য মেনু লিঙ্কগুলি যুক্ত করুন। শ্রেণীবদ্ধ আইটেমগুলি লিখিতভাবে আপডেট করা হতে পারে ... আমি জানি না এটি কাজ করবে কিনা, কেবল এটি চেষ্টা করে।
দুধভস্কি

উত্তর:


13

বিকল্প ক) যদি আমার ভুল না হয় তবে আপনি যখন তৈরি করবেন তখন আপনার শ্রেনী মেনুটি প্যারেন্টেড (মেনু অবস্থান) কোথায় তৈরি করতে পারবেন না? আপনি যে সমস্যার সমাধান করতে পারেন তার মধ্যে কেবলমাত্র সমস্যাটিই হ'ল আমার মনে হয় প্রতিবার টেকনোমিটি আপডেট হওয়ার পরে আপনার মেনুটি পুনরায় তৈরি করা দরকার requires

বিকল্প খ) আমি আমার সাইটে এর সাথে যুক্তিযুক্ত কিছু অনুরূপ করেছি, আমি আমার প্রাথমিক মেনুতে একটি ভিউ রাখার জন্য মেনু ভিউ মডিউলটি ব্যবহার করেছি।

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

আমি গ্যারান্টি দিতে পারি না যে এটি আপনার জন্য সেরা সমাধান, তবে আমি যখন এটি পরীক্ষা করেছি তখন এটি কার্যকর হয়েছিল


1
হ্যাঁ, দেখা যাচ্ছে আমি বরং বোকা হয়েছি - টেকনোমি মেনুতে সঠিকভাবে এটি তৈরি করা হয়েছে (আপনার বিকল্প এ)। আমি যে বিশেষ মেনুটি নিয়ে কাজ করছি তা খুব ছোট, এবং বিভাগগুলি প্রায়শই পরিবর্তন হয় না, তাই পুনর্নির্মাণ কোনও সমস্যা নয়। স্যানিটি চেক করার জন্য অনেক ধন্যবাদ
ক্লাইভ

3

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

আপনি যদি এই পথে যান, আপনি হবে

  • "বিভাগগুলি" পৃষ্ঠাটির বাইরে কোনও শ্রেণীবদ্ধ শর্তাদি লিঙ্ক ছাড়াই আপনার বিদ্যমান প্রধান মেনুটি ব্যবহার করুন।
  • তার থেকে আপনার স্বতন্ত্র গাছটি তৈরি করুন।
  • একটি কাস্টম "মেনু ট্রি উত্স" লিখুন যা মেনু_লিঙ্কগুলি থেকে স্বাভাবিক হিসাবে এনেছে, তবে যখন এটি একটি শুল্কবিধি শব্দটি সন্ধান করে, এটি পরিবর্তে শৃঙ্খলা থেকে আসে।
    সুতরাং, কোনওভাবে আপনাকে এটি সনাক্ত করতে সক্ষম হতে হবে যে "বিভাগগুলি" লিঙ্কটি কর সংক্রান্তি সম্পর্কিত।
  • যদি একটি মেনু লিঙ্কটি করশূন্য-সম্পর্কিত হয় এবং একই সময়ে নিয়মিত সাবমেনু থাকে, তবে আপনাকে কোনওভাবে দুটি ধরণের বাচ্চাদের একসাথে মিশ্রিত করতে হবে।

এই রুটটি কিছু কাজ হবে তবে এটি অন্যদের পক্ষে উপকারী হতে পারে এবং এটি সম্ভবত আপনার সাইট-নির্দিষ্ট যুক্তির চেয়ে আরও মার্জিত এবং পুনরায় ব্যবহারযোগ্য।

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


এটি বলা হচ্ছে, অ্যান্ড্রু মরিসের গৃহীত উত্তর পুরোপুরি যথেষ্ট ভাল হতে পারে। এবং এর অর্থ আমার পক্ষে কম পরিশ্রম করা :) এখনও যে কেউ এটির কাজে লাগতে পারে তার জন্য এটি পোস্ট করতে চেয়েছিলেন।
donquixote

ভি। আকর্ষণীয়, ধন্যবাদ গৃহীত উত্তরটি ঠিক কাজটি করছে তবে আমি কোডের সমাধান পেতে খুব আগ্রহী। আমি কী ধরে নিতে পারি এটি যদি আপনার মডিউলগুলির মধ্যে একটি হয় যে এটি সমস্ত পিএসআর -0 ধার্মিকতার উপর নির্মিত? :)
ক্লাইভ

এটি এক xautoload এর পিএইচপি 5.2 সামঞ্জস্যতা মোড ব্যবহার করে, যা কিছুটা PEAR এর মতো তবে অগভীর ডিরেক্টরি সহ। সুতরাং, পিএসআর অনুমোদিত নয়। আমি কোনও দিন পিএসআর -0 যেতে পারি ..
14:25 এ ডনকিক্সোট করুন

যদিও আমি পিএসআর-এক্সে খুব আগ্রহী (যা কখনই ডি 8 এ
getুকতে

2

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

টাচ স্ক্রিনের সাথে সামঞ্জস্যতা (আইপ্যাড, আইফোন এবং ইত্যাদি)।

এখানে চিত্র বর্ণনা লিখুন


2

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

আপনি ট্যাক্সোনমি মেনু ব্যবহার করে একটি পৃথক মেনু তৈরি করতে পারেন এবং এই মেনুকে ওম ম্যাক্সি মেনু দ্বারা উত্পন্ন মেনুতে সাবলিঙ্ক হিসাবে সংযুক্ত করতে পারেন।

ধন্যবাদ


2

আমি সম্প্রতি পণ্য বিভাগের মেনুতে অনুরূপ কিছু করেছি। এটি কেবল 1 স্তর গভীর ছিল তবে আরও স্তর দেখানোর জন্য সহজেই এটি সংশোধন করা যেতে পারে।

/**
 * Implements theme_menu_link().
 */
function THEME_menu_link__main_menu($variables) {

  $sub_menu = '';
  $element = $variables['element'];
  $menu_string = $element['#title'];

  if (module_load_include('inc','pathauto','pathauto') !== FALSE) {
    $menu_string =  pathauto_cleanstring($menu_string);
  }

  if ($menu_string == 'categories') {
    $sub_menu = get_categories_menu();
  }

  if ($sub_menu) {
    $element['#attributes']['class'][] = 'haschildren';
  }

  $output = l($element['#title'], $element['#href'], $element['#localized_options']);
  return '<li' . drupal_attributes($element['#attributes']) . '>' . $output . $sub_menu . "</li>\n";
}

function get_categories_menu() {

  $current_category = arg(2); // Get current category from path
  $volcab = taxonomy_vocabulary_machine_name_load('product-categories');
  $tree = taxonomy_get_tree($volcab->vid,0,1);

  $output = '<ul class="menu product-category">';
  foreach ($tree as $term) {
    $safe_term = pathauto_cleanstring($term->name);
    $class = ($current_category==$safe_term) ? ' class="active"' : '';
    $output .= '<li><a' . $class . ' href="/drupal//path/to/' . $safe_term . '">' . $term->name . '</a></li>';
  }
  $output .= '</ul>';

  return $output;
}

Get_category_menu ফাংশনটি একটি ব্লক হিসাবে ভাল, তবে সুবিধার জন্য এখানে টেমপ্লেট.এফপি-তে অন্য ফাংশন হিসাবে দেখানো হয়েছে।

আশা করি এটি সমাধানের দিকে কমপক্ষে একটি পদক্ষেপে সহায়তা করে বা।

পল

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