gpt4 book ai didi

templates - 将 Drupal 7 中的 front.tpl 用于另一个页面

转载 作者:行者123 更新时间:2023-12-01 15:44:51 26 4
gpt4 key购买 nike

非常直接的问题:

我在 drupal 7 站点中使用了 page--front.tpl 和 page.tpl 模板页面。但是,我想在另一页上使用 page-front.tpl。这是可能的还是我需要创建另一个 .tpl 页面来执行此操作。

我正在处理的网站分为两个部分,它本质上是两个独立的网站,无论您是消费者还是企业主,您都可以在这两个网站之间切换。所以我想每个站点的主页都使用front.tpl模板。

干杯。

最佳答案

您可以将theme_preprocess_page 函数添加到您主题的template.php 文件中,然后将您的模板名称添加到模板建议列表中。

function mytheme_preprocess_page(&$vars) {
// you can perform different if statements
// if () {...
$template = 'page__front'; // you should replace dash sign with underscore
$vars['theme_hook_suggestions'][] = $template;
// }
}

编辑

如果你想通过路径别名指定模板名称,你可以这样写代码:

function phptemplate_preprocess_page(&$variables) {
if (module_exists('path')) {
$alias = drupal_get_path_alias($_GET['q']);
if ($alias != $_GET['q']) {
$template = 'page_';
foreach (explode('/', $alias) as $part) {
$template.= "_{$part}";
$variables['theme_hook_suggestions'][] = $template;
}
}
}
}

如果没有此功能,默认情况下您将获得以下节点模板建议:

array(
[0] => page__node
[1] => page__node__%
[2] => page__node__1
)

并且此功能会将以下新模板建议应用于您的节点。具有 node/1 路径和 page/about 别名的示例节点:

array(
[0] => page__node
[1] => page__node__%
[2] => page__node__1
[3] => page__page
[4] => page__page_about
)

因此之后您可以为您的页面使用 page--page-about.tpl.php

如果您想将 page--front.tpl.php 应用于您的 node/15,那么您可以在此函数中添加 if 语句。

function phptemplate_preprocess_page(&$variables) {
if (module_exists('path')) {
$alias = drupal_get_path_alias($_GET['q']);
if ($alias != $_GET['q']) {
$template = 'page_';
foreach (explode('/', $alias) as $part) {
$template.= "_{$part}";
$variables['theme_hook_suggestions'][] = $template;
}
}
}

if ($_GET['q'] == 'node/15') {
$variables['theme_hook_suggestions'][] = 'page__front';
}
}

这将为您提供以下模板建议:

array(
[0] => page__node
[1] => page__node__%
[2] => page__node__1
[3] => page__page
[4] => page__page_about
[5] => page__front
)

索引最高——模板优先级最高。

关于templates - 将 Drupal 7 中的 front.tpl 用于另一个页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8268003/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com