先ほど久しぶりにBlogn公式フォーラムを覗いたところ、携帯投稿などの際に「タイトル無し」で投稿した場合に記事タイトルが空白になってしまう現象について記述があり、興味本位で動作確認と対処法(「** タイトル無し **」で表示するようにする)を考えてみました。
最初に驚いたのは「タイトル無し」でも普通に投稿できてしまうってことだったんですけどね。(笑)
最初に驚いたのは「タイトル無し」でも普通に投稿できてしまうってことだったんですけどね。(笑)
ついさっき、自分でも携帯からタイトルを入力しないで投稿したところ、記事は普通に投稿され、表示もされているようです。やはり不都合は「タイトルが空白になっている」ことだけで、ページのソースを確認したらタイトルリンクもちゃんとAタグでくくってあります。
ということは単に「タイトルがnull」なだけでそのまんま表示されているだけということになります。
で「もしタイトルが空白であった場合に『** タイトル無し **』に差し替えてやる」という動作を行わせようと思うわけですが、おおもとの記事データを引っ張ってくる部分に割り込みをかけてやるのが変更箇所も少なくて汎用性もあるように思えるわけですが、実際にはデータベース関係のスクリプトに手を入れる必要が出てきそうなのでやめました。(textモードやSQLモードだとか面倒くさい)
なので、少々やぼったい手法ですが以下の方法で実現できましたのでご紹介いたします。
まず、index.phpの最後の方(?>の直前)に次の関数を記述します。
//add by SAKI start
function sx_blogn_nontitle($title){
if($title){
return $title;
}else{
return "** タイトル無し **";
}
}
//add by SAKI end
続いて、エディタの検索機能を使って「$val["title"]」という部分を検索してそのすべてを関数に書き換えてやります。
$val["title"] → sx_blogn_nontitle($val["title"])
こうすることで、すべてのタイトル呼び出し部分において、もしそれが空白であった場合には「** タイトル無し **」を代わりに使用させるようになります。
なお、この変更はindex.php内で「空白のタイトル」を強引に差し替えているだけなので、実際の記事データでは相変わらずタイトルは空白のまま保存されているので注意してください。
==========
※このカテゴリは、単に私(SAKI)の好みや興味によるBlognPlusの改造のTipsです。ご使用に当たっては自己責任でお願いいたします。
個人的には「タイトル(件名)のないメール」というのはあまり感心しないので、余裕があるならちゃんとタイトルをつけてメールするようにする習慣をつけた方がいいとは思います。それだけでスパム扱いする人もいるようですしね。(よほどスパムにひどい目にあったのかな)
それとも携帯では(non title)が普通なのだろうか? 職場の同僚も以前はよくタイトル無しで送ってきてたし……私自身は入力が面倒くさいので受け取るのはともかく、携帯からメールはあまりしない方なんですけどね。
(携帯メールも使いこなせないようでは立派な女子高生にはなれないぞ……ならへん、ならへん/爆)
==========
補足です。(今気付いた)
左メニューの「NEW ENTRIES」を見ると、タイトル無し記事がまだ空白になっています。これは、BlognPlus2.6.0以降ではこのあたりの機能はモジュールによって記述されており、index.phpの外にあることによります。
今回の変更と同様のことを各モジュールに施すことでちゃんと表示されるようになるだろうとは思いますが、とりあえず今は見送っておきますね。(いずれ過去記事の中に埋もれるでしょうし……なんてものぐさ。やはりデータベース関係のスクリプトに手を入れるべきだったのだろうか?)
≪ 続きを隠す
ということは単に「タイトルがnull」なだけでそのまんま表示されているだけということになります。
で「もしタイトルが空白であった場合に『** タイトル無し **』に差し替えてやる」という動作を行わせようと思うわけですが、おおもとの記事データを引っ張ってくる部分に割り込みをかけてやるのが変更箇所も少なくて汎用性もあるように思えるわけですが、実際にはデータベース関係のスクリプトに手を入れる必要が出てきそうなのでやめました。(textモードやSQLモードだとか面倒くさい)
なので、少々やぼったい手法ですが以下の方法で実現できましたのでご紹介いたします。
まず、index.phpの最後の方(?>の直前)に次の関数を記述します。
//add by SAKI start
function sx_blogn_nontitle($title){
if($title){
return $title;
}else{
return "** タイトル無し **";
}
}
//add by SAKI end
続いて、エディタの検索機能を使って「$val["title"]」という部分を検索してそのすべてを関数に書き換えてやります。
$val["title"] → sx_blogn_nontitle($val["title"])
こうすることで、すべてのタイトル呼び出し部分において、もしそれが空白であった場合には「** タイトル無し **」を代わりに使用させるようになります。
なお、この変更はindex.php内で「空白のタイトル」を強引に差し替えているだけなので、実際の記事データでは相変わらずタイトルは空白のまま保存されているので注意してください。
==========
※このカテゴリは、単に私(SAKI)の好みや興味によるBlognPlusの改造のTipsです。ご使用に当たっては自己責任でお願いいたします。
個人的には「タイトル(件名)のないメール」というのはあまり感心しないので、余裕があるならちゃんとタイトルをつけてメールするようにする習慣をつけた方がいいとは思います。それだけでスパム扱いする人もいるようですしね。(よほどスパムにひどい目にあったのかな)
それとも携帯では(non title)が普通なのだろうか? 職場の同僚も以前はよくタイトル無しで送ってきてたし……私自身は入力が面倒くさいので受け取るのはともかく、携帯からメールはあまりしない方なんですけどね。
(携帯メールも使いこなせないようでは立派な女子高生にはなれないぞ……ならへん、ならへん/爆)
==========
補足です。(今気付いた)
左メニューの「NEW ENTRIES」を見ると、タイトル無し記事がまだ空白になっています。これは、BlognPlus2.6.0以降ではこのあたりの機能はモジュールによって記述されており、index.phpの外にあることによります。
今回の変更と同様のことを各モジュールに施すことでちゃんと表示されるようになるだろうとは思いますが、とりあえず今は見送っておきますね。(いずれ過去記事の中に埋もれるでしょうし……なんてものぐさ。やはりデータベース関係のスクリプトに手を入れるべきだったのだろうか?)
≪ 続きを隠す
|2010,03,02, Tuesday 12:58 AM | comments (0) | trackback (0) |