标签: drupal-modules

drupal输入过滤器示例

我正在尝试编写一个输入过滤器,将以http开头并以.mp3结尾的所有内容转换为音频元素,因此:

http://google.com/file.mp3 - > <audio src='http://google.com/file.mp3' />

正则表达式对我来说没问题,只是不确定如何构建模块.

一个简单的例子,允许我添加许多额外的规则将非常有帮助,谢谢.

我知道自定义过滤器模块,但它有相当多的开销.

php drupal input-filtering drupal-modules

3
推荐指数
1
解决办法
1434
查看次数

Drupal 7架构中的外键问题

我在模块的Drupal 7架构上遇到了麻烦.有4个表,但样本2就足够了:

function mymodule_schema() {
$schema['series'] = array(
    'fields' => array(
        'id' => array(
            'type' => 'serial',
            'unsigned' => true,
            'not null' => true,
        ),
        'name' => array(
            'type' => 'varchar',
            'length' => 255,
            'not null' => true,
        ),
    ),
    'unique keys' => array(
        'name' => array('name'),
    ),
    'primary key' => array('id'),
);

$schema['sermon'] = array(
    'fields' => array(
        'id' => array(
            'type' => 'serial',
            'unsigned' => true,
            'not null' => true,
        ),
        'title' => array(
            'type' => 'varchar',
            'length' …
Run Code Online (Sandbox Code Playgroud)

drupal foreign-keys drupal-7 drupal-modules drupal-schema

3
推荐指数
1
解决办法
3356
查看次数

如何从另一个模块覆盖Drupal路径

我希望我的模块覆盖另一个模块设置的路径

例:

模块A已注册路径:

$menu['node/%id/test'] = array(
    'title' => 'Test',
    'page callback' => 'test_A',
    'page arguments' => array(1),
    'access callback' => 'test_access',
    'access arguments' => array(1),
    'type' => MENU_LOCAL_TASK,
)
Run Code Online (Sandbox Code Playgroud)

现在我创建模块B并注册相同的路径.

$menu['node/%id/test'] = array(
    'title' => 'Test',
    'page callback' => 'test_B',
    'page arguments' => array(1),
    'access callback' => 'test_access',
    'access arguments' => array(1),
    'type' => MENU_LOCAL_TASK,
)
Run Code Online (Sandbox Code Playgroud)

对此路径的每个请求

www.mysite.com/node/1/test

将路由到模块B而不是A.

覆盖现有路径的最佳方法是由其他模块设置的?

drupal drupal-6 drupal-7 drupal-modules

3
推荐指数
1
解决办法
2267
查看次数

Drupal 7 FAPI-在验证或提交处理程序中添加表单元素

是否可以在drupal 7模块的验证或提交函数中添加其他表单元素?以下代码工作,图像显示在窗体上:

function test1_form($form, &$form_state)
{
     $form['image']=array(
           '#markup'=>'<img src="sites/all/modules/create_ad/th.jpeg"><br/>', //replace with your own image path
     );

     $form['submit'] = array(
           '#type' => 'submit',
           '#value' => 'Submit',
     );
}
Run Code Online (Sandbox Code Playgroud)

但是当我尝试在提交函数中提交后显示图像,如下所示,它不起作用:

function test1_form($form, &$form_state)
{
     $form['submit'] = array(
           '#type' => 'submit',
           '#value' => 'Submit',
     );
}

function test1_form_submit($form,&$form_state)
{
     $form['image']=array(
           '#markup'=>'<img src="sites/all/modules/create_ad/th.jpeg"><br/>', //replace with your own image path
     );
}
Run Code Online (Sandbox Code Playgroud)

欢迎任何积极的帮助.谢谢.

php drupal-7 drupal-fapi drupal-forms drupal-modules

3
推荐指数
1
解决办法
2735
查看次数

Drupal模块代码重用

我使用node_clone模块效果很好但我的项目中需要使用自定义模块中的node_clone函数.所以我输入以下代码:

module_load_include('inc', 'node_clone', 'clone.pages');

function mymodule_init(){
    clone_node_save(118);
}
Run Code Online (Sandbox Code Playgroud)

该代码返回Fatal error: Call to undefined function clone_node_save().

我的模块按来源分类为标记为minecontrib的目录.Node_save在contrib中,而myModule在我的中.

所以,我按照以下方式修改了代码:

module_load_include('inc', '../../contrib/node_clone', 'clone.pages');
Run Code Online (Sandbox Code Playgroud)

但我得到了同样的错误.

有人能突出我做错了吗?

code-reuse drupal include-path drupal-7 drupal-modules

3
推荐指数
1
解决办法
272
查看次数

Drupal 8 个有机组替代方案?

几年来,我们一直在 Drupal 6 系统上使用有机组。我看到 OG 在 Drupal 7 上可用,但在 Drupal 8 上没有提到它。是否有任何模块或流程可以像 OG 一样在 Drupal 8 上实现子站点?

谢谢!

drupal drupal-6 drupal-7 drupal-modules

3
推荐指数
1
解决办法
3786
查看次数

以编程方式从 drupal 8 获取所有节点

我正在尝试从 drupal 获取某种类型的所有节点。我尝试了很多方法来实现这一目标,但也许由于我缺乏 Drupal 自定义模块编程经验,我无法实现我的愿望。我在网上找到的最接近的方法是:

    $nids = \Drupal::entityQuery('node')->condition('type','news')->execute();
    $nodes =  \Drupal\node\Entity\Node::loadMultiple($nids); 
Run Code Online (Sandbox Code Playgroud)
  • 第一行返回 id 的对象
  • 第二行返回这些 id 的节点

这看起来简单又直接。但是,这就是输出! { "59": { "in_preview": null }, "61": { "in_preview": null } }

有人可以帮忙吗,出了什么问题?这是正确的方法吗?

我想获取节点,然后搜索其中的每一个(我正在制作某种搜索引擎),所以我期望某种对象,然后我可以从中提取标题、正文等。这是正确的方法吗?

php drupal-8 drupal-modules

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

访问树枝中的引用/父元素(段落)

我在(父)段落中有一个实体引用字段,它引用多个子段落。

是否可以访问子级(引用段落)树枝模板中引用段落的字段值?

实际上,我只是想计算引用项目的树枝模板本身之一内的引用项目总数。所以如果你愿意的话,我想计算它的兄弟姐妹+1。

我知道我可以在模块中对此进行预处理,但我想知道这在树枝中是否可行。

drupal-templates drupal-theming drupal-8 drupal-modules

3
推荐指数
1
解决办法
7534
查看次数

Drupal 6的View Filter Block的替代方案?

我正在寻找一种方法来获得与"Views Filter Block"(参见http://drupal.org/project/views_filterblock)相同的功能,但是对于Drupal 6.从描述中获取:

"views_filterblock模块基本上将水平过滤器从视图页面内容区域移动到(垂直)块中."

drupal drupal-views drupal-modules

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

Drupal仅作为Services层

Drupal的Services层可以获取节点等,但有没有办法将Drupal限制为一个Services层,其中前端完全不是Drupal/PHP.有没有办法防止Drupal在任何地方提货,只有非drupal接口加载,然后通过Services层与Drupal通信?

drupal drupal-modules drupal-services

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