পৃষ্ঠায় কোনও অ্যাঙ্কর বা আইডিতে নেমে আসে এমন একটি মেনু আইটেম তৈরির জন্য ড্রুপাল মেনুতে মেনুতে একটি হ্যাশ লিঙ্ক যুক্ত করার কোনও উপায় আছে কি?
পৃষ্ঠায় কোনও অ্যাঙ্কর বা আইডিতে নেমে আসে এমন একটি মেনু আইটেম তৈরির জন্য ড্রুপাল মেনুতে মেনুতে একটি হ্যাশ লিঙ্ক যুক্ত করার কোনও উপায় আছে কি?
উত্তর:
দুর্ভাগ্যক্রমে আমি যতটা অবগত, দ্রুপাল বাক্সের বাইরে এটি করতে পারে না। তবে, আপনি একটি নতুন মেনু আইটেম তৈরি করতে বিশেষ মেনু আইটেম মডিউলটি ব্যবহার করতে পারেন এবং পাথ সেটিংসে "নোলিংক" রাখতে পারেন।
l('linktext', '', array('fragment' => ' ', 'external' => TRUE));
@ সেবাস্তিয়ানের প্রতিক্রিয়া অনুসারে ব্যবহার করুন।
<span title="" class="nolink">...</span>
। সমস্যা সিএসএসের অভাব ছাড়া কিছুই নয়। কেবল ul.menu a{}
সিএসএস অনুলিপি করুন এবং এগুলি পেস্ট করুন ul.menu li span.nolink{}
। এটা আমার জন্য ভাল কাজ করছে। তবে এটি এর দ্বারা সক্ষম করা ড্রপ-ডাউন তীর অক্ষম করেছে li.expanded
। :(
jQuery("span.nolink").wrap("<a href='#'></a>");
ডকুমেন্টেশনের জন্য একটি মন্তব্যেl()
যা জানানো হয়েছে তা অনুসরণ করুন ।
নামযুক্ত অ্যাঙ্কারের একটি লিঙ্ক তৈরি করতে (যেমন "# নামযুক্ত অ্যাঙ্কর"), আপনাকে একটি ছোট পরিশ্রম ব্যবহার করতে হবে।
l('linktext', '', array('fragment' => 'namedanchor', 'external' => TRUE));
একটি হ্যাশ-মাত্র লিঙ্ক তৈরি করতে ("#"), আপনাকে এটির সাথে এই রূপটি গ্রহণ করতে হবে:
l('linktext', '', array('fragment' => ' ', 'external' => TRUE));
(নোট করুন যে খণ্ডটিতে একটি স্থান রয়েছে))
ড্রুপাল 7-এ, "এইচটিএমএল" সেট TRUE
করুন, তারপরে হ্যাশ অক্ষর যুক্ত করুন।
http://drupal.org/node/123103#comment-4955236
নোড / 16 # gohere
অটো ইউআরএল এটির মতো হয়ে যাবে
সম্পর্কে-উস # gohere
<front>#gohere
। নিস! :)
অকার্যকর মেনু ব্যবহার করার চেষ্টা করুন :
অকার্যকর মেনু আপনাকে ড্রুপাল 7 মেনু সিস্টেমে ট্যাগগুলির জন্য বিশেষ মানগুলি কনফিগার করতে দেয়। আপনি নিজের ইচ্ছে মতো যে কোনও মান সহ 10 টি আলাদা শূন্যতা ট্যাগ কাস্টমাইজ করতে পারেন এবং এগুলি ড্রুপাল মেনু সিস্টেমের মধ্যে নির্বিঘ্নে ব্যবহার করতে পারেন।
...
একটি যুক্ত বোনাস হিসাবে, এবং এই মডিউলটির কার্যকারিতার কারণে, আপনি আসল অ্যাঙ্করগুলি মেনু আইটেম হিসাবে ব্যবহার করতে সক্ষম হন যা স্থানধারক ব্যতীত অন্য কোনও উদ্দেশ্য করে না। এটি জাভাস্ক্রিপ্টে সেট করা একটি অকার্যকর ট্যাগ দিয়ে সম্পন্ন হয়েছে: শূন্যতা (0); এমনকি একটি সাধারণ হ্যাশ ট্যাগ #। এর জন্য বিশেষ_মেনু_সাইটগুলির উপরে এই মডিউলটি ব্যবহার করার সুবিধাটি হ'ল বিশেষ মেনু_সাইটস দ্বারা ব্যবহৃত স্প্যান ট্যাগগুলির জন্য আপনার মেনুগুলিকে কোনও অতিরিক্ত স্টাইলিং লাগবে না এবং ডাব্লু 3 সি বৈধ হবে কারণ প্রতিটি অ্যাঙ্করের অবশ্যই একটি href বৈশিষ্ট্য থাকতে হবে।
এটি খুব সুন্দর সমাধান!
সবেমাত্র একই সমস্যার মুখোমুখি। আমার প্রোগ্রামিংয়ে হ্যাশ-লিঙ্কগুলির সাথে মেনু-আইটেমগুলি যুক্ত করতে হবে। আমার কোড:
// 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);
আমার জন্য এটি করার জন্য এটি সেট external
করা TRUE
হচ্ছে। Druapl 7.32 পরীক্ষিত।
l('Some Name', '#', array('external' => TRUE));
ড্রুপাল অনুবাদ ফাংশন ব্যবহার করেও কাজ করে।
/**
* 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';
}
}
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;
}
উপরের কোডটি ব্যবহার করে আপনি মেনুতে হ্যাশ লিঙ্ক যুক্ত করতে পারেন।
/**
* 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;
}
}
শ্রেণিবদ্ধ মেনুগুলির জন্য বিশেষ মেনু আইটেম এবং ডিএইচটিএমএল মেনু ইনস্টল করুন:
<void>
লক্ষ্যটি পেরিয়ে যানএখন আপনার হোম পৃষ্ঠায় ফিরে যান এবং আপনি দেখতে পাবেন যে আমরা যে মেনু আইটেমটি ক্লিক করেছি সেগুলিতে ক্লিক করে যারা কোথাও যায় না