ページの本文コンテンツ領域内で PHP コードを使用する際に問題があります。このサイト、Drupal のサイト、その他のサイト全般を精力的に検索したので、このサイトのどこかに答えがある場合は申し訳ありませんが、見つけることができず、助けが必要です。
サイト全体で再利用する多くの情報を、変数として PHP ファイルに保存したいと考えています。現在、私たちのサイトでこれを行っていますが、サイト全体を Drupal を使用するように書き直しています。たとえば、ソフトウェアを販売していますが、サイトのさまざまな「カートに追加」ボタンの製品 URL ごとに変数が必要です。製品の URL を各リンクにハードコードする必要はなく、任意の drupal ページで呼び出すことができる PHP 変数を設定する必要があります。
何も機能しません。いくつかの提案について読みましたが、どれも機能しません。変数を独自のブロックとして設定し、新しいページを作成するときにページ内からそれらを呼び出してみました。ページ上の変数をエコーできますが、それらが含まれているブロック内でのみ、変数を呼び出して他のブロックまたはコンテンツ領域からエコーすることはできません。グローバル キーワードを使用してみましたが (1 つの提案に従って)、うまくいきませんでした。
これが理にかなっていることを願っています。他の情報?Drupal 6.x を使用しています。ページの作成時に PHP コードを有効にしています。PHP フィルター モジュールを有効にしています。PHP コードをレンダリングできるので、動作していることはわかっています。必要な場所で動作していません。なれ。
私は言うべきです (これを読んだだけでは明らかでない場合!) 私は Drupal の初心者です。
前もって感謝します。
2011 年 3 月 15 日編集
さらに説明するために、いくつかのサンプル コードを投稿します。まだ表示するものがあまりないため、まだこれを行っていません。また、問題がさらに混乱する可能性があると考えました。
そこで、ソフトウェアの試用版をダウンロードするための Drupal の「ページ」を作成しました。設定したい PHP 変数はダウンロード リンク用です。それらを 1 か所に設定して、将来ダウンロード リンクを変更する必要が生じた場合に、1 か所で変更するだけで済むようにしたいと考えています。ご覧のとおり、さまざまなサイト ページにダウンロード リンクがあります。同じことが、「今すぐ購入」リンクにも当てはまります。ページコードは次のとおりです。
<p>Try [product] free for 30 days.</p>
<!--<p>[token_custom_ewintry]</p>-->
<p><?php global $ewintry; ?><a href="<?php print $ewintry; ?>">Download for Windows PC</a></p>
<p><?php global $emactry; ?><a href="<?php print $emactry; ?>">Download for Mac OS X</a></p>
<p><?php global $ebbtry; ?><a href="<?php print $ebbtry; ?>">Download for BlackBerry</a></p>
<?php
$ebbtryprint = variable_get("ebbtry", "default");
print $ebbtryprint;
?>
<p><a href="<?php print $ewmtry; ?>">Download for Windows Mobile</a></p>
<p><?php global $ipewlstorelink; ?>iPhone, iPad, iPod touch owners: <a href="<?php print $ipewlstorelink; ?>">Download [product] on the iTunes App Store</a>. You'll be able to create 10 cards for free to try [product] before you buy!</p>
このサンプルでは、私が試したすべてを残しました。グローバル変数への呼び出しが表示されますが、これは機能しませんでした。作成して「コンテンツトップ」領域に配置したカスタムブロックで定義されたグローバル変数があります。呼び出しが機能しなかったため、ページの本文コンテンツに実際にアクセスできる領域はないようです。
Tokens モジュールで昨日作成したカスタム トークンがあります。うまくいきませんでしたが、別の投稿で、デフォルトではトークンが本文コンテンツ領域で利用可能であり、特別なフィルターが必要であると読みました。私はまだフィルタを見つけていないので、このソリューションが機能するかどうかはわかりません.
variable_get への呼び出しがあります。さて、これはうまくいきました。template.php ページ内で variable_set を定義しました。上記のコード サンプルの print 呼び出しを使用すると、値が出力されます。しかし、今朝このページを見ましたが、それは私が必要としている答えではないと思います。何かを印刷する前に、すべてのページで variable_get を呼び出す必要があるからですよね? そして、それは、すべてを 1 か所に設定するだけでどこでも呼び出せるようにしたいという問題を解決しません。カスタム ブロックに variable_get 呼び出しを入れようとしましたが、ボディ コンテンツ エリアから「コンテンツ トップ」にアクセスできません。variable_get 呼び出しは、「コンテンツ上部」に値を出力しますが、コンテンツ領域のそれより下には再出力しません。
だから多分そのコードは誰かが私を助けるのを助けるでしょう。私が試したことのない唯一の他の提案であるため、CCK について詳しく見ていきます。誰かが助けてくれるなら、前もって感謝します。