2009-05-20 14 views
4

私はPHPを学んでテーマを作成しています。Webインターフェイスを使わずにDrupalでテーマを切り替える

残念ながら、私が現在drupalで使用していたテーマを編集中に、drupal/index.phpを押しても何も表示されないようにテーマを間違えました。私は壊れたDrupalのテーマを作業中のものに変更したいが、私は管理セクションを見ることさえできないので、私はそうすることができない。

答えて

14

Drupal.orgのHow To reset your theme via the databaseページには、SQLプロンプトからテーマを直接変更する方法が記載されています。

最新版のDrupalで動作するかどうかはすぐに分かりませんので、データベースをバックアップしてからを実行してください。

+0

ええ、http://drupal.org/node/200774はうまくいくようです。 –

+2

'drush vset theme_default garland'は、そのページで最も簡単な方法です。 – htoip

0

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

デスクトップに移動するだけで、Drupalはあなたの要求されたテーマが見つからないことを検出して、代わりにデフォルトを指し示すことができます。

更新:私のDrupal 5のインストールでこれを試してみると、「クリーン」と判明しました。私はあなたのテーマディレクトリに作業用のDrupalテーマをコピーすることをお勧めします(最初にコピーを作成する)。

+0

私はあなたの言うことでしたし、私は次のDrupalのエラーを取得: rwtsang_2は、テーマの名前です。 警告:インクルード(./テーマ/rwtsang_2/@rwtsang_2/page.tpl.php)[機能。C:\ xampp \ htdocs \ drupal \に\ theme.incが含まれています。 警告:include()[function.include]: './themesを開くことができませんでした。 C:\ xampp \ htdocs \ drupal \ includes \ theme.incの1011行目にインクルード(include_path = '.; C:\ xampp \ php \ pear \')するための/rwtsang_2/@rwtsang_2/page.tpl.php – burnt1ce

+0

奇妙なことに、私は自分のテンプレート実験中に自分自身でこれをやったことを誓っています。テーマがDrupalのすべての部分から消えてしまったと確信していますか?これには/ sites /および/ themesが含まれます。 その他のオプションは、デフォルトのdrupalテーマのコピーでディレクトリを置き換えるか、SQLデータベースに移動してそこからテーマ設定を変更します。 – Andrioid

1

おそらく2つのテーマを並行して使用すると役立つでしょう。

「ユーザーフロントエンド」に設定するもの - /admin/build/themes、もう1つの標準、garlandのように、「管理バックエンド」として変更しないでください:/admin/settings/admin

開発中のテーマを破った場合は、管理領域(/admin)に移動してガーランドに戻ります。

2

あなたの現在の問題をソートするという点で、これを行う簡単な方法があります。現在のテーマは「custom_theme」と呼ばれています。あなたのテーマディレクトリ(おそらく「sites/default/themes 『)

  • バックアップに

    • ゴー開発テーマ(あなたは、Linuxのコマンドラインは』 mv custom_theme custom_theme.bak」のような何かを使用している場合、すなわち、別の場所に移動)
    • コピーここであなたの壊れたテーマと同じ名前を付けてください(LInuxコマンドラインを使用している場合、このようなものは "cp -a ../../../themes/garland ./custom_theme"
    • となります)壊れたテーマの代わりにガーランドを使用するようにしてください

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

  • 4

    フロントエンドテーマを変更する最も簡単な方法は、サイト/デフォルト/設定でそれを設定することです。PHP:

    $conf['theme_default'] = 'minelli'; 
    
    +0

    +1 - 確かにあなたは正しいです。 :) – mac

    2

    それとも、Drupalはデフォルトのテーマ(ガーランド)にテーマを変更するようになります壊れたテーマフォルダを移動/削除、Drupalの6を使用している場合。

    +0

    もDrupal 5で動作します –

    0

    "Sections"モジュールを使用してサイトのさまざまな部分に異なるテーマを適用する場合、Drupalサイトで提供される手順は必ずしも機能しません。問題のテーマを移動するとディレクトリは、adminインターフェイスを正しく見るための唯一の方法です。

    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に登録;)

    1

    してくださいまた、次のスタックオーバーフローの問題を参照してください。 が悪いテーマのファイルを削除し、キャッシュをクリア: それは彼ら

  • Changing the Admin Theme in Drupal 6 Directly in Database
  • Changing Drupal's theme and keeping Garland as the admin theme?

    • に関連している今ここでのソリューションです。キャッシュをクリアすると、再度ログインすることができます。

      主な問題は、あなたがログインせずにキャッシュをクリアしなければならないということです

      この1開始されない場合 Clearing Drupal's cache

      で説明したキャッシュをクリアする方法のいずれかを試してみてください。

      あなたはdrushを持っている場合は、タイプへのコマンドは、コマンドラインで

      drush vset theme_default garland 
      

      のどちらかだろう、または管理インターフェイスを介して(例えばPHPMyAdminの)次にいずれかの次のクエリ

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

      を入力: ':7 S' は、以下の文字列の長さを指すこと

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

      注意。必要に応じて変更してください。これはデータベース手術、トリッキーなものです。 OR あなたは、ユーザーごとのテーマを使用していて、あなただけの管理者として自分自身のためにそれを台無しにしている場合、

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

      も同じくらいひどく、それらの行のいずれかが間違っ缶混乱物事を起床よう、注意してくださいしてみてください。

      乾杯!

      Mudassarアリ

    関連する問題