全文を読む機能は、NetEase、Sina などの多くの人気サイトで実際に利用できます。記事の内容が増加するにつれて、ページに複数のページネーションがある場合、この「このページの全文を読む」が表示されます。 . 」リンクをクリックすると、ページネーションなしで記事が表示されます。 , それでは、dedecms5.7で記事コンテンツページに全文読み上げ機能を追加するにはどうすればよいでしょうか?
写真に示すように:
全文を読んで何の役に立つのですか?端的に言えば、ユーザーエクスペリエンスを向上させることです。この関数を簡単に実装する方法を見てみましょう。
ファイルを変更します: include/arc.archives.class.php
注: 変更を加える前に、元のファイルをバックアップしてください。
ステップ 1: include/arc.archives.class.php を開きます
ファイル検索: //issystem==-1
145 行ほど下に進み、$this->Fields['userip'] = $this を見つけます。 ->addTableRow['userip'];
次の行を追加します: $this->Fields['body2'] = $this->addTableRow['body'];
2 番目のステップは、以下を見つけることです。 $this ->dsql->ExecuteNoneQuery("Update `#@__archives` SET ismake=1 WHERE id='".$this->ArcID."'");
次のコードを前の行に追加します
コードは次のとおりです コードをコピーします
// 全文を読み始めます
if($this->TotalPage > 1) {
// 通常のマッチングを使用して改ページを削除します
$this->Fields[ 'body2'] = preg_replace('/# p#subtitle#e#/U', '',$this->Fields['body2']);
$this->SplitFields =explode("#p2222#") ,$this->フィールド['body2 ']);
$this->フィールド['tmptitle'] = (empty($this->フィールド['tmptitle']) ? $this->フィールド[ 'title'] : $this-> フィールド['tmptitle']);
$this->フィールド['title'] = $this->フィールド['tmptitle'];
$this->TotalPage = count($this->SplitFields) ;
$this->Fields['totalpage'] = $this->TotalPage;
$TRUEfilenameall = $this->GetTruePath().$fileFirst."_all. ".$this->ShortName;
$this->ParseDMFields(1,0);
$this->dtp->SaveTo($TRUEfilenameall);
if($cfg_remote_site=='Y' && $isremote == 1)
{
//リモートファイルパスを分析します
$remotefile = str_replace(DEDEROOT, '', $TRUEfilename);
$localfile = '..'.$remotefile;
//リモートファイルを作成しますフォルダー
$remotedir = preg_replace("#[^ \/]*\.html#", '', $remotefile);
$this->ftp->rmkdir($remotedir);
$this-> ftp->upload($localfile, $remotefile , 'ascii');
}
}
//全文読み終わり
ステップ 3: 静的ページ ページング リストを検索して取得する
代码如下复制代码
/**
* 静的ページのページネーションリストを取得します
*
* @access public
* @param int $totalPage 総ページ数
* @param int $nowPage 現在のページ数
* @param int $aid ドキュメント ID
* @return string
*/
function GetPagebreak($totalPage, $nowPage, $aid)
{
if($totalPage==1)
{
return "";
}
// $PageList = "
也就是在return $PageList 上一行追加了一行代码,
$PageList.= "阅读全文";
修改完了したら、ファイルを保存し、次のページを更新すると、効果が確認できます。