cari
Rumahhujung hadapan webhtml tutorialDrupal 7 模块开发 建立模块 第一个页面(hook_menu)_html/css_WEB-ITnose

建立模块请参考 《Drupal 7 模块开发 建立》

如果你要支持中文,文件格式必须保存为 UTF-8,NO BOM

------------------------------

hook_menu 定义菜单项和页面反馈。

我们要用自己模块名替换 hook。在这里我们建立一个 my_first_module_menu() 在 my_first_module.module文件里

<?phpfunction my_first_module_menu() {  $items = array();    $items['mypage'] = array(    'title' => '第一个模块 ?? 页面', //菜单项的名称    'description' => '我的第一个模块页面', //当鼠标移动到菜单项,显示菜单的说明    'page callback' => 'my_page_view', //产生页面内容    'access callback' => TRUE, //所有人都能访问    'type' => MENU_NORMAL_ITEM, //菜单项显示类型  );    return $items;}function my_page_view() {  $output = t('这是模块做的第一个页面。');  return $output;}

注意:结尾不要写 ?>

清空Cache,然后访问 http://www.mysite.com/?q=mypage ,会看到下图

(事实上,这时你访问任何 http://www.mysite.com/?q=mypage/aaa/bbb 都会访问到这个page)

$items[] 路径

  • $items先在 [ ] 里定义路径,在访问 /mypage 页面时候,去调用 my_page_view 函数产生页面
  • 每一个$items都是对应一个路径,写在 [ ] 里。当item用一样路径时候,就调用后写那个$items的。(有文章说和$items里参数weight有关,我测试weight不会影响先后次序)

  • [ ] 里也可以用通配符,譬如: [node/%/edit]。详细参见:function hook_menu 里的Wildcards in Paths一段

  • title 必须

    未翻译的主题

    title callback

    产生主题的函数。默认是 t()。如果你不想翻译,就设置FALSE (所以我们不必再写 'title' => t('第一个表单'))

    title arguments

    传递到 t() 或者 你自定义函数 的参数。可以和路径组件结合
    参考:Menu item title and description callbacks, localization

    description

    未翻译的说明描述。

    page callback

    当用户访问页面路径的时候,调用一个显示网页的函数。

    如果不写,父菜单的回调函数将代替执行。也就是说 $items['mypage'] 和 $items['mypage/child'] 会执行一样内容。

    有一个特别回调函数 drupal_get_form(),这个将在后面 Drupal 7 模块开发 建立、验证、提交表单(Form) 具体讲

    page arguments

    传递给 page callback 函数的一串参数数组,上面例子没用用到,我们稍加修改:

  • 修改一下 $items,路径成为 $items['mypage/%/edit'],意思是当访问 mypage/1/edit,或者 mypage/2/edit 等,执行此函数
  • 添加 page arguments:'page arguments' => array('hello', 1),
    ‘hello' 作为一个常量传给 $arg1
    1 表示路径mypage后面第一层:当你访问 mypage/1/edit 时候,返回就是 1;如果你访问 mypage/world/edit,返回就是world
  • 给函数 my_page_view增加传递参数, function my_page_view($arg1, $arg2)
  • 修改后,完整代码如下:

    <?phpfunction my_first_module_menu() {  $items = array();    $items['mypage/%/edit'] = array( //修改路径    'title' => '第一个模块 ?? 页面',    'description' => '我的第一个模块页面',    'page callback' => 'my_page_view',    'page arguments' => array('hello', 1), //添加参数    'access callback' => TRUE,    'type' => MENU_NORMAL_ITEM,  );    return $items;}function my_page_view($arg1, $arg2) { //添加参数传递  $output = t('这是模块做的第一个页面。');  $output .= '<br />' . $arg1 . ' ' . $arg2; //打印参数  return $output;}


    清空Cache,然后访问 http://www.mysite.com/?q=mypage/world/edit ,会看到下图

    access callback

    如果有访问这页权限,就要返回TRUE,否则就FALSE(如果不写,默认是FALSE)。如果false,页面就会出现 Access denied 提示。

    type

    描述菜单项属性的代码。许多快捷代码的常量在 menu.inc 里。

    我们这里用了默认项 MENU_NORMAL_ITEM,所以$items里可以不写 'type' => MENU_NORMAL_ITEM,

    常用几种:

  • MENU_NORMAL_ITEM,显示在Navigation菜单列表下,管理员可以拖动或隐藏
  • MENU_SUGGESTED_ITEM,和MENU_NORMAL_ITEM一样,只是默认状态是Disabled的,需要管理员去手工Enabled
  • MENU_CALLBACK 不会产生菜单和面包屑(Breadcrumbs)。只是简单注册一个路径,当路径被访问时,执行相应功能。通常是被API调用。
  • MENU_LOCAL_ACTION 在父菜单里,显示一个link,引导下步操作。譬如:添加一个菜单
  • MENU_LOCAL_TASK 也是作为一个link,不过通常是以标签(TAB)格式显示
  • MENU_DEFAULT_LOCAL_TASK 和 MENU_LOCAL_TASK 一样是标签(TAB),不过是默认标签,和父菜单路径一样(这个itmes的路径只是表达是父菜单)
  • 想深入了解,可以打开目录下 /modules/menu/menu.modules文件,然后结合http://www.yoursite.com/?q=admin/structure/menu/manage/navigation,帮助你了解

    menu_name

    如果你不要把这个菜单项放在Navigation下,就可以在这里指定。譬如:'menu_name' => 'main-menu',这样就会和Home一起出现在主菜单上

    (更多参数,慢慢完善)

    ??

    Kenyataan
    Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
    Memahami HTML, CSS, dan JavaScript: Panduan PemulaMemahami HTML, CSS, dan JavaScript: Panduan PemulaApr 12, 2025 am 12:02 AM

    WebDevelopmentReliesOnhtml, CSS, andjavascript: 1) HtmlStructuresContent, 2) CSSStylesit, dan3) JavaScriptaddsInteractivity, Formingthebasisofmodernwebexperiences.

    Peranan HTML: Penstrukturan Kandungan WebPeranan HTML: Penstrukturan Kandungan WebApr 11, 2025 am 12:12 AM

    Peranan HTML adalah untuk menentukan struktur dan kandungan laman web melalui tag dan atribut. 1. HTML menganjurkan kandungan melalui tag seperti, menjadikannya mudah dibaca dan difahami. 2. Gunakan tag semantik seperti, dan lain -lain untuk meningkatkan kebolehcapaian dan SEO. 3. Mengoptimumkan kod HTML boleh meningkatkan kelajuan pemuatan laman web dan pengalaman pengguna.

    HTML dan Kod: Melihat lebih dekat pada istilahHTML dan Kod: Melihat lebih dekat pada istilahApr 10, 2025 am 09:28 AM

    Htmlisaspecifictypeofcodefocusedonstructuringwebcontent, manakala "kod" secara meluas ini

    HTML, CSS, dan JavaScript: Alat penting untuk pemaju webHTML, CSS, dan JavaScript: Alat penting untuk pemaju webApr 09, 2025 am 12:12 AM

    HTML, CSS dan JavaScript adalah tiga tiang pembangunan web. 1. HTML mentakrifkan struktur laman web dan menggunakan tag seperti, dan sebagainya. 2. CSS mengawal gaya laman web, menggunakan pemilih dan atribut seperti warna, saiz font, dan lain-lain.

    Peranan HTML, CSS, dan JavaScript: Tanggungjawab TerasPeranan HTML, CSS, dan JavaScript: Tanggungjawab TerasApr 08, 2025 pm 07:05 PM

    HTML mentakrifkan struktur web, CSS bertanggungjawab untuk gaya dan susun atur, dan JavaScript memberikan interaksi dinamik. Ketiga melaksanakan tugas mereka dalam pembangunan web dan bersama -sama membina laman web yang berwarna -warni.

    Adakah HTML mudah belajar untuk pemula?Adakah HTML mudah belajar untuk pemula?Apr 07, 2025 am 12:11 AM

    HTML sesuai untuk pemula kerana mudah dan mudah dipelajari dan dapat melihat hasilnya dengan cepat. 1) Keluk pembelajaran HTML adalah lancar dan mudah dimulakan. 2) Hanya menguasai tag asas untuk mula membuat laman web. 3) Fleksibiliti yang tinggi dan boleh digunakan dalam kombinasi dengan CSS dan JavaScript. 4) Sumber pembelajaran yang kaya dan alat moden menyokong proses pembelajaran.

    Apakah contoh tag permulaan dalam html?Apakah contoh tag permulaan dalam html?Apr 06, 2025 am 12:04 AM

    Anexampleofastartartingtaginhtmlis, yangbeginsaparagraph.startingtagsareessentialinhtmlasttheyinitiateelements, definetheirtypes, andarecrucialforstructuringwebpagesandconstructionthedom.

    Bagaimana cara menggunakan susun atur flexbox CSS untuk mencapai penjajaran yang berpusat pada kesan segmentasi garis putus -putus dalam menu?Bagaimana cara menggunakan susun atur flexbox CSS untuk mencapai penjajaran yang berpusat pada kesan segmentasi garis putus -putus dalam menu?Apr 05, 2025 pm 01:24 PM

    Bagaimana untuk merancang kesan segmentasi garis bertitik di menu? Semasa merancang menu, biasanya tidak sukar untuk menyelaraskan kiri dan kanan antara nama hidangan dan harga, tetapi bagaimana pula dengan garis bertitik atau titik di tengah ...

    See all articles

    Alat AI Hot

    Undresser.AI Undress

    Undresser.AI Undress

    Apl berkuasa AI untuk mencipta foto bogel yang realistik

    AI Clothes Remover

    AI Clothes Remover

    Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

    Undress AI Tool

    Undress AI Tool

    Gambar buka pakaian secara percuma

    Clothoff.io

    Clothoff.io

    Penyingkiran pakaian AI

    AI Hentai Generator

    AI Hentai Generator

    Menjana ai hentai secara percuma.

    Artikel Panas

    R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
    3 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌
    R.E.P.O. Tetapan grafik terbaik
    3 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌
    R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
    3 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌
    WWE 2K25: Cara Membuka Segala -galanya Di Myrise
    4 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌

    Alat panas

    SublimeText3 Linux versi baharu

    SublimeText3 Linux versi baharu

    SublimeText3 Linux versi terkini

    mPDF

    mPDF

    mPDF ialah perpustakaan PHP yang boleh menjana fail PDF daripada HTML yang dikodkan UTF-8. Pengarang asal, Ian Back, menulis mPDF untuk mengeluarkan fail PDF "dengan cepat" dari tapak webnya dan mengendalikan bahasa yang berbeza. Ia lebih perlahan dan menghasilkan fail yang lebih besar apabila menggunakan fon Unicode daripada skrip asal seperti HTML2FPDF, tetapi menyokong gaya CSS dsb. dan mempunyai banyak peningkatan. Menyokong hampir semua bahasa, termasuk RTL (Arab dan Ibrani) dan CJK (Cina, Jepun dan Korea). Menyokong elemen peringkat blok bersarang (seperti P, DIV),

    Muat turun versi mac editor Atom

    Muat turun versi mac editor Atom

    Editor sumber terbuka yang paling popular

    DVWA

    DVWA

    Damn Vulnerable Web App (DVWA) ialah aplikasi web PHP/MySQL yang sangat terdedah. Matlamat utamanya adalah untuk menjadi bantuan bagi profesional keselamatan untuk menguji kemahiran dan alatan mereka dalam persekitaran undang-undang, untuk membantu pembangun web lebih memahami proses mengamankan aplikasi web, dan untuk membantu guru/pelajar mengajar/belajar dalam persekitaran bilik darjah Aplikasi web keselamatan. Matlamat DVWA adalah untuk mempraktikkan beberapa kelemahan web yang paling biasa melalui antara muka yang mudah dan mudah, dengan pelbagai tahap kesukaran. Sila ambil perhatian bahawa perisian ini

    VSCode Windows 64-bit Muat Turun

    VSCode Windows 64-bit Muat Turun

    Editor IDE percuma dan berkuasa yang dilancarkan oleh Microsoft