ノードを複数のページに分割する[終了]


15

コンテンツタイプ-記事。記事自体が長くなりすぎたときに、記事を複数のページに分割したい。たとえば、「Drupalの仕組み」という記事がある場合、それは巨大です:)、それを複数のページに分割し、ある時点で「10ページの2に続く」と「10ページの3に続く」を取得したい" 等々。あなたが私を手に入れて、いくつかのアイデアを共有できることを願っています。前もって感謝します!


関連:フィールド間にページャーを作成します。おそらくいくつかの答えが役に立つでしょう。それらのいずれかを採用する場合は、ここに自己回答を投稿してください;)
Mołot13年

@Molot、ノードのデフォルトビューをViewsでオーバーライドする方法を知っていますか?ビューのデフォルトページャーを使用できます。これは私にとって最もクリーンなソリューションになります。
イヴァンイワノフ

ビューページのパスを設定し/node/%、コンテキストフィルターを使用して(公平に)nidパス内の適切なノードを取得します。疑わしい場合は、新しい質問をします。すでに質問されていることが誰かにわかっても驚かないでください。
モウォ

回答:


9

jqueryでテキストをいくつかの部分に分割し、スクロールすることで(fadeIn ....のような効果があります)別の部分をメイン部分に追加することをお勧めします。
jquery(クライアント側のソリューション)でこの仕事を達成することをお勧めします


これが、私が保守に使用したページの1つにタブを実装した方法です。私は認めなければならない-かなりうまくいく。すべてのページを出力し、jsの最初を除くすべてのページを非表示にすることをお勧めします。また#1、URLに実装して、ユーザーがリンクしたページを判別します。(私のタブ実装はここで公開されています。申し訳ありませんが、使用されているJSコードの著作権は所有していません)。AJAXも動作する可能性がありますが、通常はやり過ぎであり、ASCIIは十分に圧縮され、実際の転送ではなく接続の開始にほとんどの時間が使用されるため、無駄です。
モウォ

ajaxを使用してfetch content(body)フォームデータベースのような単純なジョブをロードするのは最適なジョブではなく、サーバーの無駄な負荷です。 、私はクライアント側のソリューションは、あなたが:)コメントしMołot@話し合うためにこの仕事.tnxための最善の解決策だと思う方法によって
ユセフ

の適切な実装にexample.com/article/23#page-1は50行以上かかります。そして、それを持っている価値があるので、ユーザーは自分が望むページへのパーマリンクを直接持つことができます。
モウォ

私もこのソリューションを好みます-Drupalスタック全体が各ページをロードするのを待つのにうんざりしている人にとって、このソリューションは非常に使いやすくなっています。また、Googleが検索結果ではなく、記事の真ん中に人々を連れて行くのではなく、単一のエンティティとして記事にインデックスを付けることができます。しかし私は、スクリーンリーダーなどのアクセシビリティ機能にチェックをお勧めしたい- (IMOまだ最善の解決策が)このソリューションは、もう少し複雑にすることができること
Nerdmaster

まあ、数行のjqueryを使用して、それを最初からやりました。bodyフィールドが無制限の数の値を受け入れるようにしました(異なるページをシミュレート)。次に、btw display none / blockを切り替えます。
イヴァンイワノフ

9

スマートページングモジュールを探しています

長いDrupalコンテンツを、文字、単語の数、またはノード、ユーザー、分類用語エンティティのプレースホルダーHTMLタグによってサブページに分割します。

Drupal 6の場合

ページングモジュールでは、文字数制限を設定できます。サブページに自動的に分割され、以下のスクリーンショットが表示されます

単語(または文字)の制限により長いページを自動的に小さなページに分割します

ここに画像の説明を入力してください


ご回答ありがとうございます!しかし、私はDrupal 7に取り組んでいます。D7にそのようなソリューションはありますか?
イヴァンイワノフ

さて、Smart Pagingモジュールを試してみましたが、それは仕事をしているようですが、Views AJAXページャーと互換性がなく、私の場合はそのようなものを使用しています。
イヴァンイワノフ

0

私が使用する回避策は、すでにビューを使用しているので、それを複数の記事に分割し、それらをビューページ(ページャーがあります)と結合することです。nidまたは何らかの(非表示の)タグで記事を除外するだけです。それらをすべて同じmax-sizeにしたい場合は、https://drupal.org/project/maxlengthを使用できます。パートXをタイトルに追加します。これにより、読者はさまざまなページを簡単に区別できます。


0

AJAXページャー(結果ページを表示するページ)が記事の表示(本質的に1の結果のみ)にどのような影響があるかわかりません。2つの異なるページ。しかし、「記事の内容を計算フィールドとして」出力したい場合があります。記事のコンテンツフィールドの最初のxワードのみを印刷する計算フィールドから始めます。(または最初の改ページまで)自己生成されたhtml "more link"で終了します。そのより多くのリンクは、引数を使用してビューを呼び出します。計算フィールドのPHPでその引数を使用できます。受け取った引数に応じてx番目の部分を表示します。


ご回答有難うございます!問題#1103810、Smart Paggingモジュールを有効にすると、Views Load More(またはViews Ajax Pager)モジュールが分解されるため、両方を使用することはできません。それは私が意味した。
イヴァンイワノフ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.