-----
ご利用のサーバ:CPI ZZプラン、ACEプラン
Webサーバのバージョン:?
PHPのバージョン:PHP 5.3.6 & PHP 5.2.8
データベースのバージョン:MySQL5.0.90
MODXのバージョン:Evolution 1.0.5J-r7 & r5
ブラウザ :Firefox 8
-----
Dittoで出力するようにしている、ニュースのエリアについてなのですが、
トップページとニュース一覧ページで出力されている
●トップページにある、その数件のニュースタイトルが表示されているところ
●ニュース一覧ページにある、これまでのニュースが最新から順番に20件ずつ表示されているところ
この二つのページの、各ニュースタイトルですが、
通常はその先の記事があるので当然リンクになっていますが、
たまに、リンクする先の記事を入れるほどの内容はなく、一言メッセージ的なニュースもあります。
「○○のイベントは無事終了しました。有難う御座いました」
などというニュースなどはそれだけで内容は簡潔しますので。
このように、リンクが無いニュースをDittoで自動出力させるようにするにはどうすればいいでしょうか?
宜しくお願いします。
トップページの最新ニュースのニュースタイトルのリンクを消すには?
Re: トップページの最新ニュースのニュースタイトルのリンクを消すには?
コード: 全て選択
$doc = $modx->getDocumentObject('id',$options);
if(empty($doc['content'])) return $output;
else
{
$url = $modx->makeUrl($options);
return '<a href="' . $url . '">[+pagetitle+]</a>';
}
Re: トップページの最新ニュースのニュースタイトルのリンクを消すには?
yamaさま、もともとあるソースですでにphxを入れており、どう組み込めばいいのか思案中です。
またご連絡させていただきます。返信遅くなって申し訳ないです。
またご連絡させていただきます。返信遅くなって申し訳ないです。
Re: トップページの最新ニュースのニュースタイトルのリンクを消すには?
「phx:モディファイア名」という名前でスニペットを作って、Dittoテンプレート内で[+pagetitle:モディファイア名:id=`[+id+]`+]として呼び出してみてください
Re: トップページの最新ニュースのニュースタイトルのリンクを消すには?
ホントにありがとうございます。「phx:モディファイア名」という名前でスニペットを作って、Dittoテンプレート内で[+pagetitle:モディファイア名:id=`[+id+]`+]として呼び出してみてください
やってみました。
仕込む前は、&tpl=`dittoテンプレ名` には以下のソースを入れておりました。
コード: 全て選択
<li><span class="date">[+date+]</span> <a href="[+url+]" [+type:別窓+]>[+longtitle+]</a> [+pub_date:icon_new+]</li>
・ニュースタイトルのリンクをクリックすると、別ウィンドウで何かしらのURLを開く機能
リソース作成画面の「リンク属性」に「target="_blank"」と入力した記事だけ、別ウィンドウURLオープンが機能する
・新しいニュースタイトルだけ、NEWアイコン画像を表示させる機能
本日只今から遡って30日など、指定した日数の間に投稿されたニュースタイトルだけにNEWアイコンが出力される機能
これに、今回yama様にご教示いただいたソースを加えて、3つの機能が同居できるようにしないといけないので、
いただいたソースはpagetitleですから、そこをこちらのソースで使っているlongtitleに差し替えてみてやってみました。
そのソースが以下です。
※もちろん、ご教示通り、phxのスニペットは別に作りました。
コード: 全て選択
<li><span class="date">[+date+]</span> <a href="[+url+]" [+type:別窓+]>[+longtitle:phx:news_nolink:id=`[+id+]`+]</a> [+pub_date:icon_new+]</li>
私が&tplの中身をまだお伝えしていなかったから、こういった機能が無いものとしてyama様がご教示するのは当然だからです。
こういう状況が背景にあるので、教えていただいたphxソースを、どのように上記ソースに組み込むべきかを思案中でありました。
お手数おかけして申し訳ありません。
phxは以下のようにしてすでに作成しております。
コード: 全て選択
<?php
$doc = $modx->getDocumentObject('id',$options);
if(empty($doc['content'])) return $output;
else
{
$url = $modx->makeUrl($options);
return '<a href="' . $url . '">[+longtitle+]</a>';
}
?>
「もしもcontent内に何も入力が無ければ、そのまま出力しなさい。
入力があれば以下に記述するaタグ内のソースを出力しなさい。」
という意味なのかと思っておりまして、そうであればこのままでは無理だと。
例えば、上述しました「別ウィンドウ機能」は、リンク属性にターゲットブランクソースを仕込んだ上に、
「ウェブリンク」としてリソースを作成しておりますので、ウェブリンクの場合、そもそもcontentが無いので
このままではif文の判定がうまくいかなさそうだ、などと思っていたりしておりました。
よって、業務外の少ない時間で「であればこうかな?」とちょこちょこさわっているのですが、
今のところうまくいっていない状態です。
Re: トップページの最新ニュースのニュースタイトルのリンクを消すには?
別窓で開く処理もまとめてしまうとすっきりすると思います。(判定条件がひとつ増えるだけということになりますので)
Re: トップページの最新ニュースのニュースタイトルのリンクを消すには?
yama様、返答遅くなって申し訳ないです。
優先業務が多大に押し込まれてしまって現在作業中断中となっております。
作業復活したら投稿させていただきます。間延びして申し訳ないです。
いつも有難う御座います。
優先業務が多大に押し込まれてしまって現在作業中断中となっております。
作業復活したら投稿させていただきます。間延びして申し訳ないです。
いつも有難う御座います。