আমি মেনুগুলিতে কীভাবে হ্যাশ লিঙ্ক যুক্ত করব?


21

পৃষ্ঠায় কোনও অ্যাঙ্কর বা আইডিতে নেমে আসে এমন একটি মেনু আইটেম তৈরির জন্য ড্রুপাল মেনুতে মেনুতে একটি হ্যাশ লিঙ্ক যুক্ত করার কোনও উপায় আছে কি?


আপনি যদি শুরুতে Absolute url ব্যবহার করেন তবে এটি কাজ করবে। ভালো লেগেছে yourdomain.com/somepath#someother
hzak

উত্তর:


15

দুর্ভাগ্যক্রমে আমি যতটা অবগত, দ্রুপাল বাক্সের বাইরে এটি করতে পারে না। তবে, আপনি একটি নতুন মেনু আইটেম তৈরি করতে বিশেষ মেনু আইটেম মডিউলটি ব্যবহার করতে পারেন এবং পাথ সেটিংসে "নোলিংক" রাখতে পারেন।


দুর্ভাগ্যক্রমে version সংস্করণের জন্য এই মডিউলটি এবং for এর জন্য কোনওটিই কিন্তু পরিবর্তন করা যায় না। যাই হোক ধন্যবাদ .
মোহাম্মাদ সালাম

1
বরং l('linktext', '', array('fragment' => ' ', 'external' => TRUE));@ সেবাস্তিয়ানের প্রতিক্রিয়া অনুসারে ব্যবহার করুন।
ডানকানমু

"বিশেষ মেনু আইটেম" যুক্ত করে a <span title="" class="nolink">...</span>। সমস্যা সিএসএসের অভাব ছাড়া কিছুই নয়। কেবল ul.menu a{}সিএসএস অনুলিপি করুন এবং এগুলি পেস্ট করুন ul.menu li span.nolink{}। এটা আমার জন্য ভাল কাজ করছে। তবে এটি এর দ্বারা সক্ষম করা ড্রপ-ডাউন তীর অক্ষম করেছে li.expanded। :(
মায়নুল ইসলাম

এত দেরিতে পোস্ট করার জন্য দুঃখিত, তবে আমি কেবল এই থ্রেড জুড়েই ছুটে এসেছি। সিএসএস পরিবর্তনের পরিবর্তে, আপনি একটি হ্যাশ দিয়ে অ্যাঙ্কর ট্যাগে নলিংকটি মোড়ানোর জন্য কিছুটা জেএস ব্যবহার করতে পারেন। JQuery সহ, এটি jQuery("span.nolink").wrap("<a href='#'></a>");
হ'ল

15

ডকুমেন্টেশনের জন্য একটি মন্তব্যেl() যা জানানো হয়েছে তা অনুসরণ করুন ।

নামযুক্ত অ্যাঙ্কারের একটি লিঙ্ক তৈরি করতে (যেমন "# নামযুক্ত অ্যাঙ্কর"), আপনাকে একটি ছোট পরিশ্রম ব্যবহার করতে হবে।

l('linktext', '', array('fragment' => 'namedanchor', 'external' => TRUE));

একটি হ্যাশ-মাত্র লিঙ্ক তৈরি করতে ("#"), আপনাকে এটির সাথে এই রূপটি গ্রহণ করতে হবে:

l('linktext', '', array('fragment' => ' ', 'external' => TRUE));

(নোট করুন যে খণ্ডটিতে একটি স্থান রয়েছে))

 

ড্রুপাল 7-এ, "এইচটিএমএল" সেট TRUEকরুন, তারপরে হ্যাশ অক্ষর যুক্ত করুন।


13

http://drupal.org/node/123103#comment-4955236

নোড / 16 # gohere

অটো ইউআরএল এটির মতো হয়ে যাবে

সম্পর্কে-উস # gohere


1
আপনি যে পৃষ্ঠাটিতে রয়েছেন সে সম্পর্কে কী থাকবে? উদাহরণস্বরূপ, আপনি কোন পৃষ্ঠায় রয়েছেন তা নির্বিশেষে আপনাকে নেভিগেশন ডিভিতে নামিয়ে আনতে নেভিগেশন লিঙ্কটি ছেড়ে যাওয়ার চেষ্টা করছেন? @ প্রশানবাস
কাইন456

2
এটি করার সর্বোত্তম উপায়, কোনও মডিউল বা প্লাগইন প্রয়োজন নেই!
Andreas Daoutis

এমনকি সাথে কাজ করে <front>#gohere। নিস! :)
হুয়েলফে

6

অকার্যকর মেনু ব্যবহার করার চেষ্টা করুন :

অকার্যকর মেনু আপনাকে ড্রুপাল 7 মেনু সিস্টেমে ট্যাগগুলির জন্য বিশেষ মানগুলি কনফিগার করতে দেয়। আপনি নিজের ইচ্ছে মতো যে কোনও মান সহ 10 টি আলাদা শূন্যতা ট্যাগ কাস্টমাইজ করতে পারেন এবং এগুলি ড্রুপাল মেনু সিস্টেমের মধ্যে নির্বিঘ্নে ব্যবহার করতে পারেন।
...
একটি যুক্ত বোনাস হিসাবে, এবং এই মডিউলটির কার্যকারিতার কারণে, আপনি আসল অ্যাঙ্করগুলি মেনু আইটেম হিসাবে ব্যবহার করতে সক্ষম হন যা স্থানধারক ব্যতীত অন্য কোনও উদ্দেশ্য করে না। এটি জাভাস্ক্রিপ্টে সেট করা একটি অকার্যকর ট্যাগ দিয়ে সম্পন্ন হয়েছে: শূন্যতা (0); এমনকি একটি সাধারণ হ্যাশ ট্যাগ #। এর জন্য বিশেষ_মেনু_সাইটগুলির উপরে এই মডিউলটি ব্যবহার করার সুবিধাটি হ'ল বিশেষ মেনু_সাইটস দ্বারা ব্যবহৃত স্প্যান ট্যাগগুলির জন্য আপনার মেনুগুলিকে কোনও অতিরিক্ত স্টাইলিং লাগবে না এবং ডাব্লু 3 সি বৈধ হবে কারণ প্রতিটি অ্যাঙ্করের অবশ্যই একটি href বৈশিষ্ট্য থাকতে হবে।

এটি খুব সুন্দর সমাধান!


2

সবেমাত্র একই সমস্যার মুখোমুখি। আমার প্রোগ্রামিংয়ে হ্যাশ-লিঙ্কগুলির সাথে মেনু-আইটেমগুলি যুক্ত করতে হবে। আমার কোড:

// the URL with hash in it is in the form  'normal_part_of_url'#'hash_part_of_url'
$item = array( 
  'link_path' => %normal_part_of_url%,
  'link_title' => %your_link_title%,
  'menu_name' => %menu_where_to_add_links%,
  'options' => array('fragment'=>%hash_part_of_url%)
);
menu_link_save($item);

1

আমার জন্য এটি করার জন্য এটি সেট externalকরা TRUEহচ্ছে। Druapl 7.32 পরীক্ষিত।

l('Some Name', '#', array('external' => TRUE));


0

ড্রুপাল অনুবাদ ফাংশন ব্যবহার করেও কাজ করে।

/**
 * Implements hook_menu().
 *
 * Defines a valid link to use when creating menu items.
 */
function greenacorn_menu() {
  $items['<main-content>'] = array(
    'page callback' => 'drupal_not_found',
    'access callback' => TRUE,
    'type' => MENU_CALLBACK,
  );

  return $items;
}

/**
 * Implements hook_menu_link_alter().
 *
 * Flags the link to be altered at runtime.
 *
 * Note: Changes here would be saved back to the database.
 */
function greenacorn_menu_link_alter(&$item, $menu) {
  if ($item['link_path'] == '<main-content>') {
    $item['options']['alter'] = TRUE;
  }
}

/**
 * Implements hook_translated_menu_link_alter().
 *
 * Refactors the link to go to the fragment #main-content.
 */
function greenacorn_translated_menu_link_alter(&$item, $map) {
  if ($item['link_path'] == '<main-content>') {
    $item['href'] = '';
    $item['localized_options']['fragment'] = 'main-content';
  }
}

0
function test_menu() {
  $items = array();
  $items['sample'] = array(
   'title' => t('Sample page'),
   'type' => MENU_NORMAL_ITEM,
    'menu_name' => 'main-menu',
    'page callback' => 'samplepage',
    'access callback' => TRUE,
    'options' => array('fragment' => 'sampleHash'),
  );
  return $items;
}

উপরের কোডটি ব্যবহার করে আপনি মেনুতে হ্যাশ লিঙ্ক যুক্ত করতে পারেন।


0
/**
 * Implements hook_module_implements_alter().
 */
function MODULE_module_implements_alter(&$implementations, $hook) {
  if ($hook == 'url_outbound_alter') {
    $stored = $implementations['MODULE'];
    unset($implementations['MODULE']);
    $implementations['MODULE'] = $stored;
  }
}

/**
 * Implements hook_url_outbound_alter().
 */
function MODULE_url_outbound_alter(&$path, &$options, $original_path) {
  if (strpos($path, '#') !== FALSE) {
    $fragment = substr($path, strpos($path, "#") + 1);
    $path = str_replace('#' . $fragment, '', $path);
    $options['fragment'] = $fragment;
  }
}

দয়া করে "কেবল কোড" উত্তর পোস্ট করবেন না। যদিও এটি সমস্যার সমাধান করতে পারে, তবুও এটি সমস্যাটি কেন সমাধান করে বা এখানে বিকল্পগুলির তুলনায় এটি কী সরবরাহ করে তা পাঠককে ব্যাখ্যা করে না ।
শন কন কন

0

শ্রেণিবদ্ধ মেনুগুলির জন্য বিশেষ মেনু আইটেম এবং ডিএইচটিএমএল মেনু ইনস্টল করুন:

  • আপনার এক্স-উদাহরণ ভোকাবুলারি যুক্ত করুন এবং এতে আপনার শর্তাদি যুক্ত করুন
  • ট্যাক্সনমি মেনু বিভাগ সেট মেনুর অবস্থানের চেয়ে এক্স-উদাহরণ ক্লিক করুন
  • ব্লকগুলিতে যান মেনুটিকে একটি ব্লকে সেট করুন
  • মেনু অ্যাডমিন পরিবর্তনে আপনি শর্তাদি স্বয়ংক্রিয়ভাবে যুক্ত দেখতে পাবেন
  • একটি মেনু আইটেম সংশোধন ক্লিক করুন তারপরে <void>লক্ষ্যটি পেরিয়ে যান

এখন আপনার হোম পৃষ্ঠায় ফিরে যান এবং আপনি দেখতে পাবেন যে আমরা যে মেনু আইটেমটি ক্লিক করেছি সেগুলিতে ক্লিক করে যারা কোথাও যায় না


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

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