2016-09-02 2 views
2

저는 현재 사업체 웹 사이트에서 일하고 있으며 뉴스 피드를 구현하고자합니다. 미디어 직원이 직접 기사를 작성하지 않고도 기사를 작성하여 게시 할 수 있습니다. 비즈니스가 원하는대로 블로그의 형태로이 기능을 구현하기 위해 10 월 CMS로 전환했습니다.10 월 CMS 블로그 플러그인 | 특정 페이지에 표시되는 블로그 글의 수를 어떻게 제한합니까?

그러나 블로그와 함께 그들은 사이트의 홈페이지에 표시되는 가장 최근 이야기의 미리보기를 원합니다.

게시 된 블로그 게시물의 목록을 홈페이지에 게시 할 수는 있지만 정상적으로 작동하고 페이지 매김의 형태로 게시 된 모든 블로그 게시물을 표시합니다.

가장 최근에 게시 된 3 개 또는 4 개의 블로그 게시물 만 표시되도록이 블로그 게시물 피드를 제한하는 방법이 있습니까?

- 편집 - 다시

안녕하세요,

는 내가있는 주변에 다른 사람에 의해 사용될 수있는 일을 알아 낸 것을 가로 질러 오는 사람을 알리기 위해이 질문을 편집하고 있습니다.

원하는 "Recent Stories"효과를 얻으려면 페이지 당 4 개의 게시물 만 표시하도록 특정 페이지를 설정하십시오. 그러면 게시물 양이 많을 때 표시 할 페이지 매김을 트리거합니다.

jQuery를 사용하여 페이지 매김을 숨겨 사용자가 액세스 할 수 없도록했습니다. 최종 결과는 가장 최근의 블로그 게시물 중 4 개가 원하는 페이지에 "최근 기사"피드를 작성하는 것입니다.

이 기능을 구현하는 방법에 대한 다른 제안 사항은 아직 공개되지 않습니다.

감사합니다.

답변

2

예 아니요. Posts 구성 요소가 CMS 페이지에 놓은 후에 속성 관리자가 볼 수있는 것처럼 Posts 구성 요소가 표시하는 게시물의 수를 제한하는 방법이 있습니다. 그러나 내부적으로 페이지 매김에 perPage 매개 변수를 사용하기 때문에 구성 요소를 설정된 수의 게시물 만 표시 할 수는 없습니다.

여기에서 원하는 속임수는 구성 요소에서 사용하는 부분을 덮어 쓰는 것입니다.

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

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

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

이 당신이 블로그 게시물의 구성에서 지금까지 (아마도 다른이 코드와 매우 유사합니다 : 간단하게하기 위해서

, 당신은 당신의 index.htm 부분에 다음과 같은 마크 업을 상상 구성 요소). 그러나 이제 재미가 시작됩니다. 섹션 Overriding component partials의 상태로 문서의 partials/ 폴더에 blogPostsRecent/이라는 폴더 (예 : partials/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