2

Drupalサイトに追加する必要のあるカスタムOmnitureコードがあります。テーマテンプレートページにJavascriptコードを追加したので、すべて問題ありません。コードは期待どおりにすべてのページに表示されますが、Javascriptで印刷する必要のあるPHP変数がいくつかあり、空白になっています。

<?php

    $omniture_event = "test this works as expected";

    $omniture =<<<OMNITURE
<script language="JavaScript"><!--

s.events="{$omniture_event}"
s.landing="{$omniture_landing}"

OMNITURE;

    echo $omniture;

?>

ただし、$ omniture_landingはランディングページにのみ設定されており、テンプレートページが最初に読み込まれ、次にページのコンテンツが追加されているように見えます。値を画面に出力でき、他のPHP変数セットで期待どおりにフッターにJavascriptが表示されますが、ランディングページで変数を設定しようとすると、javascriptで空白になります。

4

2 に答える 2

2

page.tpl.phpテンプレートファイルを編集できます。「ランディングページ」がフロントページの場合は、もう少し簡単で一貫性のある操作を行うことができます(タイトルを変更することになった場合)。

if($is_front) { 
  $omniture_landing = 'Yeah we have landed!!!'; 
}

またはノードID:

if($node->nid == '1') { 
  $omniture_landing = 'Yeah we have landed!!!'; 
} 

もちろん、1をノードIDに置き換えます

また、page-front.tpl.phpがあるかどうかを確認します。ある場合、そのファイル、page-front.tpl.phpは、page.tpl.phpではなくランディングページで実行されるテンプレートであり、 page-front.tpl.phpにコードを記述するか、ランディングページ用に別のテンプレートが必要ない場合は削除します。

于 2010-10-13T19:00:55.123 に答える
1

Omnitureコードの前にこれをテンプレートページ(page.tpl.php)に追加することになりました

if($node->title == 'Landing Page Title') {
    $omniture_landing = 'Yeah we have landed!!!';
} else {
    $omniture_landing = '';
}
于 2010-10-13T19:06:52.597 に答える