2016-04-25 7 views
0

Ich möchte Seite in Admin-Seite mit Modul erstellen. Ich muss die benutzerdefinierte Link-Seite mit hook_menu() erwähnen. Nachdem ich auf den Link vom Browser zugegriffen habe, möchte ich einige Links anzeigen, um andere statische Links von einer anderen Website aufzurufen.Wie erstelle ich benutzerdefinierte Seite mit benutzerdefinierten Links in Drupal 7?

Beispiel:

Ich mag admin/list-of-Links erstellen:

benutzerdefinierte URL

Nachdem auf dieser Seite auf diese klicken, wäre das Ergebnis wie Tabelle mit der Taste für die Navigation Auflistung sein, das statische Links von einer anderen Website.

Ich habe folgende erstellt.

Mit dem folgenden Code habe ich eine benutzerdefinierte Seite mit Zuordnung der benutzerdefinierten Vorlagendatei erstellt, indem statische Verknüpfungen übergeben und in der benutzerdefinierten Vorlage gedruckt. Bitte beachten Sie, ich habe gerade Array in der Template-Seite gedruckt. Die Formatierung bleibt erhalten.

<?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); 

    ?> 

Antwort

0

Sie müssen das hook_menu() verwenden, um dies zu tun.

Angenommen, Ihr Modul nist Beispiel genannt, dann müssen Sie den folgenden Code in der .module Datei hinzufügen:

/** 
* 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; 
} 

Um dann eine Liste von Links auf der ausgewählten Seite zurückkehren, werden Sie brauchen eine Funktion für die Seite Rückruf an, so zum Beispiel:

/** 
* 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; 
} 

Dies sollte funktionieren, wenn Sie das Modul aktivieren und deaktivieren Sie den Cache (sehr wichtig, mit hook_menu)