ウェブリンクのリソース作成→リンク属性で別ウィンドウ指定してもそうなりません  【解決済み】

質問全般・改善要望
返信する
epirock
メンバー
メンバー
記事: 48
登録日時: 2012年2月13日(月) 13:04

ウェブリンクのリソース作成→リンク属性で別ウィンドウ指定してもそうなりません  【解決済み】

投稿記事 by epirock »

Modx 1.0.5J-r3と、 1.0.5J-r7を利用中。
Windows7です。


新着ニュースをDittoで作成しました。順調に使えているようで良かったのですが、困ったことが起こりました。

それは、トップページの新着ニュース欄に掲載する新着ニュースについてなのですが、
今まで、ずっとここに投稿するときは必ず[*content*]に内容を入力して、実際のページを生成させていましたが、
今回の新着記事には、実際のページは生成せず、トップページの新着欄には、単に別サイトへのリンクにするように投稿したいのです。

「アーティスト○○氏が2月25日から□□で無料のライブパフォーマンスをおこないます。詳しくはこちら」

などとして、この文章全体がリンクになっていて、クリックするとこのアーティストのページが別ウィンドウ(target="blank")で開く
ようにしたいのです。


このとき以下のようにやってみました。、
・リソース作成を開く
・「サブリソースを表示」タブをクリックし、「リソースタイプ」欄を「ウェブリンク」にする
・「メイン」タブの「ウェブリンク」欄にリンクさせたいサイトURLを入力する。
・同じタブ内の「リンク属性」で、[*link_attributes*]と入れ、これによって別ウィンドウが開く

このようにしましたが、別ウィンドウになってくれません。
もう一方のmodxサイトでも試しましたが結果変わらずでした・・・

どうやったらやりたいことができるでしょうか?
アバター
yama
管理人
記事: 3251
登録日時: 2009年7月29日(水) 02:50

Re: ウェブリンクのリソース作成→リンク属性で別ウィンドウ指定してもそうなりません

投稿記事 by yama »

最後のワンステップが違うようです

<a href="[+url+]" [+link_attributes+]>[+pagetitle+]</a>

Dittoのテンプレートが上記のようになっている必要があります。こうなっていると、リンク属性(link_attributes)にtarget="_blank"と入力すれば、それがそのまま出力されるため別窓で開くことができます。

ウェブリンクかどうかで自動的に別窓の出し分けを行なうこともできます。

if($output=='reference') return 'target="_blank"';

上記のようなPHxモディファイアを「phx:別窓」という名前のスニペットとして作り、

<a href="[+url+]" [+type:別窓+]>[+pagetitle+]</a>
Dittoのテンプレートを上記のようにします
epirock
メンバー
メンバー
記事: 48
登録日時: 2012年2月13日(月) 13:04

Re: ウェブリンクのリソース作成→リンク属性で別ウィンドウ指定してもそうなりません

投稿記事 by epirock »

できました! 感謝申し上げます。

Dittoを出力する記述を変更しないといけなかったのですね。
両方混じる状態なので、二つ目のご案内いただいた方を導入させて頂きました。
そして、うまくいったようです!

済みません、二点教えていただけないでしょうか。
当方はこれまで、

<a href="[~[+id+]~]"・・・・・・・

と記述しておりました。
これに対し、yama様のアドバイスですと

<a href="[+url+]" ・・・・・・・

となっておりました。

当方がおこなっていたやり方は、確かフレンドリーURLのURL名を都合により変更したとしても、
ファイルの記述変更が要らないものだということで導入した記憶がありますが、実はそんなことはなく、

[~[+id+]~]
でも、
[+url+]
でも、どちらでも変わらない機能ですか?


それから、「phx:別窓」という名前のスニペットですが、これは名称ルールがあって
・「:」が必要だったり、
・日本語が必要だったり
するのでしょうか?
「:」無しのファイル名だったり、漢字を使わない半角アルファベットだけのファイル名にしてはいけないでしょうか。
バックアップしておかないと怖いのでローカルに_Sunippetというフォルダをつくってここにこのファイルを保存しておきたいのですが、
「:」が入るとファイル名が不正とかWindowsが言ってきてファイルを保存できない状態でして。


もしよろしければ教えていただけますと嬉しいです。

宜しくお願いします。
アバター
yama
管理人
記事: 3251
登録日時: 2009年7月29日(水) 02:50

Re: ウェブリンクのリソース作成→リンク属性で別ウィンドウ指定してもそうなりません

投稿記事 by yama »

[+url+]は[(site_url)][~[+id+]~]と同じです。[(site_url)][~[+id+]~]という書き方はいかにもMODX的ですが、ちょっと長いので、Dittoでは特別なプレースホルダとして[+url+]というのを使えるようにしてあります。

http://modx.jp/docs/extras/plugins/phx.html
PHxに関しては上記にまとめています
アバター
yama
管理人
記事: 3251
登録日時: 2009年7月29日(水) 02:50

Re: ウェブリンクのリソース作成→リンク属性で別ウィンドウ指定してもそうなりません

投稿記事 by yama »

epirock さんが書きました:「phx:別窓」という名前のスニペットですが、これは名称ルールがあって
・「:」が必要だったり、
・日本語が必要だったり
するのでしょうか?
「:」無しのファイル名だったり、漢字を使わない半角アルファベットだけのファイル名にしてはいけないでしょうか。
バックアップしておかないと怖いのでローカルに_Sunippetというフォルダをつくってここにこのファイルを保存しておきたいのですが、
「:」が入るとファイル名が不正とかWindowsが言ってきてファイルを保存できない状態でして。
もともと欧米圏の作者が作ったプラグインなので、モディファイア名に日本語は不要です。コロンは必要ですが、バックアップをとっておく用途であれば、PHx自体がモディファイアをファイルとしてストックする仕様を持っています。
assets/plugins/phx/modifiers/ ディレクトリ内に、モディファイアをファイルとして作ります。
epirock
メンバー
メンバー
記事: 48
登録日時: 2012年2月13日(月) 13:04

Re: ウェブリンクのリソース作成→リンク属性で別ウィンドウ指定してもそうなりません

投稿記事 by epirock »

なるほど、Dittoのみで使えるのが
[+url+]
なのですね。
こんなに短くしてくれるのならばこちらが使い勝手も記憶的にもいいです本当に。


> assets/plugins/phx/modifiers/ ディレクトリ内に、モディファイアをファイルとして作ります。

チェックしましたが2サイト共に見当たらなかったです。もしかしてタイムラグがあるのだろうと思いますので
明日また見てみます。

色々ありがとうございました。
epirock
メンバー
メンバー
記事: 48
登録日時: 2012年2月13日(月) 13:04

Re: ウェブリンクのリソース作成→リンク属性で別ウィンドウ指定してもそうなりません

投稿記事 by epirock »

たびたび申し訳ございません。

> assets/plugins/phx/modifiers/ ディレクトリ内に、モディファイアをファイルとして作ります。

今日も見てみましたがなぜでしょうか、やはりpluginsフォルダにphxというフォルダ自体生成されていませんでした。

managermanager
qm
tinymce
の三つがありました。
他も探しましたないのです。何か勘違いしているでしょうか。
済みませんほんとに。急ぎませんので手が空いたときにもしよかったら教えていただければ嬉しいです。
アバター
yama
管理人
記事: 3251
登録日時: 2009年7月29日(水) 02:50

Re: ウェブリンクのリソース作成→リンク属性で別ウィンドウ指定してもそうなりません

投稿記事 by yama »

そのとおりにディレクトリを作ってモディファイアを置けば認識できると思います。もともとPHxはプラグインなので、このようなディレクトリにモディファイアを置くことになっています。
http://modx.jp/docs/extras/plugins/phx.html
今回はあまり参考にならないかもしれませんが、詳細はこちらにまとめています
epirock
メンバー
メンバー
記事: 48
登録日時: 2012年2月13日(月) 13:04

Re: ウェブリンクのリソース作成→リンク属性で別ウィンドウ指定してもそうなりません

投稿記事 by epirock »

度々本当に有難う御座います。

> assets/plugins/phx/modifiers/ ディレクトリ内に、モディファイアをファイルとして作ります。

phxと、その中にmodifiersというディレクトリを作成してみましたが、中にファイルらしきものが生成されることもなく、
何もおこらない状態です。
おそらくphxのスニペットを作成する前にこの作業をしないと生成されないんだろうなと理解しました。
どうもありがとうございました。
アバター
yama
管理人
記事: 3251
登録日時: 2009年7月29日(水) 02:50

Re: ウェブリンクのリソース作成→リンク属性で別ウィンドウ指定してもそうなりません

投稿記事 by yama »

インラインで「[~[+id+]~]」を記述できない件、解決しました。次リリースで積み込みます
返信する