回答日: 2012-11-22
質問
お世話になります。先日購入させていただき、
「複数の新着情報(短い一覧)を統合」のPHP版を設置し、
問題なく動作しています。
一点質問ですが、
<?php
readfile("fileup_webdir/index_short.html");
?>
のように設置した箇所に、
もし記事が0だった場合に、「現在ニュースはありません」のような表示させる方法はないでしょうか。
記事を1つ公開し、不要になったら記事ごと消すような運用方法なのですが、
もし上記のような機能が実装できたらと、たいへん助かります。
※常にトップから同名PDFをダウンロードできるようにテンプレートをいじっている為、「記事はありません」という記事をアップすることもできません。
もし可能なようでしたら、教えてください。
よろしくお願いします。
投稿日時: 2012-11-21 19:15
回答
問題なくご利用中との事、嬉しく存じます。ご質問の件ですが、全てをまとめても記事が無い場合のケースですね。
JavaScript で判別して文字を表示する事ができます。
ご案内したコードを一部変更してお試し下さい。
■もともとの設定方法のご案内
「複数の新着情報(短い一覧)を統合(混合、マージ)する方法」
http://sugutsukaeru.jp/support/257/
■変更前
上記ページの「ホームページの設定」->「統合用 JavaScript の設定」の部分を一部入れ替えて下さい。
一番下の以下の部分が入れ替え対象です。
=================================
for (var i=0; i<ListIds.length; i++){
var newnode = document.getElementById(ListIds[i]).cloneNode(true);
newnode.style.display = 'list-item';
// short_list.txt の編集で class を指定したのが
// tr や div の時は「list-item」の代わりに
// 「block」にする。
ListPart.appendChild(newnode);
}
-->
</script>
<!-- body タグの終了直前に追加 ここまで -->
=================================
■変更後
以下のように置き換えて下さい。
表示される文言はHTMLタグも使用して自由に設定できます。
=================================
if (ListIds.length && 0 < ListIds.length){
for (var i=0; i<ListIds.length; i++){
var newnode = document.getElementById(ListIds[i]).cloneNode(true);
newnode.style.display = 'list-item';
// short_list.txt の編集で class を指定したのが
// tr や div の時は「list-item」の代わりに
// 「block」にする。
ListPart.appendChild(newnode);
}
} else { //1件もない場合
// short_list.txt の編集で class を指定したタグを指定。(下記だと "li" )
var newnode = document.createElement("li");
//下の1行で表示する内容を指定。タグはあっても無くても可
newnode.innerHTML = '<span style="color: gray;">現在ニュースはありません</span>';
newnode.style.display = 'list-item';
// short_list.txt の編集で class を指定したのが
// tr や div の時は「list-item」の代わりに
// 「block」にする。
ListPart.appendChild(newnode);
}
-->
</script>
<!-- body タグの終了直前に追加 ここまで -->
=================================
回答日: 2012-11-22