Manager Managerでタブを新規に追加できない。  【解決済み】

質問全般・改善要望
返信する
mojira
メンバー
メンバー
記事: 87
登録日時: 2009年10月04日(日) 14:25

Manager Managerでタブを新規に追加できない。

投稿記事 by mojira »

何時もお世話になっています。

●タブを新規に追加できない。

自分の環境だけかも知れないのですが、modx 1.0.2jにてManager Manager
を使用してタブを新規に追加する事ができなくなりました。

【チャンクの例】
mm_createTab('Googlemap','map','','','<p><a href="http://www.geocoding.jp/" target="_blank">Google_Mapで座標を取得する</a></p>','100%');

バージョンアップするまでは問題が無かったのですが、どなたか同じような症状の
方はおられますでしょうか。

何卒、宜しくお願いもうしあげます。

※環境について
[サーバ]
 ヘテムル
 php5

[modx]
 バージョン: MODx Evolution 1.0.2J

[クライアント]
 ブラウザ:Firefox3
アバター
yama
管理人
記事: 3236
登録日時: 2009年7月29日(水) 02:50

Re: Manager Managerでタブを新規に追加できない。

投稿記事 by yama »

p1.png
(6.03 KiB) ダウンロード数: 14197 回
Firefox3.5.3で試してみたところ、タブを追加できました。QMのキャンセルボタンも正しく動作します。お使いのFirefoxの詳細なリビジョンは分かりますか?v3だと現時点では3.0系と3.5系があります。
アバター
yama
管理人
記事: 3236
登録日時: 2009年7月29日(水) 02:50

Re: Manager Managerでタブを新規に追加できない。

投稿記事 by yama »

アップデートで発生する可能性を考える場合、assets/js/jquery-1.3.2.min.jsが読み込まれているかどうかがヒントになるかも。1.0.2になってから、colorbox.jsの格納先も変わったと思います。MODxの拡張機能のアップデートって、設定値を引き継ぎましたっけ・・(引き継がなければアップデートといわない気もするけど)
sama55
メンバー
メンバー
記事: 816
登録日時: 2009年8月03日(月) 08:16

Re: Manager Managerでタブを新規に追加できない。

投稿記事 by sama55 »

yama さんが書きました:アップデートで発生する可能性を考える場合、assets/js/jquery-1.3.2.min.jsが読み込まれているかどうかがヒントになるかも。1.0.2になってから、colorbox.jsの格納先も変わったと思います。MODxの拡張機能のアップデートって、設定値を引き継ぎましたっけ・・(引き継がなければアップデートといわない気もするけど)
なるー。その辺、自分も少し調べてみます。
「設定値を引き継ぎましたっけ」 >>> ええ、確かそうだったよーな。
mojira
メンバー
メンバー
記事: 87
登録日時: 2009年10月04日(日) 14:25

Re: Manager Managerでタブを新規に追加できない。

投稿記事 by mojira »

yama様へ
早々にご返信頂きありがとうございます。m(_ _)m

>Firefox3.5.3で試してみたところ、タブを追加できました。QMのキャンセルボタンも正しく動作します。お使いのFirefoxの詳細なリビジョンは分かりますか?v3だと現時点では3.0系と3.5系があります。

画像まで添付頂き感謝です。
問題なく表示されているとの事で、コチラの環境でなにか不具合があるのかも知れません。

またFirefoxのバージョンを示さす、申し訳ありませんでした。
Firefoxのバージョンは3.5.5になります。
色々なアドオンを入れているので、そのせいかも・・と考えて
IE7でも確認してみましたが同様にタブが表示出来ませんでした。
※添付画像参照
何故か、content途中から表示されています。

もう一度、最新のManager Managerをリアップして確認してみたいと思います。

ありがとうございました。
添付ファイル
参照画像
参照画像
アバター
yama
管理人
記事: 3236
登録日時: 2009年7月29日(水) 02:50

Re: Manager Managerでタブを新規に追加できない。

投稿記事 by yama »

もうひとつ確認

投稿画面のhtmlソースをエディタで開いて「jquery」という文字列を検索してみてください。

コード: 全て選択

<script src="http://*******/assets/js/jquery-1.3.2.min.js" type="text/javascript"></script>
読み込み部分がこういうふうになっているとよいのですが。jquery-1.3.2.min.jsですね。

あとついでに

コード: 全て選択

mm_createTab('Googlemap','map','','','<p><form action="http://www.geocoding.jp/" target="_blank" method="GET"><input type="text" name="q" /> <input type="submit" value="Google_Mapで座標を取得する" /></form></p>','100%');
こう書くと少し便利かな?と思ったり。(関係ないですが)
sama55
メンバー
メンバー
記事: 816
登録日時: 2009年8月03日(月) 08:16

Re: Manager Managerでタブを新規に追加できない。

投稿記事 by sama55 »

> mojiraさん
バージョンアップする前のバージョンを教えてもらえますか?
modx : ?.?.? -> 1.0.2J
MM : ?.? -> 0.4dev

バージョンアップに関係するMMの問題はちょっと複雑かもしれませんね。
0.9.6.3(MM入り)をアップした際に編集画面がまっちろけになったこともあったよーな(うろ覚え)。
あと、気になるのがルール定義の互換性(関数名や引数に変更がなかったかどうか・・・)

下はMM(V0.4dev)に添付のヘルプ(ドキュメント)内のマニュアルアップデート時の注意 (解決の参考になれば・・・)
(assets/plugins/managermanager/docs/index.htm)
Upgrade
From 0.3.x:
1. Replace all files in the /plugins/managermanager directory and subdirectories
2. Replace your existing plugin code with the new version from plugin.txt. You may need to reset some of your configuration options in the "Configuration" tab of the plugin.
3. Some tabs/sections have new/changed names due to differences in the manager. Please see the changelog for details.
4. Tick the OnTVFormRender event.

From < 0.3:
1. Replace all files in the /plugins/managermanager directory and subdirectories
2. Copy the rules you've added to your existing plugin, and paste them either to a chunk called "mm_rules" or to the "mm_rules.inc.php" file.
3. Replace your existing plugin code with the new version from plugin.txt

From <= 0.2.2:
All the above PLUS: If you have used mm_hideField or mm_hideTab functions you will need to rename them to mm_hideFields and mm_hideTabs
mojira
メンバー
メンバー
記事: 87
登録日時: 2009年10月04日(日) 14:25

Re: Manager Managerでタブを新規に追加できない。

投稿記事 by mojira »

sama55さん、yamaさん へ
お世話になります。 m(_ _)m

>バージョンアップする前のバージョンを教えてもらえますか?

何度もお手数をかけてしまい、申し訳ありません!
それぞれのバージョンは以下のように変わっております。
modx : 1.0.1J -> 1.0.2J
MM :version 0.3.5 -> 0.4dev

>バージョンアップに関係するMMの問題はちょっと複雑かもしれませんね。
>0.9.6.3(MM入り)をアップした際に編集画面がまっちろけになったこともあったよーな(うろ覚え)。
>あと、気になるのがルール定義の互換性(関数名や引数に変更がなかったかどうか・・・)

>下はMM(V0.4dev)に添付のヘルプ(ドキュメント)内のマニュアルアップデート時の注意 (解決の参考になれば・・・)
>(assets/plugins/managermanager/docs/index.htm)

sama55さん、色々と解決へのヒントを頂き感謝です。
教えて頂いた情報を元に頑張ってみます。


yamaさんへ

>もうひとつ確認
>投稿画面のhtmlソースをエディタで開いて「jquery」という文字列を検索してみてください。

投稿画面のソースにて、jquery-1.3.2.min.js で読み込まれておりました。

また新しく追加するタブに書くgooglemapの表記に関して、助言頂きありがとうございます!
ちょっと試してみましたが、教えて頂いた方が、断然便利です! 重ねて御礼申し上げます。
sama55
メンバー
メンバー
記事: 816
登録日時: 2009年8月03日(月) 08:16

Re: Manager Managerでタブを新規に追加できない。

投稿記事 by sama55 »

現象は再現できてませんが、1.0.1Jと1.0.2JのManagerManagerは、実質的には下の一箇所だけが変わってることが分かりました。

1.0.1J : assets/plugins/managermanager/functions/fields.inc.php (L116)

コード: 全て選択

					$output .= '$j("#sectionContentHeader, #sectionContentBody").hide();';
1.0.2J : assets/plugins/managermanager/functions/fields.inc.php (L116 ~ L117)

コード: 全て選択

					$output .= '$j("#sectionContentHeader, #sectionContentBody").hide();'; // For 1.0.0
					$output .= '$j("#ta").parent("div").parent("div").hide().prev("div").hide();'."\n"; // For 1.0.1
ここのライアンの提案は、上記の1行目を2行目に変更(≠追加)ですが、両方生きてます(コメントから察するに「1.0.1と1.0.2どちらでもいいように」という配慮でしょう)。
MMのルールに、mm_hideFields('content'); を定義した状態でコードを以下の条件で動かすと・・・
  1. L116 & L117はそのまま      : コンテンツが隠れる(L116またはL117が動いた結果隠れる)。
  2. L116 & L117を両方コメントアウト : コンテンツが隠れない(無処理)。
  3. L116のみコメントアウト       : コンテンツが隠れる(L117が正しく動いて隠れる)。
  4. L117のみコメントアウト       : コンテンツが隠れない(L116の旧論理ではcontentは隠せない)。
上記の結果を受けて、"sectionContentHeader"をgrepしてみるとMMのソース内で4件ヒットします。この結果に不自然さを覚えます。。。

#####################################
以下のことを試して、表示内容に変化が見られないか確認してもらえますか?

1.ルール定義は変えずに、上記のソースをNo.2~No.4のパタンで変更してみる
2.ソースは変えずに、ルール内のすべてのmm_hideFieldsのフィールド指定からcontentだけを除外してみる
3.ソースのL116をコメントアウトしてから、ルール内のすべてのmm_hideFieldsのフィールド指定からcontentだけを除外してみる
#####################################
mojira
メンバー
メンバー
記事: 87
登録日時: 2009年10月04日(日) 14:25

Re: Manager Managerでタブを新規に追加できない。

投稿記事 by mojira »

sama55さんへ

ご返信ありがとうございます。お手数をお掛けして申し訳ありませんでした。

お教え頂いた、以下の方法でチェックしてみましたが、いずれの方法でもやはりcontentの上からが
表示されませんでした。

1.ルール定義は変えずに、上記のソースをNo.2~No.4のパタンで変更してみる
○L116 & L117を両方コメントアウト:コンテンツが隠れない(無処理)。→ ダメでした。
○L116のみコメントアウト:コンテンツが隠れる(L117が正しく動いて隠れる)。→ ダメでした。
○L117のみコメントアウト:コンテンツが隠れない(L116の旧論理ではcontentは隠せない)。→ ダメでした。

2.ソースは変えずに、ルール内のすべてのmm_hideFieldsのフィールド指定からcontentだけを除外してみる → ダメでした。

3.ソースのL116をコメントアウトしてから、ルール内のすべてのmm_hideFieldsのフィールド指定からcontentだけを除外してみる → ダメでした。

また、チャンクにMMのルールを書かないで、assets/plugins/managermanager/mm_rules.inc.phpへ直接読み込むようにしてみましたが、ダメでした。

他に、mm_rules.inc.phpへ 
mm_createTab('Googlemap','map','','','abc','600');
とだけ書いてみたのですが、やはりこれもダメでした。

アップデートではなく、MODxを新しくインストールし直してみてデータを移行してみたいと考えています。
もし同じ症状がでれば、また相談させてくださいませ。

sama55様、yama様、ココまでおつき合い頂き、本当にありがとうございました。
mojira
メンバー
メンバー
記事: 87
登録日時: 2009年10月04日(日) 14:25

Re: Manager Managerでタブを新規に追加できない。  【解決済み】

投稿記事 by mojira »

sama55さん、yamaさん へ

MMでタブが追加できました。
自分の環境特有の現象なのかも知れませんが、以下のようにすると正常に表示されました。

plugins/managermanager/functions/tabs.inc.php
で 以下のtabs.inc.phpの L133  から L140までを

コード: 全て選択

		$empty_tab = '		
<div class="tab-page" id="tab'.$id.'">
	<h2 class="tab">'.$name.'</h2>
	<div class="tabIntro" id="tab-intro-'.$id.'">'.$intro.'</div>
	<table width="'.$width.'" border="0" cellspacing="0" cellpadding="0" id="table-'.$id.'">
	</table>
</div>
		';
以下のように改行無しで1行にまとめます。

コード: 全て選択

$empty_tab = '<div class="tab-page" id="tab'.$id.'"><h2 class="tab">'.$name.'</h2><div class="tabIntro" id="tab-intro-'.$id.'">'.$intro.'</div><table width="'.$width.'" border="0" cellspacing="0" cellpadding="0" id="table-'.$id.'"></table></div>';
以上です。
なぜかこれだけで、正常に表示されるようになりました。
1行にまとめることに何らかの意味があるのかな?

sama55さん、yamaさんに色々とご迷惑をかけて申し訳ありませんでした。m(_ _)m

※同じような症状の方の参考にバージョンアップ環境についても書いておきます。

[サーバ]
 ヘテムル
 php5

[modx]

modx : 1.0.1J から1.0.2J にバージョンアップ
MM :version 0.3.5 から 0.4dev にバージョンアップ

[クライアント]
 ブラウザ:Firefox3.5.5
アバター
yama
管理人
記事: 3236
登録日時: 2009年7月29日(水) 02:50

Re: Manager Managerでタブを新規に追加できない。

投稿記事 by yama »

http://modxcms.com/forums/index.php/topic,34770.0.html
こちらにも似たような報告がありますね。phpの書き方としては間違ってないはずですが・・
sama55
メンバー
メンバー
記事: 816
登録日時: 2009年8月03日(月) 08:16

Re: Manager Managerでタブを新規に追加できない。

投稿記事 by sama55 »

こんなことが原因とは・・・(まったく眼中にありませんでした)
この表現(行をまたぐ引用符)は、例えある条件下で動いたとしても、黒に近いグレーに思えます。
mojira
メンバー
メンバー
記事: 87
登録日時: 2009年10月04日(日) 14:25

Re: Manager Managerでタブを新規に追加できない。

投稿記事 by mojira »

sama55さん、yamaさん へ ご返信ありがとうございます。

>http://modxcms.com/forums/index.php/topic,34770.0.html
>こちらにも似たような報告がありますね。phpの書き方としては間違ってないはずですが・・

yamaさんから教えて頂いた本家のフォーラムの内容と確かに似ていて、もっと詳細にフォーラム
検索していれば・・・と反省しています。

またフォーラムの内容が古い事から、modx1.0.2Jの不具合ではなく、MMのタブ追加が特定の環境では
上手くいかないという事もある、という事なのかも知れません。

とにかく正常に表示されて良かったです。

これまで、貴重な時間を割いてくださった、sama55さん、yamaさんに改めて御礼申し上げます。m(_ _)m
アバター
yama
管理人
記事: 3236
登録日時: 2009年7月29日(水) 02:50

Re: Manager Managerでタブを新規に追加できない。

投稿記事 by yama »

検索で探すのもキーワード思いつかないと難しいですよね。今回も言われてみて探して該当トピを見つけました。

http://bit.ly/6ST6ET
でもキーワードはずばり「mm_createTab」でよかったみたいですね。なるほど

コード: 全て選択

$br = PHP_EOL;
$empty_tab  = '<div class="tab-page" id="tab' . $id . '">'          . $br;
$empty_tab .= '   <h2 class="tab">' . $name . '</h2>'               . $br;
$empty_tab .= '   <div class="tabIntro" id="tab-intro-' . $id . '">';
$empty_tab .= $intro . '</div>'                                     . $br;
$empty_tab .= '   <table width="' . $width . '" border="0" '        . $br;
$empty_tab .= 'cellspacing="0" cellpadding="0" id="table-'.$id.'">' . $br;
$empty_tab .= '   </table>'                                         . $br;
$empty_tab .= '</div>'                                              . $br;
几帳面過ぎるかなw
(試してない)
soushi
管理人
記事: 224
登録日時: 2009年7月30日(木) 01:59

Re: Manager Managerでタブを新規に追加できない。

投稿記事 by soushi »

soushiです。

1点だけ気になることがあったので、連絡します。
mojiraさんが修正されたplugins/managermanager/functions/tabs.inc.phpファイルの改行コードは何になっているでしょうか?
もし、CRLFだった場合、LFに変換してみたらどうでしょうか?

※FTP Clientでファイルをアップする際に、勝手に改行コードを変更することがあるのでご注意ください(バイナリモードで送れば問題ないです)。
mojira
メンバー
メンバー
記事: 87
登録日時: 2009年10月04日(日) 14:25

Re: Manager Managerでタブを新規に追加できない。

投稿記事 by mojira »

yamaさん、soushiさん へ

ご返信ありがとうございます。
初めに、soushiさんにご指摘いただいた、改行コードの件ですが、ご推察のとおり、CRLFになっておりました。
秀丸にてLFに変換したところ、以前のコードでも問題なく表示されました!

また、yamaさんに作っていただいたコードでは、改行コードがCRLFでも問題なく表示されています。
とりあえず、今はyamaさんのコードでアップしています。 ありがとうございました。

ん~~結局、改行コードの問題だったらしく、MODxはもちろん、MMにも全く問題が無かったという事で、、、、、
大変お騒がせしてしまい申し訳ありませんでした。m(_ _)m

今後は、改行コードなども、確かめながら作業して行きたいと思います。
返信する