4

私はphpを学び、テーマを作成している最中です。

残念ながら、現在 drupal で使用しているテーマを編集しているときに、テーマを間違えて、drupal/index.php を押しても何も表示されなくなりました。壊れた drupal テーマを機能するテーマに変更したいのですが、管理セクションを表示することさえできないため、変更できません。

4

9 に答える 9

15

Drupal.orgのデータベースページからテーマをリセットする方法には、SQL プロンプトから直接テーマを変更する手順が記載されています。

これが Drupal の最新バージョンで機能するかどうかはすぐにはわからないため、これを試す前にデータベースをバックアップしてください

于 2009-05-20T15:20:50.507 に答える
4

フロントエンドのテーマを変更する最も簡単な方法は、sites/default/settings.php で設定することです:

$conf['theme_default'] = 'minelli';
于 2009-08-18T22:09:50.537 に答える
2

または、Drupal 6 を使用している場合は、壊れたテーマ フォルダーを削除または移動すると、Drupal がテーマをデフォルトのテーマ (Garland) に変更します。

于 2009-12-24T11:27:43.183 に答える
2

現在の問題を分類するという点では、うまくいくはずの簡単な方法があります...現在のテーマが「custom_theme」と呼ばれているとしましょう。

  • テーマ ディレクトリに移動します (" sites/default/themes" おそらく)
  • 開発テーマをバックアップします (つまり、別の場所に移動します。Linux コマンド ラインを使用している場合は、" " のように実行しますmv custom_theme custom_theme.bak) 。
  • garland テーマをここにコピーして、壊れたテーマと同じ名前を付けます (LInux コマンド ラインを使用している場合は、次のように " cp -a ../../../themes/garland ./custom_theme"
  • 今すぐサイトを表示してみてください。壊れたテーマの代わりにガーランドを使用する必要があります。

他の人が以前に言ったように、通常のユーザーと同じように管理者にも別のテーマを使用することを強くお勧めします (何かを壊す場合に備えて)。安全な管理テーマ (ガーランドなど) を選択すると、テーマで遊んでいる場合は、ほぼ常に管理インターフェイスにアクセスできます。

于 2009-05-20T16:02:03.387 に答える
1

次のコードを含めることで、テーマに新しいログインフォームを挿入することもできます。

 `<?php 
    if(!user_is_logged_in() ){
        print drupal_render(drupal_get_form('user_login'));
    }else{
        print "You are already logged in!";
   }?>` 

page.tpl.php壊れたテーマのファイルのどこかにある場合は、 admin credentials;)に登録します。

于 2012-11-12T12:12:16.353 に答える
1

2 つのテーマを並行して使用すると役立つ場合があります。

「ユーザー フロントエンド」用に 1 つを設定します - で開発しているもの/admin/build/themes、ガーランドなどの別の標準を「管理バックエンド」として変更するつもりはありません/admin/settings/admin

開発中のテーマが壊れてしまった場合は、管理エリア ( /admin) に移動するだけで、ガーランドに戻ります。

于 2009-05-20T08:33:50.017 に答える
1

次のスタック オーバー フローの問題も参照してください。それはそれらに関連しています

今ここに解決策があります:悪いテーマのファイルを削除し、キャッシュをクリアしてください。キャッシュをクリアすると、再度ログインできるようになります。

主な問題は、ログインせずにキャッシュをクリアする必要があることです.

Drupal のキャッシュのクリアで説明されているキャッシュをクリアする方法の 1 つを試してください。

IF Not then これを試してください:

drush がある場合、入力するコマンドは次のようになります。

drush vset theme_default garland

コマンドラインまたは管理インターフェース (PHPMyAdmin など) を介して、次のクエリを入力します。

UPDATE system SET status=1 WHERE name = 'garland';

次に、次のいずれかを行います。

UPDATE variable SET value='s:7:"garland"' WHERE name = 'theme_default';
TRUNCATE cache;
TRUNCATE cache_bootstrap;
TRUNCATE cache_block;

「s:7」は、次の文字列の長さを指すことに注意してください。必要に応じて変更します。これはデータベースの操作であり、トリッキーなことです。または、ユーザーごとのテーマを使用していて、管理者として自分で台無しにした場合は、試してください

UPDATE users SET theme='garland' WHERE uid = '1';

これらの行のいずれかを間違えると、同様にひどく混乱する可能性があるため、注意してください。

乾杯!

ムダサル・アリ

于 2014-01-15T14:11:19.910 に答える
0

私の知る限り、テーマ設定はデータベースに保存されており、個々のユーザーごとにも保存されています。テーマを削除する最も簡単な方法は、おそらくテーマパスからテーマを削除することです。

デスクトップに移動するだけで、Drupalは要求されたテーマが欠落していることを検出し、代わりにデフォルトを指定できるはずです。

更新:Drupal 5のインストールでこれを試しましたが、「クリーン」であることがわかりました。動作するDrupalテーマをテーマディレクトリにコピーすることをお勧めします(最初にコピーを作成します)。

于 2009-05-20T06:09:51.067 に答える
0

セクション」モジュールを使用してサイトのさまざまな部分にさまざまなテーマを適用している場合、Drupal サイトで提供されている手順が必ずしも機能するとは限らないことに注意してください。問題のテーマ ディレクトリをこの方法は、管理インターフェイスを適切に表示する唯一の方法です。

于 2010-08-11T10:02:23.627 に答える