ホームページ ウェブフロントエンド htmlチュートリアル Drupal 7 モジュール開発 モジュール作成 最初のページ (hook_menu)_html/css_WEB-ITnose

Drupal 7 モジュール開発 モジュール作成 最初のページ (hook_menu)_html/css_WEB-ITnose

Jun 24, 2016 am 11:50 AM

モジュールを作成するには、「Drupal 7 モジュールの開発と作成」を参照してください

中国語をサポートしたい場合は、ファイル形式を UTF-8、NO BOM として保存する必要があります

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

hook_menu はメニュー項目とページのフィードバックを定義します。

フックを独自のモジュール名に置き換える必要があります。ここでは、my_first_module.module ファイルに my_first_module_menu() を作成します

<?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;}
ログイン後にコピー

注: ?>

とは書かないでください

キャッシュをクリアしてから http://www.mysite.com/?q=mypage にアクセスしてください。下の図を参照してください

(実際には、http://www.mysite.com/?q=mypage/aaa/bbb にアクセスすると、このページにアクセスします)

$items[] パス

  • $items は最初に [ ] でパスを定義します。 /mypage ページにアクセスするときに、my_page_view 関数を呼び出してページを生成します
  • 各 $items は [ ] で記述されたパスに対応します。項目が同じパスを使用する場合は、呼び出しの後に $items を記述します。 (一部の記事では、これが $items のパラメーターの重みに関係していると書かれています。重みが順序に影響しないことをテストしました)

  • [ ] ワイルドカードも使用できます (例: [node/%/edit])。詳細については、次を参照してください: パスのワイルドカード関数hook_menuのセクション

  • title 必須

    未翻訳のテーマ

    titleコールバック

    テーマを生成する関数。デフォルトは t() です。翻訳したくない場合は、FALSE を設定してください ('title' => t('First Form') と書く必要はありません)

    title 引数

    t() または の引数に渡します。カスタム関数。パスコンポーネントと組み合わせることができます
    参考: メニュー項目のタイトルと説明のコールバック、ローカリゼーション

    説明

    未翻訳の説明。

    ページ コールバック

    ユーザーがページ パスにアクセスすると、Web ページを表示する関数を呼び出します。

    書かれていない場合は、親メニューのコールバック関数が代わりに実行されます。つまり、$items['mypage'] と $items['mypage/child'] は同じコンテンツを実行します。

    フォーム (Form) を作成、検証、送信するための特別なコールバック関数 drupal_get_form() が後で Drupal 7 モジュールで開発されます。具体的には

    ページ引数

    ページのコールバック関数に渡されます。 上記の例では文字列パラメーターの配列は使用されていません。少し変更してみましょう:

  • $items を変更すると、パスは $items['mypage/%/edit'] になります。これは、mypage/ にアクセスするときを意味します。 1/edit、または mypage/ 2/edit など、この関数を実行します
  • ページ引数を追加します: 'page argument' => array('hello', 1),
    'hello' は定数として $arg1 に渡されます
    1 は、パス mypage の背後にある最初のレイヤーを表します。 mypage/1/edit にアクセスすると、戻り値は 1 になります。 mypage/world/edit にアクセスすると、戻り値は world になります
  • 関数 my_page_view、関数 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;}
    ログイン後にコピー


    キャッシュをクリアし、http://www.mysite.com/?q=mypage/world/edit にアクセスします。次の画像

    アクセスコールバック

    このページへのアクセス権がある場合はTRUEを返す必要があり、それ以外の場合はFALSEを返します(書かれていない場合、デフォルトはFALSEです)。 false の場合、ページに アクセスが拒否されました プロンプトが表示されます。

    type

    メニュー項目のプロパティを説明するコード。多くのショートカット コード定数が menu.inc にあります。

    ここではデフォルトの項目 MENU_NORMAL_ITEM を使用するため、$items => MENU_NORMAL_ITEM,

    に 'type' を記述する必要はありません

    一般的に使用されるもの:

  • MENU_NORMAL_ITEM、ナビゲーション メニュー リストの下に表示されます。管理者は、ドラッグして移動または非表示にすることができます
  • MENU_SUGGESTED_ITEM は、デフォルトの状態が無効であり、管理者が手動で有効にする必要がある点を除いて、MENU_NORMAL_ITEM と同じです
  • MENU_CALLBACK はメニューとパンくずリストを生成しません。パスを登録し、そのパスにアクセスしたときに対応する関数を実行するだけです。通常は API によって呼び出されます。
  • MENU_LOCAL_ACTION 親メニューには、次のステップをガイドするリンクが表示されます。例: メニューを追加します
  • MENU_LOCAL_TASKはリンクとしても使用されますが、通常はタグ(TAB)形式で表示されます
  • MENU_DEFAULT_LOCAL_TASKはMENU_LOCAL_TASKと同様のタグ(TAB)ですが、デフォルトのタグです。親メニューのパスと同じです (このアイテムのパスは単に親メニューを意味します)
  • さらに詳しく知りたい場合は、ディレクトリ内の /modules/menu/menu.modules ファイルを開いて、http と結合します。理解を助けるために、://www.yoursite.com/?q=admin/ Structure/menu /manage/navigation

    menu_name

    このメニュー項目をナビゲーションの下に置きたくない場合は、ここで指定できます。例: 'menu_name' => 'main-menu'、これはホーム

    とともにメイン メニューに表示されます (パラメータは徐々に改善されます)


    ??
    このウェブサイトの声明
    この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

    ホットAIツール

    Undresser.AI Undress

    Undresser.AI Undress

    リアルなヌード写真を作成する AI 搭載アプリ

    AI Clothes Remover

    AI Clothes Remover

    写真から衣服を削除するオンライン AI ツール。

    Undress AI Tool

    Undress AI Tool

    脱衣画像を無料で

    Clothoff.io

    Clothoff.io

    AI衣類リムーバー

    Video Face Swap

    Video Face Swap

    完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

    ホットツール

    メモ帳++7.3.1

    メモ帳++7.3.1

    使いやすく無料のコードエディター

    SublimeText3 中国語版

    SublimeText3 中国語版

    中国語版、とても使いやすい

    ゼンドスタジオ 13.0.1

    ゼンドスタジオ 13.0.1

    強力な PHP 統合開発環境

    ドリームウィーバー CS6

    ドリームウィーバー CS6

    ビジュアル Web 開発ツール

    SublimeText3 Mac版

    SublimeText3 Mac版

    神レベルのコード編集ソフト(SublimeText3)

    HTMLは初心者のために簡単に学ぶことができますか? HTMLは初心者のために簡単に学ぶことができますか? Apr 07, 2025 am 12:11 AM

    HTMLは、簡単に学習しやすく、結果をすばやく見ることができるため、初心者に適しています。 1)HTMLの学習曲線はスムーズで簡単に開始できます。 2)基本タグをマスターして、Webページの作成を開始します。 3)柔軟性が高く、CSSおよびJavaScriptと組み合わせて使用​​できます。 4)豊富な学習リソースと最新のツールは、学習プロセスをサポートしています。

    HTML、CSS、およびJavaScriptの役割:コアの責任 HTML、CSS、およびJavaScriptの役割:コアの責任 Apr 08, 2025 pm 07:05 PM

    HTMLはWeb構造を定義し、CSSはスタイルとレイアウトを担当し、JavaScriptは動的な相互作用を提供します。 3人はWeb開発で職務を遂行し、共同でカラフルなWebサイトを構築します。

    HTMLでの開始タグの例は何ですか? HTMLでの開始タグの例は何ですか? Apr 06, 2025 am 12:04 AM

    Anexampleapalofastartingtaginhtmlis、それはaperginsaparagraph.startingtagsaresentionentientiontheyinitiateelements、definetheirtypes、およびarecrucialforurturingwebpagesandcontingthomedomを構築します。

    HTML、CSS、およびJavaScriptの理解:初心者向けガイド HTML、CSS、およびJavaScriptの理解:初心者向けガイド Apr 12, 2025 am 12:02 AM

    webdevelopmentReliesOnhtml、css、andjavascript:1)htmlStructuresContent、2)cssStylesit、および3)Javascriptaddsinteractivity、形成、

    Giteeページ静的なWebサイトの展開に失敗しました:単一のファイル404エラーをトラブルシューティングと解決する方法 Giteeページ静的なWebサイトの展開に失敗しました:単一のファイル404エラーをトラブルシューティングと解決する方法 Apr 04, 2025 pm 11:54 PM

    GiteEpages静的Webサイトの展開が失敗しました:404エラーのトラブルシューティングと解像度Giteeを使用する

    WebアノテーションにY軸位置の適応レイアウトを実装する方法は? WebアノテーションにY軸位置の適応レイアウトを実装する方法は? Apr 04, 2025 pm 11:30 PM

    Y軸位置Webアノテーション機能の適応アルゴリズムこの記事では、単語文書と同様の注釈関数、特に注釈間の間隔を扱う方法を実装する方法を探ります...

    CSS3とJavaScriptを使用して、クリック後に周囲の写真を散乱および拡大する効果を実現する方法は? CSS3とJavaScriptを使用して、クリック後に周囲の写真を散乱および拡大する効果を実現する方法は? Apr 05, 2025 am 06:15 AM

    画像をクリックした後、散乱と周囲の画像を拡大する効果を実現するには、多くのWebデザインがインタラクティブな効果を実現する必要があります。特定の画像をクリックして周囲を作成してください...

    HTML、CSS、およびJavaScript:Web開発者に不可欠なツール HTML、CSS、およびJavaScript:Web開発者に不可欠なツール Apr 09, 2025 am 12:12 AM

    HTML、CSS、およびJavaScriptは、Web開発の3つの柱です。 1。HTMLは、Webページ構造を定義し、などなどのタグを使用します。2。CSSは、色、フォントサイズなどのセレクターと属性を使用してWebページスタイルを制御します。

    See all articles