Drupal 6.22で実行していて、drupal 7.10にアップグレードしようとしました。アップグレードにより、すべてが成功したことが報告されました。
私の問題は、以前は「コントラスト」というテーマを使用していたことです。無効にしたと思いましたが、今ではそのテーマへの参照があります。
これらのエラーを回避するにはどうすればよいですか?
ガーランドをall/themesフォルダーに移動し、コントラストを付けるために名前を変更しようとしましたが、別のエラーセットが作成されるだけでした。
Notice: Undefined variable: site_name_and_slogan in include() (line 14 of /mysite/sites/all/themes/contrast/page.tpl.php).
Notice: Undefined variable: site_name_and_slogan in include() (line 14 of /mysite/sites/all/themes/contrast/page.tpl.php).
別のデフォルトテーマを選択し、無効にして「コントラスト」ディレクトリを削除しました。キャッシュをクリアして確認しますが、そこにないテーマを参照しようとするものは何もないはずです。
構成->開発->ロギングとエラー
表示するエラーメッセージを設定します:エラーと警告
、通知は表示されません。
通知は良いことです。最良のオプションは、テーマでそれらを修正するか、修正することですが、それがオプションでない場合は、上記の手順で非表示になります。開発者として、通知はすぐに小さな間違いをキャッチします。そうしないと、後でデバッグ時間が大幅に増える可能性があります。
PHP環境での通知は非表示になることが多く、非表示にすることはそれほど大きな問題ではありません。Drupal 7は、デフォルトで強制的に出荷されます。多くのモジュールが通知を処理するように調整されていなかったため、ユーザーがD6以前で通知レポートを有効にすると見栄えが悪くなりました。
テーマが表示されない場合、変更は次のような変更である可能性があります:if ($site_name_and_slogan)
からif (isset($site_name_and_slogan)
基本的に、変数を使用する前に、変数を定義する必要があります。
例:
<?php
// throws a notice if $foo was never defined above it
if ($foo) {
}
// will not throw a notice, even if we did not define it above
if (isset($foo)) {
}
// will throw a notice if we never defined what $output is
print $output;
// will not throw a notice
$output = 'hi';
print $output;