本文がある場合に「続きを読む」リンクを表示する

2008-01-16 15:15

投稿者: サイト管理者

lib-story.php 313行目付近に以下のコードを追加する

    else
    {
      //@@@@@ 2007/06/25 added by maruyo -->
      if( !empty( $bodytext )) {
        if( $bodytext != "<br>" && $bodytext !='<br type="_moz" />' && $bodytext != "<br />" ) {
          if( !empty( $_USER['language'] )) {
            $using_language = $_USER['language'];
          } else {
            $using_language = $_CONF['language'];
          }
          $readmore = ( substr($using_language,0,2) == "ja" ) ? "続きを読む..." : "read more...";          $introtext .= "<p style='text-align:left'>"
            . "<a href='" . $articleUrl . "'> >> "
            . $readmore . "</a></p>";
        }
      }
      //@@@@@ 2007/06/25 added by maruyo <--  

        $article->set_var( 'story_introtext', $introtext );
        $article->set_var( 'story_introtext_only', $introtext );
        $article->set_var( 'story_text_no_br', $introtext );

          //@@@@@ 2007/06/25 added by maruyo -->
          if( $bodytext != "<br>" && $bodytext !='<br type="_moz" />' && $bodytext != "<br />" ) {
          //@@@@@ 2007/06/25 added by maruyo <--

            $article->set_var( 'lang_readmore', $LANG01[2] );
            $article->set_var( 'lang_readmore_words', $LANG01[62] );
            $numwords = COM_NumberFormat (sizeof( explode( ' ', strip_tags( $bodytext ))));
            $article->set_var( 'readmore_words', $numwords );

            $article->set_var( 'readmore_link', '<a href="' . $articleUrl
                    . '" class="story-read-more-link">' . $LANG01[2] . '</a> ('
                    . $numwords . ' ' . $LANG01[62] . ') ' );
            $article->set_var( 'start_readmore_anchortag', '<a href="'
                    . $articleUrl . '" class="story-read-more-link">' );            $article->set_var( 'end_readmore_anchortag', '</a>' );
            $article->set_var( 'read_more_class', 'class="story-read-more"' );
          //@@@@@ 2007/06/25 added by maruyo -->
          }
          //@@@@@ 2007/06/25 added by maruyo <--

        }

ちょっと改良。どうやらfckeditor2.5から保存されるコードが違っているらしい。
さらにちょこっと条件を修正。2008-01-24

さらにさらにちょこっと条件を修正。2008-01-25
fckeditorを使った編集の場合<br>タグが追加されるので「全文表示」についても予期せぬ動作をしていることが判明。そしてゲストユーザーなどの場合$_USER['language']が設定されないままになるのでそのあたりにも対応。これで完璧か?!欲を言えばもう少しコードをシンプルにしたい・・・

コメント (0件)


Geeklog実験室
http://geeklogtest.maryn.jp/article.php/200801161515176