我想使用模块在管理员端创建页面。我需要使用hook_menu()提及自定义链接页面。从浏览器访问链接后,我想显示一些链接,用于从另一个网站调用另一个静态链接。
例如:
我想创建admin / list-of-links:自定义网址
点击此页面后,在此页面上,结果将类似于表格列表,其中包含用于导航来自其他网站的静态链接的按钮。
我创建了以下内容。
通过使用以下代码,我创建了自定义页面的自定义页面,通过传递静态链接并在自定义模板页面中打印。请注意,我刚在模板页面中打印过数组。格式化仍然存在。
<?php
// Created Custom URL for accesing the static links
function test_menu() {
$items['admin/list-of-links'] = array(
'title' => 'List Section',
'page callback' => 'list_section',
'access arguments' => array('administrator'),
);
}
// Created Page Callback for assigning the variable for the theme
function list_section() {
$static_links = array("www.google.com", "www.facebook.com");
return theme('test_link', array('static_links' => $static_links));
}
// Assigned the template for the page that we have created
function test_theme($existing, $type, $theme, $path) {
return array(
'test_link' => array(
'template' => 'static-link-listing',
'path' => drupal_get_path('theme', 'seven') . "/templates"
),
);
}
//Created Template File : themes/seven/templates/static-link-listing.tpl.php
// And after that, I am getting the result.
// Now after that, we will format what output we need.
echo "<pre>";
print_r($static_links);
?>
答案 0 :(得分:0)
您将需要使用hook_menu()来执行此操作。
让我们说你的模块名为example,然后你需要在.module文件中添加以下代码:
/**
* Implements hook_menu().
*/
function example_menu() {
$items['admin/list-of-links'] = array(
'description' => 'Load a list lof links',
'title' => t('List of links'),
'page callback' => '_example_load_links',
'access arguments' => array('access content'),
'type' => MENU_NORMAL_ITEM,
);
return $items;
}
要返回所选页面上的链接列表,您需要为页面回调添加一个函数,例如:
/**
* We load a list of links
*/
function _example_load_links(){
$content['item'] = array(
'#type' => 'item',
'#markup' => t('Hello world, place your links here'),
);
return $content;
}
如果您启用模块并清除缓存(使用hook_menu非常重要)
,这应该有效