【问题标题】:Drupal adaptive theme logo url links to outside siteDrupal 自适应主题徽标 url 链接到外部站点
【发布时间】:2011-06-29 15:10:29
【问题描述】:

我有一个使用自适应主题的 drupal 站点。现在徽标中的链接指向“/”(指向我网站的根目录),但我想更改它,使其指向外部网站(www.domain.com)。我该怎么做?

这是在 template.preprocess-page.inc 中创建徽标图像的位置,但我不知道 URL 从何处到达徽标。任何建议都会受到赞赏!

$vars['logo_alt_text']    = check_plain(variable_get('site_name', '')) .' '. t('logo');
$vars['logo_img']         = $vars['logo'] ? '<img src="'. check_url($vars['logo']) .'" alt="'. $vars['logo_alt_text'] .'" title="'. t('Home page') .'"/>' : '';
$vars['linked_site_logo'] = $vars['logo_img'] ? l($vars['logo_img'], '<front>', array('attributes' => array('rel' => 'home'), 'title' => t('Home page'), 'html' => TRUE)) : '';
$vars['linked_site_name'] = $vars['site_name'] ? l($vars['site_name'], '<front>', array('attributes' => array('rel' => 'home'), 'title' => t('Home page'))) : '';

【问题讨论】:

    标签: drupal drupal-themes


    【解决方案1】:

    这一行将 logo 设置为 img 链接:

    $vars['linked_site_logo'] = $vars['logo_img'] ? l($vars['logo_img'], '<front>', array('attributes' => array('rel' => 'home'), 'title' => t('Home page'), 'html' => TRUE)) : '';
    

    $vars['logo_img'] 是图片,&lt;front&gt; 是链接的 url。 l() 是 Drupal 内置的一个函数。 Documentation on l()

    您还可能希望阅读有关预处理函数的更多信息:Setting up variables for use in a template (preprocess and process functions)

    【讨论】:

    • 也许我不明白,但如果我将“”部分更改为我的域(例如 www.domain.com),它会在我当前的 url 之后添加......就像这样 www.currensite.com /www.domain.com
    • @dasop 如果要链接到外部域,则需要在 url 的开头添加 http://,否则 Drupal 将假定它是相对路径
    • Doh,就是这样。非常感谢!
    【解决方案2】:

    需要为 Drupal 6、7 和 8 设置不同的文件。这也可能发生在 Drupal 9 及更高版本中。

    在 Drupal 6 上将其设置为 template.preprocess-page.inc
    在 Drupal 7 上,我们需要将其设置为 template.php
    在 Drupal 8 twig 上,THEME.theme 中的变量。

    如果您的 html 代码已经在页面源中呈现时未显示您的自定义徽标,那么您可能需要通过取消选中主题设置来禁用主题徽标。

    【讨论】:

      猜你喜欢
      • 2021-11-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-04-23
      • 1970-01-01
      相关资源
      最近更新 更多