異なるコンテンツから同じページを開きたいのですが。したがって、これらのコンテンツに対して/testimonials#group-1
のようなリンクを生成する必要があります。私はこれにpathautoモジュールを使用しました。このカテゴリのパターンを作成しましたtestimonials#[node:title]
。しかし、このURLはブラウザ/testimonials%23group-1
によってエンコードされ、ページが見つかりませんというエラーは表示されません。
では、/testimonials#group-1
。のような出力を提供できるURLエイリアスにアンカー(#)をどのように配置できますか?
ノードのエイリアスにアンカーを追加して、ノードに複数のセクションを定義しようとしていると思います。これは、不可能ですアンカーの宛先はpathの一部ではないため、alias。詳細については、 HTMLのリンクに関するW3の紹介 を参照してください。
アンカーの作成:ノードの本体をサブセクション化する場合は、コードでアンカーを使用する必要があります。
<a name="anchorOne"> ... </a>
WYSIWYG module を使用している場合は、Anchor
プラグインが有効になっていることを確認してください。そうすることで、組み込みのアンカープラグインのGUIを使用してアンカーを作成できます。はるかに簡単です。
アンカーへのリンク:アンカーを作成した後、次のようにハイパーリンクを作成することで、そのセクションにリンクできます。
<a href="/path/to/node#anchorOne">Link text</a>
Drupal方式で上記のリンクを作成するには:
<?php print l('Link text', 'path/to/node', array('fragment' => 'anchorOne')); ?>
または、アンカー先を含むURLのみを作成するには:
<?php print url('path/to/node', NULL, 'anchorOne'); ?>
まず、コンテンツタイプtestimonialのPathautoパターンを/ testimonials/[node:title]に設定します。これは、たとえば、1つの証言をノードとして表示する場合、たとえば、下のビューに完全なノードを含めない場合に役立ちます。
次に、すべての紹介文を一覧表示するビューを作成し、それらをURL/ testimonialsのページとして表示します。 Unformattedスタイルを使用し、Titleを行クラスに含めます(ビューで[スタイル]> [スタイル]> [設定]を使用)。Anchor- [title](後で表示します)なぜ「アンカー_」部分なのか)。
次に、views-view-unformatted.tpl.phpの特別なバージョン(たとえば、views-view-unformatted-。tpl.php)を作成し、独自のテーマフォルダー(適切な場所)に配置します。
<?php foreach ($rows as $id => $row): ?>
<div <?php if ($classes_array[$id]) { print 'class="' . $classes_array[$id] .'"'; } ?>>
<?php print $row; ?>
</div>
<?php endforeach; ?>
行スタイルを取得する小さなPHPスニペットを作成し、「アンカータイトル」を含む1つのクラスを見つけます。
<?php foreach ($rows as $id => $row): ?>
<div <?php if ($classes_array[$id]) { print 'class="' . $classes_array[$id] .'"'; } ?>>
<?php
if ($classes_array[$id]) {
$classes = explode(" ", $classes_array[$id]);
for ($i=0;$i<count();$i++) {
if (strpos($classes[$i], "Anchor_") === 0) {
list($tmp, $anchor) = explode("_", $classes[$i]);
?>
<a name="<?php print $anchor; ?>"></a>
<?php
}
}
}
?>
<?php print $row; ?>
</div>
<?php endforeach; ?>
おそらくコードを最適化することができますが、それはあなたが始めるための唯一のものです...
ところで、上部に「メニュー」を作成するには、タイトルからリンクを作成するビューを含むビューにヘッダーを追加します。例えば。
<a href="#Title">Link text</a>