2016-09-02 7 views
2

私は現在、ビジネス用のウェブサイトで働いており、ニュースフィードを実装したいと考えています。彼らのメディアスタッフが、自分自身を公開せずにストーリーを書くために使うことができるもの。私は10月のCMSに、この機能をブログの形で実装して、ビジネスが望んでいるようにしました。October CMSブログのプラグイン|特定のページに表示されるブログの投稿数を制限するにはどうすればよいですか?

しかし、ブログとともに、サイトのホームページに表示された最新の記事のプレビューも好きです。

ここでは、公開されたブログ投稿のリストをホームページに配置することができましたが、通常のように動作し、ページ分割の形で公開されたすべてのブログ投稿を表示します。

このブログ投稿フィードを制限して、最新の3つまたは4つのブログ投稿のみを表示する方法はありますか?

- EDIT - 再び

こんにちは、

私はここで他の人が使用することができ、その周りの仕事を考え出したということに出くわす誰に通知するために、この質問を編集しています。

目的の「最近の話」の効果を達成するために、ページあたり4つのポストを表示するように特定のページを設定します。

これでjQueryを使用してページネーションを非表示にして、ユーザーがアクセスできないようにしました。最終的な結果は、最新のブログ記事のうち4つであり、任意のページに「最近のストーリー」フィードを作成します。

この機能を実装する方法については、まだ他の提案があります。

ありがとうございました。

答えて

2

はい、いいえ。 Postsコンポーネントで表示される投稿の数を制限する方法があります(PostsコンポーネントをCMSページにドロップした後にプロパティインスペクタで確認できるように)。ただし、ページ内にperPageパラメータを内部的に使用しているため、コンポーネントが設定した数の投稿のみを表示するようにすることはできません。

ここでやるべきことは、コンポーネントで使用されている部分を上書きすることです。簡単のため

、あなたはindex.htm部分的に次のマークアップを持っていると想像:

title = "Index" 
url = "/" 
layout = "default" 
is_hidden = 0 

[blogPosts blogPostsRecent] 
pageNumber = 1 
postsPerPage = 4 
== 

<!-- Here we display the component's partial output --> 
{% component 'blogPostsRecent' %} 

これは、あなたがこれまでに(多分別のブログの記事の構成で持っているコードと非常によく似ているはずです成分)。しかし、今楽しさが始まります。セクションOverriding component partialsの状態で、あなたのテーマのpartials/フォルダ(partials/blogPostsRecent/)にblogPostsRecent/というフォルダを作成し、内部にdefault.htmというファイルを作成した場合(つまり、partials/blogPostsRecent/default.htm)、コンポーネントの一部を上書きできます。それは改ページをレンダリングするように、この

{% set posts = __SELF__.posts %} 
<ul class="post-list"> 
    {% for post in posts %} 
     <li> 
      <h3><a href="{{ post.url }}">{{ post.title }}</a></h3> 

      <p class="info"> 
       Posted 
       {% if post.categories.count %} in {% endif %} 
       {% for category in post.categories %} 
        <a href="{{ category.url }}">{{ category.name }}</a>{% if not loop.last %}, {% endif %} 
       {% endfor %} 
       on {{ post.published_at|date('M d, Y') }} 
      </p> 

      <p class="excerpt">{{ post.summary }}</p> 
     </li> 
    {% else %} 
     <li class="no-data">{{ noPostsMessage }}</li> 
    {% endfor %} 
</ul> 

{% if posts.lastPage > 1 %} 
    <ul class="pagination"> 
     {% if posts.currentPage > 1 %} 
      <li><a href="{{ this.page.baseFileName|page({ (pageParam): (posts.currentPage-1) }) }}">&larr; Prev</a></li> 
     {% endif %} 

     {% for page in 1..posts.lastPage %} 
      <li class="{{ posts.currentPage == page ? 'active' : null }}"> 
       <a href="{{ this.page.baseFileName|page({ (pageParam): page }) }}">{{ page }}</a> 
      </li> 
     {% endfor %} 

     {% if posts.lastPage > posts.currentPage %} 
      <li><a href="{{ this.page.baseFileName|page({ (pageParam): (posts.currentPage+1) }) }}">Next &rarr;</a></li> 
     {% endif %} 
    </ul> 
{% endif %} 

よう

ブログのプラグインのデフォルトposts部分的なルックスは、このコードの後半はあなたにとって重要です。これを単に削除すると、ページがなくなり、(4)最新の投稿が表示されます。

これが役に立ちます。

+0

完璧な回答 - ありがとう - 素晴らしい作品! – Richard

関連する問題