【问题标题】:Create new page in drupal在drupal中创建新页面
【发布时间】:2014-02-09 16:49:03
【问题描述】:

我是 Drupal 的新手。我想创建一个页面并想直接在页面中添加数据而不使用后端内容。我创建了一个这样的页面,page-test.tpl.php。如何在浏览器中调用这个新创建的页面?

【问题讨论】:

    标签: php drupal content-management-system


    【解决方案1】:

    首先您必须创建自己的自定义模块。让模块名称为 test。创建 2 个文件,即 test.info 和 test.module。在 test.module 文件中声明 hook_menu 函数。因为您的模块名称是测试您的hook_menu 将被命名为test_menuHook_menu 使模块能够注册路径,以定义如何处理 URL 请求。路径可以注册仅用于 URL 处理,也可以注册要放置在菜单中的链接。

    测试模块

    function test_menu() {
      $items = array();
      $items['test'] = array(
        'title' => 'My Page',
        'description' => 'Study Hard',
        'page callback' => 'test_simple', //Calls the function
        'access arguments' => array('access content'),
      );
      return $items;
    }   
    
    function test_simple() {                                                                                                                                                                                                             
      return array('#markup' => '<p>' . t('My Simple page') . '</p>');
    }
    

    测试信息

    name = Test
    description = Provides a sample page.
    core = 7.x
    

    添加此内容后,请尝试清除drupal cache,然后导航至/test。如果您是初学者,请尝试此link。尝试阅读hook_theme,它允许您使用自定义模板。更多关于hook_theme here. 希望对你有帮助.. :)

    【讨论】:

    • 根据您的 cmets,我创建了一个名为“test”的文件夹(包含 test.info 和 test.module 文件)并将其上传到根目录中的模块文件夹。而且,我尝试执行 /?q=test 之类的页面。但它显示页面未找到错误。 :-(
    • 您是否在模块列表页面中启用了自定义模块...??您是否尝试过清除缓存...??
    • 是的,我已启用模块并在清除缓存后尝试。 :(
    • 启用自定义模块后,每个页面也显示此代码.. "function test_menu() { $items = array(); $items['test'] = array( 'title' => 'My Page', 'description' => 'Study Hard', 'page callback' => 'test_simple', //调用函数'access arguments' => array('access content'), ); return $items; } function test_simple() { return array('#markup' => ' ' . t('My Simple page') . ' '); }"
    • 你有没有在你的模块开头打开&lt;?php标签..??
    【解决方案2】:

    drupal 中的页面存储在数据库中,而不是像以前的旧网站那样存储在实际的代码文件中。模板文件 (.tpl.php) 正是这样 - 模板。例如,假设您有博客内容。您必须创建“博客”的内容类型。然后,您可以创建一个模板文件(例如 node--blog.tpl.php),该文件将格式化博客页面的外观。但是您仍然需要通过 drupal 界面添加新页面才能将它们添加到站点。如果您想在页面正文中包含 php,则始终可以使用 PHP 输入类型。

    如果您只是想从您的站点在浏览器中显示一个 php 文件,您只需将您选择的 php 文件上传到您的站点/默认/文件目录并通过文件路径直接访问它。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-07-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多