ああ・・・そうか・・・。そういうこともありましたね・・・。コレは、ちょっと、あれですね。
自動アップグレードの更新をストップします
アップグレードの際、レイアウトをすべて消去されてしまった
2011年1月1日 at 18:29
5.4.0.5から5.4.1.1までアップグレードの際、トラブルが発生しました。
元々のサイトはレイアウトを使いましたが、レイアウトを使った部分がすべて消去されてしまいました(http://www.shirayuki-ice.com)。
原因を調べていくと、
5.4.0.5の場合/concrete/models/layout.php 53行目
public function getLayoutNameTxt(){ return t('Layout'); }
5.4.1.1の場合は以下のように変わってしまいます。
public function getLayoutNameTxt(){ return 'Layout'; }
このような場合、54行 getLayoutNameおよび249行 $this->getCellAreaHandle()などに影響を与えてしまうようです。このままだと、データーベースからエリアを取る際、異常が発生します。
私の解決方法は、データベースをエクスポートし、エディタを使ってsqlファイルの
Main : レイアウト X : Cell Xから
Main : Layout X : Cell Xに全部書き換えました。
そして書き換えたデータをデータベースにインポートしました。これで5.4.1.1のgetCellAreaHandleはエリアを正しく取り出すことができます。
もうひとつの方法としては、5.4.1.1をt('Layout')に変更してレイアウトを「日本語」に変えることもできると思います。けれども、cssのclassに日本語が現れる(62行 $layoutNameClass)のは良くないと思います。
Re: Re: Re: Re: アップグレードの際、レイアウトをすべて消去されてしまった
2011年1月1日 at 20:16
いえいえ、かえって、正月にリリースしたのが不幸中の幸いでしたね。
こんな正月に、アップグレードしてくださって、ありがとうございます。
t('Layout'); に戻す事が、一番手っ取り早いですが、おっしゃるとおり、日本語が入るとは倍ので・・・
アップグレードスクリプトを書き換える必要があるので、ちょっと時間がかかりそう。
メンバーの中に、レイアウト機能を使っている人間が少ないんで、今度からベータテストをきっちりしないと・・・。
というか、次回から、よろしければ、お暇であれば、テストの協力をお願いします〜 m(_ _)m
こんな正月に、アップグレードしてくださって、ありがとうございます。
t('Layout'); に戻す事が、一番手っ取り早いですが、おっしゃるとおり、日本語が入るとは倍ので・・・
アップグレードスクリプトを書き換える必要があるので、ちょっと時間がかかりそう。
メンバーの中に、レイアウト機能を使っている人間が少ないんで、今度からベータテストをきっちりしないと・・・。
というか、次回から、よろしければ、お暇であれば、テストの協力をお願いします〜 m(_ _)m
Re: アップグレードの際、レイアウトをすべて消去されてしまった
2011年1月1日 at 21:20
日本語だけ独自路線を行き過ぎるのは、まずいです。
また、英語だけではなく、concrete5 は他の言語にも訳されています。特に多言語サイトの場合は、言語を変えた途端にレイアウトが消えちゃいますからね。なので、これは、本家にも仰がないといけません。
http://www.concrete5.org/developers/bugs/5-4-1-1/andquotlayoutandquot-naming-issue/
に、バグレポートを書き、国際化スレッドでも
http://www.concrete5.org/community/forums/internationalization/naming-of-layout-for-multi-language-problem/
でスレを立てて様子を見ます。例えば、違うアプローチを考えられるんだったら、そうしたらいいですしね。
また、英語だけではなく、concrete5 は他の言語にも訳されています。特に多言語サイトの場合は、言語を変えた途端にレイアウトが消えちゃいますからね。なので、これは、本家にも仰がないといけません。
http://www.concrete5.org/developers/bugs/5-4-1-1/andquotlayoutandquot-naming-issue/
に、バグレポートを書き、国際化スレッドでも
http://www.concrete5.org/community/forums/internationalization/naming-of-layout-for-multi-language-problem/
でスレを立てて様子を見ます。例えば、違うアプローチを考えられるんだったら、そうしたらいいですしね。
Re: Re: アップグレードの際、レイアウトをすべて消去されてしまった
2011年1月1日 at 22:53
syzlmrさんの意見に賛成です。
cssのクラス名に日本語が入るのは避けた方が良いと思います。
その為に、このt()を外しました。(リリースノートに書き忘れた...)
なので、アップグレード時にデータベース内の「レイアウト」を「layout」に書き換えて、cssのクラス名に日本語が入らない様にした方が良いと思います。
cssのクラス名に日本語が入るのは避けた方が良いと思います。
その為に、このt()を外しました。(リリースノートに書き忘れた...)
なので、アップグレード時にデータベース内の「レイアウト」を「layout」に書き換えて、cssのクラス名に日本語が入らない様にした方が良いと思います。
Your post has been saved and will be published after approval by the forum moderator.
Katz Ueno
Re: アップグレードの際、レイアウトをすべて消去されてしまった
これ、対処します。