Wayfinderのサイドメニュー生成で、ドキュメントIDを動的にしたい!  【解決済み】

質問全般・改善要望
modxfan
メンバー
メンバー
記事: 241
登録日時: 2011年3月07日(月) 15:06

Wayfinderのサイドメニュー生成で、ドキュメントIDを動的にしたい!  【解決済み】

投稿記事 by modxfan »

MODXでつくる~の本を読んでいて、WayfinderはCMSに必要不可欠だと感じました。
サイドメニューもWayfinderでおこないたいですが、二点質問です。

(1) どの親カテゴリーのページを開こうがひとつのサイドメニュ用Wayfinderチャンクを呼び出したい

本では、'docid'と書くとありましたが、それでは表示されず、docidのところにドキュメントIDの数字と差し替えたところ表示されました。
しかし、このままでは、親カテゴリー毎にdocidを差し替えねばならず、親カテゴリの数だけドキュメントIDを変更しただけのチャンクをいちいち作成せねばならず、面倒ですし、親カテゴリ追加でもあったら(実際、結構増減あると思います)これまたつくらねばなりません。
ここはぜひとも変数というのでしょうか、動的な記述でもって、チャンク1ファイルだけで済ませたいです。
方法あるでしょうか?


(2) チャンク作成でよく必要になる「`」を入力するには?

Wayfinderでも出てきますが、単語をくくるときによく出てくる「`」がキーボードで出すことができずに困っております。
キーボードの7をシフトでタイプする「'」しか出ません。現在、フォラムとか純正スニペットとかにもともと記載されているところをコピペして使っています。。


(3) Wayfinderやその他自動生成で出力されるホームのURLを、index.phpにしたい

ここで自動生成されるURLは、index.htmlというか、ドメインそのもになっているようで、いたるところの「ホーム」をクリックすると、軒並み現在公開中のURLである、ドメイントップ、つまりhttp://www.mysite.jpが開いてしまいます
これを、index.phpと変更できないでしょうか?さすれば常に制作中のホームが表示できるので。

宜しくお願いします。
最後に編集したユーザー modxfan [ 2011年5月09日(月) 10:21 ], 累計 1 回
アバター
min-o
メンバー
メンバー
記事: 318
登録日時: 2009年10月07日(水) 18:32

Re: Wayfinderのサイドメニュー生成で、ドキュメントIDを動的にしたい!

投稿記事 by min-o »

1)WayfinderのstartId指定をparent(カレントの親)にすればよいかと。

コード: 全て選択

[!Wayfinder? &startId=`[*parent*]`!]
親idを取得するUltimateParentスニペットでも、同じことできます(はず。使ったことないけど)

2)キーボードによって違いますが
winの普通のキーボードならシフト+@マークキー(Pのとなり)で出ませんか?
USキーボード(@マークが2と同じキー)なら、テンキーでない横並び数字の1の左のキーで出ます(うちのUSキーボードの場合)

3)は、したいことがよくわからないのですが
表示したいリソースをトップページにするではダメなんですか??


あとフォーラムルールに従って環境を毎回書いてください。
過去の投稿に書いてあるのかもしれませんが、だれもが全部の投稿を見るわけではありません。
---------
おのうちみん
http://scifitique.org/
http://gender-sf.org/
modxfan
メンバー
メンバー
記事: 241
登録日時: 2011年3月07日(月) 15:06

Re: Wayfinderのサイドメニュー生成で、ドキュメントIDを動的にしたい!

投稿記事 by modxfan »

min-o さんが書きました:1)WayfinderのstartId指定をparent(カレントの親)にすればよいかと。

コード: 全て選択

[!Wayfinder? &startId=`[*parent*]`!]
親idを取得するUltimateParentスニペットでも、同じことできます(はず。使ったことないけど)

2)キーボードによって違いますが
winの普通のキーボードならシフト+@マークキー(Pのとなり)で出ませんか?
USキーボード(@マークが2と同じキー)なら、テンキーでない横並び数字の1の左のキーで出ます(うちのUSキーボードの場合)

3)は、したいことがよくわからないのですが
表示したいリソースをトップページにするではダメなんですか??


あとフォーラムルールに従って環境を毎回書いてください。
過去の投稿に書いてあるのかもしれませんが、だれもが全部の投稿を見るわけではありません。
環境書くのを忘れていました。

●MODX Evo 1.0.5J-r1
●ドメイン直下にインストル(公開中の現行サイトは全て静的な.htmlファイルであればOKという助言頂いた。
 移設が要らないので実際の公開となったとき本当に楽)
●現在、制作中なので当然ながらMODXは非公開設定


>winの普通のキーボードならシフト+@マークキー(Pのとなり)で出ませんか?

そこにあったか! はい、出ました!
ありがとうございます。


3)は、したいことがよくわからないのですが
表示したいリソースをトップページにするではダメなんですか??

ええ、そうなんです困ってます。
ドメインを直で自動リンク出力してるようなので、MODX導入前の現行公開中の静的index.htmlが開いてしまいます。
そうではなくMODXのトップページであるindex.phpを表示させたいのです。
アバター
kmikage
管理人
記事: 396
登録日時: 2009年9月01日(火) 20:21

Re: Wayfinderのサイドメニュー生成で、ドキュメントIDを動的にしたい!

投稿記事 by kmikage »

modxfan さんが書きました:
min-o さんが書きました:3)は、したいことがよくわからないのですが
表示したいリソースをトップページにするではダメなんですか??
ええ、そうなんです困ってます。
ドメインを直で自動リンク出力してるようなので、MODX導入前の現行公開中の静的index.htmlが開いてしまいます。
そうではなくMODXのトップページであるindex.phpを表示させたいのです。
日本語でおk、把握です。(ぉ
modxfan さんが書きました:●ドメイン直下にインストル(公開中の現行サイトは全て静的な.htmlファイルであればOKという助言頂いた。
 移設が要らないので実際の公開となったとき本当に楽)
これはMODxの機能ではなく、ApacheのModRewrite(.htaccess)の機能です。

要するに、

http://mikotohaorenoyome.com/ を開いたとき、
public_html/index.html 旧サイトのHTMLが表示されて
public_html/MODx本体(index.php) が表示されない

・・・と、ミサカは理解しました。

ApacheでIndexPageにindex.htmlが優先されていて、なおかつindex.htmlがindex.phpとは別に存在する環境だと思います。
その際、トップページのエイリアスをindexにしていて、フレンドリーURLで.htmlを補完している場合、
MODx Pageからindex.htmlをリクエスト→Apacheが既存のindex.htmlを返す→??? となっているかと思います。
本来であれば、ModRewriteがフレンドリーURLを解釈して、MODxのindex.phpに引き渡す仕組みです。

この場合、やり方は(おそらく)3つです。
1.http://mikotohaorenoyome.com/index.php を決め打ちで打つ。
2.managerからトップページのリソースをプレビューで開く。
3.トップページのエイリアスをindex以外(もちろん既存サイトとバッティングしないもの)に変更し、本番反映時にindexに戻す。

尚、僕は初春派です。(ぉ
同人サークル にくじゃがソフトウェア
http://www.nikujaga.info/

ブログはじめました。
http://kmikage.nikujaga.info/
アバター
min-o
メンバー
メンバー
記事: 318
登録日時: 2009年10月07日(水) 18:32

Re: Wayfinderのサイドメニュー生成で、ドキュメントIDを動的にしたい!

投稿記事 by min-o »

ドメインを直で自動リンク出力してるようなので、MODX導入前の現行公開中の静的index.htmlが開いてしまいます。
そうではなくMODXのトップページであるindex.phpを表示させたいのです。
状況がわかりました。
www.hogehoge.jp
のなかに
a) index.html(今までの静的htmlのトップページ)
b) index.php(modxのphpファイル)
の二つがあるのですね。

a)を現在も外部に公開していて、裏でmodxサイトを制作しているということでしょうか。
これ、a)を削除したほうがいいです。

indexという名前のファイルが2つあると、いろいろややこしいです。
どの拡張子のindexファイルを使うかの優先順位は、サーバーの設定によります。
設定いじればできそうですが(わたしには無理)、わたしならa)を削除して以下の方法を取ります。

まずa)のindex.htmlだけはmodxのトップページとして組み込んでしまいます。
テンプレートなしのリソースにa)のindex.htmlのソースをまるまる貼り付けて、エイリアスはindex、メニュー表示を「表示しない」
サイトのトップページとして設定し、a)のファイルを削除します。

modxの公開ステータスはオンラインに設定してサイトは公開。
権限設定でこれ以外のリソースはすべて、公開していてもログインしないと見れないようにします。

製作中のmodxサイトのトップになる予定のリソースは、仮にエイリアスはindex1とかにします。
(同じ階層に同じエイリアスを使うと、modxが混乱するので)
こちらは「メニューに表示する」設定に。

Wayfinderはデフォルトではメニューに表示しないリソースは、出力しないので
これで希望の表示になると思います。

www.hogehoge.jp または www.hogehoge.jp/index.htmlでアクセス
→modxのトップページ(元a)の静的index.html)が表示される
ログインしたmodxのwebユーザーは、Wayfinderのメニューで製作中のトップ予定ページにアクセスできます。

modxサイトが完成し、公開できるようになったら、二つのリソースのエイリアスを変更し
古いページは非公開にして、グローバル設定のスタートページを変更します。
---------
おのうちみん
http://scifitique.org/
http://gender-sf.org/
アバター
min-o
メンバー
メンバー
記事: 318
登録日時: 2009年10月07日(水) 18:32

Re: Wayfinderのサイドメニュー生成で、ドキュメントIDを動的にしたい!

投稿記事 by min-o »

あ、kmikage さんとかぶった。
3.トップページのエイリアスをindex以外(もちろん既存サイトとバッティングしないもの)に変更し、本番反映時にindexに戻す。
わたしの案は基本的にこれ↑です。
---------
おのうちみん
http://scifitique.org/
http://gender-sf.org/
modxfan
メンバー
メンバー
記事: 241
登録日時: 2011年3月07日(月) 15:06

Re: Wayfinderのサイドメニュー生成で、ドキュメントIDを動的にしたい!

投稿記事 by modxfan »

min-o さんが書きました:あ、kmikage さんとかぶった。
3.トップページのエイリアスをindex以外(もちろん既存サイトとバッティングしないもの)に変更し、本番反映時にindexに戻す。
わたしの案は基本的にこれ↑です。
min-oさま、ひとつ前の詳しい処置内容、大変参考になりました。というかそのままやりたいくらいに。
私も3な気がします。他の業務がバタついているのでちょっとやってみてあとで投稿しますね。
済みません取り急ぎ!
modxfan
メンバー
メンバー
記事: 241
登録日時: 2011年3月07日(月) 15:06

Re: Wayfinderのサイドメニュー生成で、ドキュメントIDを動的にしたい!

投稿記事 by modxfan »

> 1)WayfinderのstartId指定をparent(カレントの親)にすればよいかと。
>
> [!Wayfinder? &startId=`[*parent*]`!]

上記に差し替えてみましたが、そのカテゴリ内のリソースだけではなく、リソース全てが表示されてました。

なので、もうひとつ書いていただいたスニペットをネット検索していたら、UltimateParentについて記載見つけました。
そしてこれでいけました! ばっちりこのカテだけ出力されます!このぶんだと他のカテをつくっても大丈夫だと思います。
教えていただいてありがとうございます!
modxfan
メンバー
メンバー
記事: 241
登録日時: 2011年3月07日(月) 15:06

Re: Wayfinderのサイドメニュー生成で、ドキュメントIDを動的にしたい!

投稿記事 by modxfan »

この場合、やり方は(おそらく)3つです。
1.http://mikotohaorenoyome.com/index.php を決め打ちで打つ。
2.managerからトップページのリソースをプレビューで開く。
3.トップページのエイリアスをindex以外(もちろん既存サイトとバッティングしないもの)に変更し、本番反映時にindexに戻す。

尚、僕は初春派です。(ぉ
3でいきたい!
ということでやってみました。
フレンドリーをhomeにしてみて、手動で作成しているトップへのリンクは
<li><a href="[~[(site_start)]~]"></li>
と全部やりました。

しかし、動的なものがダメなようで、Wayfinderもパン屑リスト変数も
http://www.mysite.jp
というトップへアクセスしてしまうんです。
動的なものの大元の情報を変更すれば動的なものも一発でhome.htmlにアクセスしてくれそうですが
果たしてできるのでしょか、それとも他の方法があるでしょうか。
kazuike
メンバー
メンバー
記事: 507
登録日時: 2009年8月12日(水) 12:53

Re: Wayfinderのサイドメニュー生成で、ドキュメントIDを動的にしたい!

投稿記事 by kazuike »

modxfan さんが書きました:フレンドリーをhomeにしてみて、手動で作成しているトップへのリンクは
<li><a href="[~[(site_start)]~]"></li>
と全部やりました。

しかし、動的なものがダメなようで、Wayfinderもパン屑リスト変数も
http://www.mysite.jp
というトップへアクセスしてしまうんです。
動的なものの大元の情報を変更すれば動的なものも一発でhome.htmlにアクセスしてくれそうですが
果たしてできるのでしょか、それとも他の方法があるでしょうか。
Wayfinderも、というところで、
トップページをわざわざ特別扱いにするようなことあるのかな?と思ってちょっとソースを調べてみたところ…
「あることでした!」

wayfinder.inc.phpの404~405行目に

コード: 全て選択

} elseif ($tempDocInfo['id'] == $modx->config['site_start']) {
	$tempDocInfo['link'] = $modx->config['site_url'];
となっていて、
トップページに指定されているリソースの場合、サイトURLに置き換えるということをやっています。
この処理をくぐり抜けるには、
パラメータ「useWeblinkUrl」をFALSE以外にしていて、リソースタイプがウェブリンクである必要があります。

Breadcrumbsも同様で(こちらは想像できましたが)

コード: 全て選択

$c['id'] == $modx->config['site_start'] ? $modx->config['base_url'] : $modx->makeUrl($c['id'])
のように、トップページの場合は、サイトURLに置き換える処理が入っています。

対処法としては、
WayfinderやBreadcrumbsでトップページを出力させないようにする。
ぐらいしか思いつきませんが、
>他の方、アイディアあればお願いします!

具体的な設定方法としては、以下のように何通りかあるかと思います。
1)トップページの「メニューに表示」のチェックをはずす
2)各スニペットのパラメータでトップページを出さないように指定する。
・Wayfinder:「excludeDocs」あたり
・Breadcrumbs:「showHomeCrumb」

#初春も良いけど、ミサカ(クローンじゃない方)も良いと思います。 ;)
▼ウェブ屋のCMS→modxヒキダス流(備忘録)
http://d.hatena.ne.jp/hikidas_ikeda/
modxfan
メンバー
メンバー
記事: 241
登録日時: 2011年3月07日(月) 15:06

Re: Wayfinderのサイドメニュー生成で、ドキュメントIDを動的にしたい!

投稿記事 by modxfan »

kazuikeさま、感謝申し上げます。そしてすごいです。
どうやらできそうなのですね。

やり方を記録しておけば何とかなるのであまり込み入ってないことならば突っ込んでいきたいところです。
Wayfinder、パン屑リストの大元ファイルに記述があるのですね。変にしないようにちょっとみてみようかな。
kazuike
メンバー
メンバー
記事: 507
登録日時: 2009年8月12日(水) 12:53

Re: Wayfinderのサイドメニュー生成で、ドキュメントIDを動的にしたい!

投稿記事 by kazuike »

kazuike さんが書きました:対処法としては、
WayfinderやBreadcrumbsでトップページを出力させないようにする。
ぐらいしか思いつきませんが、
>他の方、アイディアあればお願いします!

具体的な設定方法としては、以下のように何通りかあるかと思います。
1)トップページの「メニューに表示」のチェックをはずす
2)各スニペットのパラメータでトップページを出さないように指定する。
・Wayfinder:「excludeDocs」あたり
・Breadcrumbs:「showHomeCrumb」
ちょっとわかりにくかったかもしれませんが、ここに書いた方法は、
各スニペットのパラメータを設定して、トップページへのリンクを動的に出力させないようにして、
テンプレートに直接トップページへのリンク「<a href="[~[(site_start)]~]">Home</a>」を埋めておくという方法です。
(あまりスマートな方法ではないかもしれませんが…)

コード: 全て選択

<li><a href="[~[(site_start)]~]">>Home</a></li>
[[Wayfinder?……&excludeDocs=`[(site_start)]`]]

コード: 全て選択

<a href="[~[(site_start)]~]">>Home</a> &raquo; 
[[Breadcrumbs?……&showHomeCrumb=`0`]]
サイト全体ということなら、スニペットのタグに直接記述しなくても、
管理画面で各スニペットのプロパティに設定することでも同じ効果があります。
(エレメント → エレメント管理 → スニペット → 各スニペット → プロパティの「既定のプロパティ」欄)

Wayfinderの場合:

コード: 全て選択

&excludeDocs=;;1
↑「1」はトップページのリソースID

Breadcrumbsの場合:

コード: 全て選択

&showHomeCrumb=;;0
以下訂正です
kazuike さんが書きました:具体的な設定方法としては、以下のように何通りかあるかと思います。
1)トップページの「メニューに表示」のチェックをはずす
すみません。
Breadcrumbsは、トップページについては、「メニューに表示」のチェックをはずしても出てしまいます。
▼ウェブ屋のCMS→modxヒキダス流(備忘録)
http://d.hatena.ne.jp/hikidas_ikeda/
modxfan
メンバー
メンバー
記事: 241
登録日時: 2011年3月07日(月) 15:06

Re: Wayfinderのサイドメニュー生成で、ドキュメントIDを動的にしたい!

投稿記事 by modxfan »

MODX、やっぱり静的XHTMLから組み込みやすいです。どこまでをチャンクにするかが大事な気がしていますが、あまり大事にし過ぎないようにも考えています。一回目からひとつのマチガイも無いようにチャンク分けできないと考えてやるほうが進む気がしています。

それから、MODXはブラウジングが速い! DB使っているのになんで?!と思うほどに。
WordPressやJoomlaはじめとするフツーのCMSの表示は遅いですが、MODXはホントに速い!
静的サイトかとマチガイますホントに。素晴らしいですね。これは普及しないほうがおかしいです。

kazuikeさまありがとうございます。

&excludeDocs=;;1
これは試したら、リンク自体が消えてしまったのでやめておきました。

次に、Wayfinderの記述を以下に変えてみましたところ、

<li><a href="[~[(site_start)]~]">Home</a></li>
[[Wayfinder? startId=`0` &hideSubMenus=false &level=`2` &excludeDocs=`[(site_start)]`]]

サイトを更新すると、
« MODx Parse Error »
という画面が出てしまいました。なんかワタシやっちまったミタイです :mrgreen:

コメントアウトしても同じエラー画面だったので、もとの状態に戻したらとりあえず表示も戻りました。
どこかで間違ったラシイです。
kazuike
メンバー
メンバー
記事: 507
登録日時: 2009年8月12日(水) 12:53

Re: Wayfinderのサイドメニュー生成で、ドキュメントIDを動的にしたい!

投稿記事 by kazuike »

modxfan さんが書きました: <li><a href="[~[(site_start)]~]">Home</a></li>
[[Wayfinder? startId=`0` &hideSubMenus=false &level=`2` &excludeDocs=`[(site_start)]`]]

サイトを更新すると、
« MODx Parse Error »
という画面が出てしまいました。なんかワタシやっちまったミタイです :mrgreen:

コメントアウトしても同じエラー画面だったので、もとの状態に戻したらとりあえず表示も戻りました。
どこかで間違ったラシイです。
[[Wayfinder? startId=`0` &hideSubMenus=false &level=`2` &excludeDocs=`1`]]
(「1」はトップページのリソースID)
のように、直接リソースIDを指定しても同じでしょうか?

ちなみに、
[[Wayfinder? startId=`0` &hideSubMenus=false &level=`2`]]
は、正常に動いているのですよね?
(上記の記述には「?」の後ろに余分な空白が入っていますが…)
▼ウェブ屋のCMS→modxヒキダス流(備忘録)
http://d.hatena.ne.jp/hikidas_ikeda/
modxfan
メンバー
メンバー
記事: 241
登録日時: 2011年3月07日(月) 15:06

Re: Wayfinderのサイドメニュー生成で、ドキュメントIDを動的にしたい!

投稿記事 by modxfan »

ありがとうございます。

もともとは以下で正常にWayfinderは動いていました。

[[Wayfinder? startId=`0` &hideSubMenus=false &level=`2`]]

ここだったか記憶があいまいなんですが、何かを見て、「スペースを詰めたらいけないんだ」、と思ってどこかスペースをわざわざ空けた記憶があります。それがここだったかも知れませんが、スペースを空けても動きました。

[[Wayfinder?startId=`0` &hideSubMenus=false &level=`2`]]

kazuikeさま言われるとおり、最終的にはスペース無しにしておきました。


そして、Homeへのliタグも含め、そして教えていただいたexcludeDocsを追加して、以下のようにやってみましたが
<li><a href="[~[(site_start)]~]">Home</a></li>
[[Wayfinder?startId=`0` &hideSubMenus=false &level=`2` &excludeDocs=`[(site_start)]`]]

« MODx Parse Error »
になっております。
どこか間違っておりますでしょうか?

宜しくお願いします。
kazuike
メンバー
メンバー
記事: 507
登録日時: 2009年8月12日(水) 12:53

Re: Wayfinderのサイドメニュー生成で、ドキュメントIDを動的にしたい!

投稿記事 by kazuike »

kazuike さんが書きました: [[Wayfinder? startId=`0` &hideSubMenus=false &level=`2` &excludeDocs=`1`]]
(「1」はトップページのリソースID)
のように、直接リソースIDを指定しても同じでしょうか?
の、リソースIDをを直接埋める方法は試されましたでしょうか?

#1.0.5J-r2で試した限り、どちらでも動いたのですが…
modxfan さんが書きました: ここだったか記憶があいまいなんですが、何かを見て、「スペースを詰めたらいけないんだ」、と思ってどこかスペースをわざわざ空けた記憶があります。それがここだったかも知れませんが、スペースを空けても動きました。
すみません。今のバージョンのMODXは空白が入っていても大丈夫なようです。
(以前のバージョンのMODXでは、これでは動かなかったので)
▼ウェブ屋のCMS→modxヒキダス流(備忘録)
http://d.hatena.ne.jp/hikidas_ikeda/
modxfan
メンバー
メンバー
記事: 241
登録日時: 2011年3月07日(月) 15:06

Re: Wayfinderのサイドメニュー生成で、ドキュメントIDを動的にしたい!

投稿記事 by modxfan »

modxfan さんが書きました:> 1)WayfinderのstartId指定をparent(カレントの親)にすればよいかと。
>
> [!Wayfinder? &startId=`[*parent*]`!]

上記に差し替えてみましたが、そのカテゴリ内のリソースだけではなく、リソース全てが表示されてました。

なので、もうひとつ書いていただいたスニペットをネット検索していたら、UltimateParentについて記載見つけました。
そしてこれでいけました! ばっちりこのカテだけ出力されます!このぶんだと他のカテをつくっても大丈夫だと思います。
教えていただいてありがとうございます!

解決だと思っておりましたら、未解決でした。
上述の通り、
[!Wayfinder? &startId=`[*parent*]`!]
ではダメでしたので、教えていただいたもうひとつの方で、やり方は自分でネット検索して調べてやってみたのですが、やったつもりということでした。。
以下を記述したのです。
[!Wayfinder? &startID=`[[UltimateParent]]`!]

これで出来たと思ったのですが実はダメでした。
サブページを開いてみると、サイドメニューWayfinderに何も表示されなくなったんです。
つまり、
●大カテゴリAをクリックするとサイドメニューはちゃんと表示される
●大カテゴリーAのサブメニューに出た同カテゴリ内の他のページをクリックすると表示されない

このようになるのです。
どのように記述すれば直るでしょうか。

※追記開始
パン屑リストで表しますと、
○・・・ホーム » プロダクト
×・・・ホーム » プロダクト » 製品A
ということになります。製品Aのページを開くと、サイドメニューが消えます。厳密にいうと、メニュが消えるというよりも、該当メニューが無いので表示するものが無い、という状態です。「カテゴリーメニュー」というh2だけは表示されていますので。
※追記終わり

また、このWayfinderとDittoの使い方辞典が掲載されている日本サイトはないでしょうか。
例えば、Wayfinderであれば、

●自動化サイドメニューを作成する方法
親カテゴリ内のどこのページにいても、その親カテゴリ内のページリンクが出力される状態。
これを作成するには、Wayfinderをコールしたあと、&startID=``の、``の中に○○をあらわす[[UltimateParent]]を記述し、かつ、○○を○○と記述することで作成できる。
などというように。

「MODXでつくる最強のCMSサイト」を読んでいるのですが、どうもこのあたりの情報は本にも無いようで困っております。
どこかに正確な情報としてないでしょうか。
MODXにWayfinderとDittoが無いままではCMSサイトが完成できないですね。グローバルナビゲーションやサイドメニュー等のメニューが手動作成だと、単なる外部ファイルというだけになってしまい、ページを更新するたびにその外部ファイルも更新せねばならなくなりますので・・・
最後に編集したユーザー modxfan [ 2011年4月22日(金) 14:36 ], 累計 1 回
modxfan
メンバー
メンバー
記事: 241
登録日時: 2011年3月07日(月) 15:06

Re: Wayfinderのサイドメニュー生成で、ドキュメントIDを動的にしたい!

投稿記事 by modxfan »

kazuike さんが書きました:
kazuike さんが書きました: [[Wayfinder? startId=`0` &hideSubMenus=false &level=`2` &excludeDocs=`1`]]
(「1」はトップページのリソースID)
のように、直接リソースIDを指定しても同じでしょうか?
の、リソースIDをを直接埋める方法は試されましたでしょうか?

#1.0.5J-r2で試した限り、どちらでも動いたのですが…
modxfan さんが書きました: ここだったか記憶があいまいなんですが、何かを見て、「スペースを詰めたらいけないんだ」、と思ってどこかスペースをわざわざ空けた記憶があります。それがここだったかも知れませんが、スペースを空けても動きました。
すみません。今のバージョンのMODXは空白が入っていても大丈夫なようです。
(以前のバージョンのMODXでは、これでは動かなかったので)
返答していなかったですかね。だとしたらすみませんです。
これは最初の三つの質問の中の、
(1) どの親カテゴリーのページを開こうがひとつのサイドメニュ用Wayfinderチャンクを呼び出したい
の話ではなく、
(3) Wayfinderやその他自動生成で出力されるホームのURLを、index.phpにしたい
の話でいいんですよね?

はい、これもやりました。
[[Wayfinder? startId=`0` &hideSubMenus=false &level=`2` &excludeDocs=`1`]]
しかし、これは、1、すなわちトップページへのリンク自体が消えてしまうのでやめておきました。
ホームへのURLをドメイントップであるhttp://www.mysite.jpを開かせず、http://www.mysite.jp ... に今は進んでおります

いつもありがとうございますm(_ _)m
kazuike
メンバー
メンバー
記事: 507
登録日時: 2009年8月12日(水) 12:53

Re: Wayfinderのサイドメニュー生成で、ドキュメントIDを動的にしたい!

投稿記事 by kazuike »

私が提示した案は、もともと
kazuike さんが書きました:各スニペットのパラメータを設定して、トップページへのリンクを動的に出力させないようにして、
テンプレートに直接トップページへのリンク「<a href="[~[(site_start)]~]">Home</a>」を埋めておくという方法です。
(あまりスマートな方法ではないかもしれませんが…)
というものですので、
トップページへのリンクを動的に出力する方向で進められるということであれば、
この提案自体意味が無いので、この提案に関する話題はここで終わりにしましょう。
文脈から、動的に出力するリンク以外にも、トップページへのリンクは用意されているようですので、
公開までは、動的に出力されるリンクはクリックしないようにしていただく等、運用でカバーされると良いですね。
modxfan さんが書きました: [!Wayfinder? &startID=`[[UltimateParent]]`!]
UltimateParentのパラメータ「id」や「top」を指定すれば良いような気がしますが。

既にご存知かとは思いますが、リファレンスということであれば、こちらが詳しいですね。
▼Let's enjoy MODx
http://modx.liolion.net/

あと、
このフォーラムの右上の「MODX関連情報検索」も便利だと思いますが…
▼ウェブ屋のCMS→modxヒキダス流(備忘録)
http://d.hatena.ne.jp/hikidas_ikeda/
modxfan
メンバー
メンバー
記事: 241
登録日時: 2011年3月07日(月) 15:06

Re: Wayfinderのサイドメニュー生成で、ドキュメントIDを動的にしたい!

投稿記事 by modxfan »

kazuikeさま、了解しました。本当に感謝申し上げます。

> 公開までは、動的に出力されるリンクはクリックしないようにしていただく等、運用でカバーされると良いですね。

はい、そうなる可能性が大きいかも。。汗;


> UltimateParentのパラメータ「id」や「top」を指定すれば良いような気がしますが。

どれが該当するのか、また、どういう書式にすればいいのか自体の意味がわかっていない段階なので、そういった、知らないとわかるわけないルールというものを探しつつ、こちらの内容も探そうと考えております。
返信する