【问题标题】:Drupal 9: implementing custom functionality in PHPDrupal 9:在 PHP 中实现自定义功能
【发布时间】:2022-01-16 10:22:07
【问题描述】:

如果有人能给我一些关于使用 PHP 代码在 drupal 9 页面中实现/插入自定义功能的提示,我将不胜感激。 我正在尝试编写一个 PHP 函数,该函数在单击按钮时根据 Drupal 用户的某些特定属性生成文件,但我不知道从哪里开始。 我真的很困惑。有没有一种简单的方法可以将 PHP 代码插入 Drupal 基本页面? 我正在寻找解决方案,但我总是找到的是自定义模块,其中没有一个给定的示例工作

【问题讨论】:

标签: php drupal


【解决方案1】:

我建议您从基础开始。如果你需要一些基于用户信息的自定义代码,你需要创建一个自定义模块。

尝试观看 Drupalize.me 的教程 https://drupalize.me/series/module-development-guide

【讨论】:

  • 您的答案可以通过额外的支持信息得到改进。请edit 添加更多详细信息,例如引用或文档,以便其他人可以确认您的答案是正确的。你可以找到更多关于如何写好答案的信息in the help center
【解决方案2】:

您可以开始在web/modules/custom/ 中使用您的模块名称创建一个新文件夹。比如:web/modules/custom/my_custom_module

您应该需要这些文件才能启动:

  • my_custom_module.info.yml
  • my_custom_module.routing.yml

my_custom_module.info.yml

name: my_custom_module
type: module
description: 'Defines my_custom_module functionality'
core_version_requirement: ^8 || ^9
package: Custom

my_custom_module.routing.yml

my_custom_module.hello_world:
  path: '/hello-world'
  defaults:
    _controller: '\Drupal\my_custom_module\Controller\MyCustomClass::helloWorld'
    _title: 'Display an Hello World'
  requirements:
    _access: 'TRUE'

src/Controller/MyCustomClass.php

在您的自定义模块文件夹中,创建此文件夹结构 src/Controller/ 和您想要的类的名称,在此示例中为 MyCustomClass.php 我们将从 ControllerBase 扩展,足以让我们创建自定义功能。

<?php

namespace Drupal\my_custom_module\Controller;

use Drupal\Core\Controller\ControllerBase;
use Symfony\Component\HttpFoundation\Response;

class MyCustomClass extends ControllerBase {

  public function helloWorld() {
    return new Response("Hello World");
  }
}

这可能是开始学习和发展的好时机。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-07-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-01
    相关资源
    最近更新 更多