ページ 1 / 1
homeリソースの下にサブリソースは置けないのでしょうか
Posted: 2012年6月01日(金) 10:26
by narutolove9987
-----
ご利用のサーバ:
MODXのバージョン:MODX Evolution 1.0.6J-r3
PHPのバージョン:
MySQLのバージョン:
ブラウザ:googleChrome
-----
こんにちは。MODxの使い方で教えてください。
WayFinderを使って、ツリー常にしたサイト構成を画面に表示させたいと思いまして、コンテナにしたhomeリソースの下にサブのリソースをいくつか載せたいと考えています。
ですが、homeの下にリソースを移動させると、リソースがブラウザ上で見えなくなってしまいます。
管理画面上ではhomeの下側にちゃんとあるし、ブラウザのURLでもhome/・・・・・とhomeの下側に飛べているようです。ですが、表示されるのはhome画面だけで、NOTFOUNDも何も表示されません。
これは何故なのでしょうか?
Re: homeリソースの下にサブリソースは置けないのでしょうか
Posted: 2012年6月01日(金) 11:28
by min-o
状況がよくわからないのですが
■サイト名
+home(1) ←サイトのトップページに指定
-subA(2)
-subB(3)
+subC(4)
という構造でsubCをhomeの下に移動するとトラブるということですか?
その場合、
1)subCのURL サイトアドレス/home/subC.html では表示されない
2)WayFinderにsubCが出ない(WayFinderを設置したリソースはhome?)
のどちらでしょうか?
1)の場合はツール/グローバル設定 の「フレンドリーURLを使用」の有無と
テンプレートに <base href="[(site_url)]" /> があるか確認してみてください。
2)の場合はWayFinderのスニペットコールの問題かと思います。(親リソースの設定がちがうとか)
Re: homeリソースの下にサブリソースは置けないのでしょうか
Posted: 2012年6月01日(金) 13:35
by narutolove9987
確認しましたところ、グローバル設定の「フレンドリーURLを使用」は「はい」になっていました。
あと、「Homeのテンプレート」も「移動させたいリソースのテンプレート」もテンプレート内には
「<base href="[(site_url)]"/>」が入ってました。
状況は1番の状態です。
直接URLを入れても、リソース番号を記入したリンクで飛んでも対象のリソース画面が出ず、Top画面(homeの内容)だけが表示されます。
URLの入力欄は「home/対象リソースの名前.html」と出ています。
説明が足りずすいません。
Re: homeリソースの下にサブリソースは置けないのでしょうか
Posted: 2012年6月01日(金) 14:03
by min-o
レスみました。
フレンドリーURL関係な気がしますが…。
グローバル設定/フレンドリーURLの「エイリアスパスを使用」はどうなってますか?
対象リソース subC を管理画面からプレビューした場合は表示されますか?
その場合のブラウザのURL表記は?
Re: homeリソースの下にサブリソースは置けないのでしょうか
Posted: 2012年6月01日(金) 23:37
by narutolove9987
エイリアスパスを使用:はい になっていました。
プレビューからの確認は、
<homeの下に置いたとき>
http://ドメイン/index/100.html
画面表示はトップ画面(homeの内容そのまま)です。
<ルート下にあったときは>
http://ドメイン/100.html
プレビューでは希望どおりにリソースが表示されます。
<home以外のコンテナに置いたときは>
http://ドメイン/ichiran/100.html
プレビューは希望通りちゃんとリソースが表示されます。
homeのサブリソースにした時だけ表示されないようです。
また、home以外のコンテナに対して存在しないファイルのURLを入力すると「NOTFOUND」とちゃんと表示されるけど、
home(index/)に対して存在しないファイルのURLを入力すると「NOTFOUND」と表示されないで、TOP画面が出るだけ(今困っているのと同じ状態)なので、homeの下に置いたリソースは認識していないような気もします。
おっしゃるようにフレンドリーURLの設定が悪いのでしょうか?
Re: homeリソースの下にサブリソースは置けないのでしょうか
Posted: 2012年6月02日(土) 09:43
by yama
フレンドリーURL設定を無効にするとどうなりますか?
Re: homeリソースの下にサブリソースは置けないのでしょうか
Posted: 2012年6月03日(日) 09:31
by narutolove9987
返事が遅くなりすいませんでした
フレンドリーURLが有効になっていた中、かなりの量のリソースを作っている状態で、フレンドリーURLをOFFにすると(リンク先指定)全部の手直しをするのは難しい状態なので、今回はあきらめることにしました。
結果を残せればよかったのですが、中途半端になりすいません。
ご協力ありがとうございました
Re: homeリソースの下にサブリソースは置けないのでしょうか
Posted: 2012年6月04日(月) 10:38
by min-o
すでに大量のリソースで運用していらっしゃるのですね。
その場合、これまでうまくいっていたなら
フレンドリーURLの問題ではないと思います。
自分もすでにリソースが3000オーバーで運用なのですが、
過去にあったトラブルで、うまく指定のURLで表示できなかったことがあります。
そのときの原因と対処法を書きますので参考にどうぞ。
●4桁、5桁の数字のみのエイリアスを使っていたリソースがあった。
リソースが少ないうちは問題なかったのですが、リソースidとエイリアスの数字が同じものが出たときに
うまく表示されないリソースがでた
例)
サイト名/aaa/1234.html (エイリアスが1234)をリンクしているのに
サイト名/aaa/1234.html (idが1234)または
サイト名/1234.html (idが1234)が表示される
→このときはエイリアス1234を変更してアルファベットを混ぜるなどで対応しました。
(以後数字のみのエイリアスは使用しないようにしています)
●管理ログインしていない状態で、非公開リソースにアクセスしていた。
サイト名/bbb/aa60.html(エイリアスがaa60 非公開)にリンクしているのに
サイト名/ccc/60.html (idが60)が表示される
→非公開を公開になおしたら解決
非公開の場合は普通ならNOTFOUNDが出るはずですが、これも数字部分が同じことからたぶんidとエイリアスのバッテイングのケースっぽいです。
Re: homeリソースの下にサブリソースは置けないのでしょうか
Posted: 2012年6月04日(月) 11:27
by yama
実際に試してみましたが、移動先のエイリアスの重複はチェックしてないですね(IDバッティングのケースも含めて)。修正しておきます
Re: homeリソースの下にサブリソースは置けないのでしょうか
Posted: 2012年6月05日(火) 11:00
by min-o
>移動先のエイリアスの重複はチェックしてないですね
たしかに同じ階層にエイリアスが重複してると、うまく表示されないというのはありました。
同じURLで時間がきたらページを差し替えたかったのですが
エイリアスを同じにして
aaa.html ←6月1日10:00:00に非公開に設定
aaa.html ←6月1日10:00:00に公開するに設定
といのをやったことがありますがうまくいきませんでした^^;
このときは
aaa.htmlリソースを親にして、子リソースを二つつくり、それぞれに公開非公開を設定し、
親リソースにdittoコール、公開中のもののみをaaa.html上に表示させる、で解決しました。
Re: homeリソースの下にサブリソースは置けないのでしょうか
Posted: 2012年6月05日(火) 11:41
by yama
「重複エイリアスの許可」を「はい」にしてあるのだと思いますが、実際にエイリアスが重複している場合、メニューオーダー値が小さいほうが表示されると思います。
$rs = $modx->db->select($fields,$tbl_site_content,'deleted=0','parent, menuindex');
manager/processors/cache_sync.class.processor.php内の上記の記述を
$rs = $modx->db->select($fields,$tbl_site_content,'deleted=0','parent, published, menuindex');
こう書き換えると意図どおりに非公開・公開のスイッチができるかも?です