web-dev-qa-db-ja.com

ビューのフィールド出力を書き換えるときにリンクのURLエイリアスを取得する方法

ビューに画像フィールドがあり、「出力の書き換え」オプションを使用する必要があります。画像フィールドの出力は次のとおりです。

<a href="/taxonomy/term/[tid]" title="Album &quot;[name]&quot;" class="vignette-wrapper">
[field_image]<span class="vignette"></span></a>

したがって、分類用語へのリンクが含まれています。しかし、このリンクを、生のDrupalパスではなく、この分類用語のカスタムURLにしたいと考えています。分類用語の私のPathautoパターンは次のとおりです。

[term:vocabulary]/[term:parents:join-path]/[term:name]

しかし、ビューでは[term:parents:join-path]トークンは、置換パターンのリストに表示されません。

これを達成する方法は?

1
camcam

グローバルリダイレクトモジュール(drupal.org/project/globalredirect)は、1つの潜在的なソリューションになります。それはあなたのサイト上のそのようなすべてのリンクをグローバルに自動的にリダイレクトします。

1
cdmo

置いた

function [theme-name]_preprocess_views_view_field__[view-name]__tid(&$vars) {
  $vars['output'] = drupal_get_path_alias('taxonomy/term/' . $vars['output']);
}

template.php「TID」フィールドをビューに追加した後。これには、プリプロセスフックを呼び出すために、テーマフォルダー内のビューによって提供されるテーマ情報に従って名前が変更されたviews-view-field.tpl.phpのコピーも必要です。

0
Shaun Dychko