LOGIN ID Password Auto Login Register Now! Lost Password?
Xoops Q&A

テンプレートをカスタムからdefultに戻す方法

  • このフォーラムに新しいトピックを立てることはできません
  • このフォーラムではゲスト投稿が禁止されています

投稿ツリー


前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 .2 | 投稿日時 2009/1/22 15:52
taimo  3rd Class   投稿数: 4
管理者メニューでlegacy_block_mainmenu.htmlを編集したところ,トラブルが起こりホームページに以下のようなエラーメッセージが出て,ログインなどすることができなくなりました.

いろいろ調べ,FTPの中でdefultのlegacy_block_mainmenu.htmlは見つけることができたのですが,カスタムしたテンプレートのlegacy_block_mainmenu.htmlは見つけることができませんでした.
ホームページに入らずにカスタムテンプレートからdefultに戻すことは可能でしょうか?
または,カスタムテンプレートを編集することは可能でしょうか?

まだxoopsのカスタマイズを始めたばかりでかなり初歩的な質問だとは思いますが,よろしくお願いします.

【エラーメッセージ】
This page cannot be displayed due to an internal error.

If you are the administrator of this site, please visit the XOOPS Cube Project Site for assistance.

Error [Xoops]: Smarty error: [in db:legacy_block_mainmenu.html line 8]: syntax error: mismatched tag {/if}. expected {/foreach} (opened line 5). (Smarty_Compiler.class.php, line 2303) in file class/smarty/Smarty.class.php line 1092
投票数:0 平均点:0.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2009/1/22 23:38
fabi  Lord of the XUGJ 居住地: 2005.4から  投稿数: 1778
えーと、XOOPSにおいて「テンプレート」はモジュールインストール時にDBに取り込まれて、あとはDB上のデータを編集する仕組みになってるんですよ。
ですから、FTPでいくら探してもDBに読み込む元になったdefaultのテンプレートしか見つからないのは当然です。

もしphpmyadminが使えて自分でどこを間違ったか見当が付くなら、xxx_tplfileでtpl_idを調べてxxx_tplsourceで該当のテンプレートをDB上で直接編集してしまうこともできます。

あと、テーマ下テンプレートを使って一時的にdefaultに戻すこともできますが、XOOPSは何をお使いかにもよります。

今後またテンプレート編集をする時は、別ウィンドウで表示確認するまで管理画面は閉じない方が良いですね。
投票数:1 平均点:10.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2009/1/23 3:22 | 最終変更
GIJOE  Admiral 居住地: 2003年4月くらい  投稿数: 3708
fabiさんの書かれたことであらかたOKだと思いますが、ちょっとだけ補完。

引用:

fabiさんは書きました:
もしphpmyadminが使えて自分でどこを間違ったか見当が付くなら、xxx_tplfileでtpl_idを調べてxxx_tplsourceで該当のテンプレートをDB上で直接編集してしまうこともできます。
本当にカスタムテンプレートセットの方で編集している(defaultの方が壊れていない)のなら、
(prefix)_tplfileテーブルから、
tpl_tplset: (カスタムテンプレートセット名)
tpl_file: legacy_block_mainmenu.html
というレコードを削除してしまう方が楽ですね。

phpMyAdminが使えないのなら、メインメニューを経由せずにログイン情報だけ送る何らかの仕組みを使ってログインするのが良いでしょう。

mainfile.php と同じ階層に、login.html という名前で以下のファイルを作ります。
<html>
<head><title>ログイン</title></head>
<body>
<form action="user.php" method="post">
<input name="op" id="legacy_xoopsform_op" type="hidden" value="login" />
<input name="xoops_redirect" id="legacy_xoopsform_xoops_redirect" type="hidden" value="/admin.php" />
<table class="outer">
  <tr>
    <th colspan="2" style="text-align:center;">ログイン</th>
  </tr>
  <tr>
    <td class="head">ユーザ名: </td>
    <td class="odd">
      <input name="uname" id="legacy_xoopsform_uname" type="text" size="25" maxlength="25" />
    </td>
  </tr>
  <tr>
    <td class="head">パスワード: </td>
    <td class="even">
     <input name="pass" id="legacy_xoopsform_pass" type="password" size="30" maxlength="32" />
    </td>
  </tr>
  <tr>
    <td colspan="2" class="foot" style="text-align:center;">
      <input type="submit" value="ログイン" />
    </td>
  </tr>
</table>
</form>
</body>
</html>

XOOPS_URL/login.html
にアクセスしてログインしてください。
最初からadmin.phpにリダイレクトされるので、メインメニューのレンダリングエラーを経由することはないはずです。

# このネタ、どこかで見た覚えがあるのですが、ぐぐってもすぐに見つからなかったので、とりあえずやっつけで作りました。
投票数:2 平均点:10.00
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2009/1/23 4:21
taimo  3rd Class   投稿数: 4
GIJOEさんに作っていただいたlogin.html を用いて見事defaultに戻すことができました!!ありがとうございます!!

これからは,もっと勉強して自分で解決できるように心がけます.
また,テンプレート編集をする時は、別ウィンドウで表示確認するまで管理画面は閉じないようにします.


fabiさん,GIJOEさん,本当にありがとうございました!
投票数:0 平均点:0.00
  条件検索へ

Back to Page Top
MainMenu
Manuals
Search
XOOPS Official & Dev.
XOOPS Communities