标签: drupal-modules

什么将 Drupal Hook 与特定模块联系起来?

什么将 Drupal Hook 与特定模块联系起来?

在 Drupal 7 中,每个核心模块都有一个“api”文件

$ ls modules/*/*.api.php
modules/aggregator/aggregator.api.php   modules/openid/openid.api.php
modules/block/block.api.php             modules/overlay/overlay.api.php
modules/comment/comment.api.php         modules/path/path.api.php
modules/contextual/contextual.api.php   modules/rdf/rdf.api.php
modules/dashboard/dashboard.api.php     modules/search/search.api.php
modules/field/field.api.php             modules/shortcut/shortcut.api.php
modules/field_ui/field_ui.api.php       modules/simpletest/simpletest.api.php
modules/file/file.api.php               modules/system/system.api.php
modules/filter/filter.api.php           modules/system/theme.api.php
modules/help/help.api.php               modules/taxonomy/taxonomy.api.php
modules/image/image.api.php             modules/trigger/trigger.api.php
modules/locale/locale.api.php           modules/update/update.api.php
modules/menu/menu.api.php               modules/user/user.api.php
modules/node/node.api.php
Run Code Online (Sandbox Code Playgroud)

这些文件中的每一个都包含一个从不 (?) 调用的函数,但记录了其他模块(包括第 3 方)可以实现的钩子的存在。

File: modules/path/path.api.php
function hook_path_delete($path) {
  db_delete('mytable')
    ->condition('pid', $path['pid'])
    ->execute();
}
Run Code Online (Sandbox Code Playgroud)

我的问题:是什么将特定钩子与特定模块联系起来?为什么path_delete钩子包含在path.api.php文件中?为什么entity_view钩子包含在system.api.php文件中?这只是任意的,事后组织,还是 Drupal 系统中是否有将特定钩子与特定模块联系起来的东西?或者是其他东西?

php drupal drupal-hooks drupal-modules

5
推荐指数
1
解决办法
1220
查看次数

Drupal 需要多个自定义字段,如果字段为空则通过验证

我已经构建了一个具有多个值的自定义字段。我必须将此字段设置为必填字段。但如果至少有一个字段已填写并且最后一个字段为空,我想通过验证。

但我的问题是 Drupal 警告我最后一个(空)字段是必需的。我认为解决hook_field_is_empty()了问题,但是,即使返回 true,表单也无法验证。

非常感谢您的帮助。

执行 :

function MYMODULE_field_widget_form(...) {
    $element['address']+=[
      ...
      '#required' => $instance['required'],
    ];
    ...
}

function MYMODULE_field_is_empty($item, $field) {
    if (empty($item['address']) && empty($item['other'])) {
        return true ;
    }
    return false ;
}
Run Code Online (Sandbox Code Playgroud)

php drupal-7 drupal-modules

5
推荐指数
1
解决办法
3633
查看次数

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

在Drupal中,是什么;$Id$

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

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

drupal drupal-6 drupal-modules

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

获取当前页面/网址

在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
查看次数

理解print_r输出

有些情况下,print_r的输出非常复杂,冗长且难以阅读,例如对象,嵌套数组,嵌套对象,嵌套数组,......

是否有图书馆或工具来帮助开发人员阅读这些信息?像DOM的DOM检查器?

php drupal drupal-modules

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

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 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
查看次数