标签: drupal-modules

Drupal 6模块安装文件没有在数据库中创建表

我正在使用Schema API在Drupa 6.17上为我的模块创建表,但是这些表并没有在数据库中创建.我安装了Schema模块,它告诉我,虽然我的模块的模式被识别,但它的表不在数据库中.它出现在失踪之下:

Tables in the schema that are not present in the database.
test
* test_table
Run Code Online (Sandbox Code Playgroud)

以下是我的test.install文件的内容.

<?php
// $Id$
function test_schema() {
$schema['test_table'] = array(
    'description' => t('Test table'),
    'fields' => array(
        'nid' => array(
            'description' => t('test field'),
            'type' => 'serial',
            'not null' => TRUE,
        ),
        'options' => array(
            'description' => t('other test field'),
            'type' => 'text',
            'not null' => FALSE,
        ),
    ),
    'primary key' => array('nid'),
    );
    return $schema;
}
function test_install() {
    drupal_install_schema('test');
}
function …
Run Code Online (Sandbox Code Playgroud)

drupal drupal-modules

4
推荐指数
1
解决办法
5985
查看次数

在drupal .info中Id的目的是什么

在Drupal中,是什么;$Id$

我知道我们在.info文件中使用它,它告诉Drupal我们的模块信息.

我的问题是为什么有;$Id$必要?

drupal drupal-6 drupal-modules

4
推荐指数
1
解决办法
1008
查看次数

Drupal的模块挂钩呼叫在哪里开始?

在Drupal 7(和Drupal 6?)系统中,什么"开始"钩子调用过程,或"顶级"钩子调用位于何处?

正如我目前了解Drupal模块系统,任何模块都能够为另一个模块创建一个钩子来实现.这意味着Drupal的大部分执行都是为其他模块实现钩子的模块,这反过来又为其他模块提供了钩子来实现.

我不清楚的是,是否有一个初始的顶级钩子在引导程序中调用以启动此过程,或者是否有几个非模块调用启动钩子调用过程,或其他什么(道歉)这是模糊和新的,但就像我说我不明白)

我查看了这个_drupal_bootstrap_full功能,最后有一个很有希望

module_invoke_all('init');
Run Code Online (Sandbox Code Playgroud)

但是,我对该modules/文件夹的搜索只显示了一个"init"钩子函数,这似乎不是一个启动点

system/system.api.php
1737:function hook_init() {

function hook_init() {
  drupal_add_css(drupal_get_path('module', 'book') . '/book.css');
}
Run Code Online (Sandbox Code Playgroud)

所以,这对我说模块系统之外的东西踢掉了这一切.这是发生在一个地方,还是多个地方.这些地方在哪里?

我目前不是一个沉重的Drupal用户.我所有这一切的最终目标是孤立地理解Drupal的模块系统,这样我就可以调查并理解Drupal如何使用它的模块构建大多数人认为是Drupal的应用程序.欢迎任何/所有解释,但我试图从架构的角度理解事物.我知道你不需要这些知识来使用Drupal,但是我的大脑已经坏了,在我知道基本的PHP代码在做什么之前我不会让我前进.

php drupal drupal-hooks drupal-modules

4
推荐指数
1
解决办法
2683
查看次数

获取当前页面/网址

在hook_css_alter中,我想在特定页面上禁用样式表.可以通过以下代码段获得首页要求:

function morin_css_alter(&$css) {
  if(drupal_is_front_page()){
    foreach ($css as $data => $item) {
      unset($css[$data]);
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

现在我需要删除相册页面上的特定样式.我想过几种方法可以做到这一点,但我想以drupal方式做到这一点.

我发现最接近的函数是drupal_get_destination(),我不认为这是为了这个,但它确实返回数组中的当前路径,如css_alter钩子中添加的以下片段所示.

echo " PATH = " . var_dump(drupal_get_destination());

Output: PATH = array(1) { ["destination"]=> string(6) "photos" }
Run Code Online (Sandbox Code Playgroud)

这是从函数/钩子中获取路径的推荐方法,还是我应该使用全局命名空间中的某些变量?

drupal drupal-7 drupal-modules

4
推荐指数
1
解决办法
2万
查看次数

在哪里声明模块中不同包含文件共有的变量 - Drupal

我有一个Drupal Module'示例'.我已将模块的管理和客户端功能拆分为两个包含文件example.admin.inc和example.pages.inc.我在example.module文件中声明了常量(define()),可以在pages.inc文件和admin.inc文件中访问它们.

但是如何在集中位置声明普通$变量,以便可以在admin.inc文件和pages.inc文件中访问它们.我试图在example.module中声明$ variable,但无法在example.admin.inc和example.pages.inc中访问它.

drupal drupal-6 drupal-modules

4
推荐指数
1
解决办法
3091
查看次数

Drupal 7 - 使用BETWEEN查询无效

我在Drupal 7中有一个查询正在搜索自定义表:

$query5 = "SELECT COUNT(reservation_id) as rcount5, reservation_id FROM {reservations} WHERE resource_id = :resource_id AND reservation_date = :reservation_date AND start_time BETWEEN :start_time AND :end_time";
$result5 = db_query($query5, array(':resource_id' => $resource_id, ':reservation_date' => $reservation_date, ':start_time' => $start_time, ':end_time' => $end_time));
Run Code Online (Sandbox Code Playgroud)

查询无效,因为我认为它没有正确识别BETWEEN函数并返回end_time,因为它存在.有没有办法显示drupal或db api这是BETWEEN语句?谢谢.

mysql drupal-7 drupal-modules

4
推荐指数
1
解决办法
8648
查看次数

如何从drupal搜索中排除一种内容类型

如何从drupal搜索中排除一种内容类型.我也使用node_quick_find模块进行自动完成搜索.有没有办法做同样的事情.
请帮我

php drupal drupal-6 drupal-modules

4
推荐指数
1
解决办法
3416
查看次数

如何在drupal模块中创建表单?

我在网上搜索一个教程来创建一个在页面上显示的表单,当我们使用模块和块显示内容时,我们是否应该在模块中显示一个表单?由于我是drupal的新手,我对drupal形式一无所知.我下载并安装了示例表单模块.但我不知道这个表格会在哪里显示出来.我从这里下载了它 http://drupal.org/node/1121110

php drupal drupal-7 drupal-fapi drupal-modules

4
推荐指数
1
解决办法
3760
查看次数

drupal 7:邮件发送但身体和主题都是空的

我正在尝试使用Drupal 7发送电子邮件.电子邮件将发送到我的电子邮件帐户,但不知何故,正文和主题是空的.请帮我解释原因.非常感谢你.

以下是我的代码:

这是表格

function get_friendform($form,&$form_submit){
    $form['fullname'] = array(
        '#title' => t('Your Full Name: '),
        '#type' => 'textfield',
        '#required' => TRUE,
        '#size' => 30,
    );

    $form['email'] = array(
        '#title' => t('Your Full Email: '),
        '#type' => 'textfield',
        '#required' => TRUE,
        '#size' => 30,
    );

    $form['friend_email'] = array(
        '#title' => t('Your Friend Email: '),
        '#type' => 'textfield',
        '#required' => TRUE,
        '#size' => 30,
    );


    $form['submit'] = array(
        '#type' => 'submit',
        '#value' => 'submit',
        '#submit' => array('sendform_form_submit')

    );

    return $form;
}



function …
Run Code Online (Sandbox Code Playgroud)

php drupal drupal-7 drupal-modules

4
推荐指数
1
解决办法
3866
查看次数

Drupal 7 db_select嵌套选择查询

如何将嵌套的选择查询转换为Drual 7 db_select?以下是问题查询:

select 
    * 
from 
    tbl_word 
where 
    EngWord like '%apple%' or 
    WordID in (
        select 
            WordID 
        from 
            tbl_subword 
        where 
            EngWord like '%apple%'
    );
Run Code Online (Sandbox Code Playgroud)

mysql sql drupal drupal-7 drupal-modules

4
推荐指数
1
解决办法
3759
查看次数