Drupal如何设置库和包含文件的路径
在Drupal 7中,我从首页模块内部编写PHP,比如:Drupal如何设置库和包含文件的路径,drupal,include-path,Drupal,Include Path,在Drupal 7中,我从首页模块内部编写PHP,比如: $page = include_once "templates/page.php"; 我将“templates/page.php”放在/sites/all/modules/front下,Drupal抱怨文件丢失。有什么建议最好把文件放在哪里 然后,在安装了PHP简单HTML DOM解析器之后,我编写了以下代码 $html = new simple_html_dom(); 并因未找到“simple_html_dom”类而受到投诉。我曾尝
$page = include_once "templates/page.php";
我将“templates/page.php”放在/sites/all/modules/front下,Drupal抱怨文件丢失。有什么建议最好把文件放在哪里
然后,在安装了PHP简单HTML DOM解析器之后,我编写了以下代码
$html = new simple_html_dom();
并因未找到“simple_html_dom”类而受到投诉。我曾尝试将库文件复制到同一文件夹和主文件夹,但所有案例都不起作用。如何设置正确的路径
非常感谢。您应该使用
drupal\u get\u path
获取文件的完整路径:
$page = include_once(drupal_get_path('module', 'front') . 'templates/page.php');
是文档。您应该使用
drupal\u get\u path
获取文件的完整路径:
$page = include_once(drupal_get_path('module', 'front') . 'templates/page.php');
是文档。提供了此功能。提供了此功能。如何包含一些文件?
方法1
您可以将文件放在web根文件夹下的任何位置,该文件夹是index.php文件的文件夹(主文件夹)
有效类型如下所示:
- 模块
- 主题
- 侧面图
- 主题引擎
- 模块
- 主题
- 侧面图
- 主题引擎
别忘了清除缓存。我发现如果我将include文件放在主目录(Drupal安装的地方)中,它总是可以工作的。但是我认为这不是一个好的做法,我发现如果我把include文件放在主目录(Drupal安装的地方)中,它总是有效的。我想这不是一个好的练习,谢谢。我认为这是一个非常全面的答案。尽管如此,我发现如果我将include文件放在主目录(Drupal安装的地方)中,默认情况下它似乎总是工作的,没有任何附加声明。这总是正确的吗?当然,如果您将文件放在主目录(drupal安装的地方)并使用
include_once“templates/page.php”代码>为什么它有效?因为路径是相对于主目录的。尝试将前导反斜杠(“/”)添加到路径或将drupal移动到子文件夹,但这将无法按预期工作。谢谢。我认为这是一个非常全面的答案。尽管如此,我发现如果我将include文件放在主目录(Drupal安装的地方)中,默认情况下它似乎总是工作的,没有任何附加声明。这总是正确的吗?当然,如果您将文件放在主目录(drupal安装的地方)并使用include_once“templates/page.php”代码>为什么它有效?因为路径是相对于主目录的。尝试将前导反斜杠(“/”)添加到路径或将drupal移动到子文件夹,这将无法按预期工作。
function MYTHEME_preprocess_page(&$variables, $hook) {
if (array_key_exists('node', $variables)) {
if ($variables['node']->type == 'article'){
$variables['theme_hook_suggestions'][] = 'page__article';
}
}
}
/**
* Implements hook_theme().
*/
function MODULE_theme($existing, $type, $theme, $path) {
return array (
'node__CONTENTTYPE' => array (
'variables' => array( . . . ),
'template' => 'node--CONTENTTYPE' ,
'base hook' => 'node',
'path' => drupal_get_path('module', 'CUSTOM_MODULE'),
),
);
}