链接到Drupal 8中的其他页面

时间:2018-10-05 05:44:06

标签: php twig block drupal-8 base-url

在Drupal 7中,我使用以下代码链接到其他页面。我有“ 服务,并且在该块中,我这样写。

<?php
global $base_url;    
global $base_path;   
$link = $base_url . '/sites/all/themes/bootstrap_business/images';
?>
<div><img alt="" src="<?php print $link?>/customer.png" /></div>
<p><a href="<?php echo $base_url;?>/en/test#collapseOne"> Service</a></p>

,然后使用 PHP 保存文本格式。
但是目前 Drupal 8 ,我们没有文本格式选项“ PHP”,而且我也不知道如何编写代码以与其他页面连接。
有人帮我吗?
谢谢。

2 个答案:

答案 0 :(得分:1)

请参阅:https://www.drupal.org/docs/8/theming/twig/functions-in-twig-templates

在您的示例中,您需要指定主题目录。只需使用:

<img src="/{{ directory }}/images/xyz.jpg">

在这里,{{directory}}将解析为您当前主题的目录。 用于准备指向其他字段的链接。参见上面提到的drupal页面

答案 1 :(得分:1)

在drupal 8中,您可以使用hook_preprocess_HOOK()将变量传递到树枝文件,并像

那样调用变量
<header class="main-header">
  {{ title_prefix }}
  {% if page.header and logged_in %}
    {{ page.header }}
  {% endif %}
  {% if not logged_in %}
  <a href="{{ front_page }}" title="{{ 'Home'|t }}" rel="home" id="logo" class="logo">
    <img src="{{ base_path }}themes/custom/mytheme/logo-login.png" alt="{{ 'Home'|t }}" />
  </a>
  <h2 class="login-logo">{{ site_name }}</h2>
  {% endif %}
  {{ title_suffix }}
</header>

有关更多详细信息,请参见https://www.drupal.org/docs/8/theming/twig/functions-in-twig-templates

您还可以使用

包括其他页面
{# this template is located in templates/layout.html.twig #}
{% extends "layout.html.twig" %}

{# this template is located in templates/user/profile.html.twig #}
{{ include('user/profile.html.twig') }}