Copied to clipboard

Flag this post as spam?

This post will be reported to the moderators as potential spam to be looked at


  • Vasilis 9 posts 29 karma points
    Jun 02, 2012 @ 17:32
    Vasilis
    0

    Show posts by datefolder

    Hello I am building a simple website through umbraco. 

    I use the default blog installed at the initial installation. 

    I 've created some datefolders, and under them I have my blogposts organized. 

    Is there a way to modify umbBlogListPosts.xslt in order to show only the post for the current datefolder and not all the blog posts for all datefolders ? 

     

    Thank you. 

  • Kim Andersen 1447 posts 2196 karma points MVP
    Jun 02, 2012 @ 20:47
    Kim Andersen
    0

    Hi Vasilis

    Could you try providing us with the code from the umbBlogListPosts.xslt that currently selects the nodes to be shown?

    That way someone might have a better chance of modifying the code in it.

    /Kim A

  • Vasilis 9 posts 29 karma points
    Jun 02, 2012 @ 20:49
    Vasilis
    0

    Thanks for the reply

    Thats the code: 

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE xsl:stylesheet [
      <!ENTITY nbsp "&#x00A0;">
    ]>
    <xsl:stylesheet
      version="1.0"
      xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
      xmlns:msxml="urn:schemas-microsoft-com:xslt"
      xmlns:umbraco.library="urn:umbraco.library"
      xmlns:tagsLib="urn:tagsLib"
      xmlns:Exslt.ExsltStrings="urn:Exslt.ExsltStrings"
      xmlns:BlogLibrary="urn:BlogLibrary"
      exclude-result-prefixes="msxml umbraco.library tagsLib Exslt.ExsltStrings BlogLibrary">


      <xsl:output method="html" omit-xml-declaration="yes"/>

      <xsl:param name="currentPage"/>
      <xsl:variable name="numberOfPosts" select="10"/>

      <xsl:variable name="pageNumber">
        <xsl:choose>
          <xsl:when test="umbraco.library:RequestQueryString('page') &lt;= 0 or string(umbraco.library:RequestQueryString('page')) = '' or string(umbraco.library:RequestQueryString('page')) = 'NaN'">1</xsl:when>
          <xsl:otherwise>
            <xsl:value-of select="umbraco.library:RequestQueryString('page')"/>
          </xsl:otherwise>
        </xsl:choose>
      </xsl:variable>

      <xsl:variable name="filter">
        <xsl:choose>
          <xsl:when test="string-length(umbraco.library:Request('filterby')) &gt; 0">
            <xsl:value-of select="umbraco.library:Request('filterby')"/>
          </xsl:when>
          <xsl:otherwise>
            <xsl:value-of select="''"/>
          </xsl:otherwise>
        </xsl:choose>
      </xsl:variable>

      <xsl:variable name="numberOfRecords">
        <xsl:choose>
          <xsl:when test="$filter = ''">
            <xsl:value-of select="count($currentPage/ancestor-or-self::umbBlog//umbBlogPost)"/>
          </xsl:when>
          <xsl:otherwise>
            <xsl:value-of select="count($currentPage/ancestor-or-self::umbBlog//umbBlogPost [contains(Exslt.ExsltStrings:lowercase(./tags), Exslt.ExsltStrings:lowercase($filter))])"/>
          </xsl:otherwise>
        </xsl:choose>
      </xsl:variable>

      <xsl:template match="/">


        <xsl:if test="$filter != ''">
          <h2 class="page-title">
            Archive for tag:
            <span>
              <xsl:value-of select="$filter"/>
            </span>
          </h2>
        </xsl:if>
        
        <xsl:if test="$currentPage [name() = 'umbDateFolder']">
          <h2 class="page-title">
            Monthly Archives: <xsl:value-of select="umbraco.library:FormatDateTime(concat($currentPage/../@nodeName,'-',$currentPage/@nodeName,'-11T10:24:46'),'MMMM yyyy')"/>
          </h2>
        </xsl:if>

        <xsl:if test="$numberOfRecords &gt; $numberOfPosts">
        <div id="nav-above" class="navigation">

          <div class="nav-previous">
            <xsl:if test="(($pageNumber ) * $numberOfPosts) &lt; ($numberOfRecords)">
              <span class="meta-nav">&#171; </span>
              <href="?page={$pageNumber +1}">Older posts</a>
            </xsl:if>
          </div>

          <div class="nav-next">
            <xsl:if test="$pageNumber &gt; 1">
              <href="?page={$pageNumber -1}">Newer posts</a>
              <span class="meta-nav"&#187;</span>
            </xsl:if>
          </div>

        </div>
        </xsl:if>
        
        <xsl:if test="$filter = ''">

          
          <xsl:for-each select="$currentPage/ancestor-or-self::umbBlog//umbBlogPost">
            <xsl:sort select="./PostDate" order="descending" />

            <xsl:if test="position() &gt; $numberOfPosts * (number($pageNumber)-1) and
            position() &lt;= number($numberOfPosts * (number($pageNumber)-1) +
            $numberOfPosts )">
              
              <xsl:call-template name="showpost">
                <xsl:with-param name="post" select="."/>
              </xsl:call-template>
          
            </xsl:if>
            
           </xsl:for-each>
        </xsl:if>

        <xsl:if test="$filter != ''">

          <xsl:for-each select="$currentPage/ancestor-or-self::umbBlog//umbBlogPost [contains(Exslt.ExsltStrings:lowercase(./tags), Exslt.ExsltStrings:lowercase($filter))]">
            <xsl:sort select="./PostDate" order="descending" />
            <xsl:if test="position() &gt; $numberOfPosts * (number($pageNumber)-1) and
            position() &lt;= number($numberOfPosts * (number($pageNumber)-1) +
            $numberOfPosts )">
              <xsl:call-template name="showpost">
                <xsl:with-param name="post" select="."/>
              </xsl:call-template>
            </xsl:if>
          </xsl:for-each>
        </xsl:if>

        <div id="nav-below" class="navigation">

          <div class="nav-previous">
            <xsl:if test="(($pageNumber ) * $numberOfPosts) &lt; ($numberOfRecords)">
              <span class="meta-nav">&#171; </span>
              <href="?page={$pageNumber +1}">Older posts</a>
            </xsl:if>
          </div>

          <div class="nav-next">
            <xsl:if test="$pageNumber &gt; 1">
              <href="?page={$pageNumber -1}">Newer posts</a>
              <span class="meta-nav"&#187;</span>
            </xsl:if>
          </div>

        </div>


      </xsl:template>

      <xsl:template name="showpost">
        <xsl:param name="post"/>

        <div class="hentry post publish author-{$post/@writername} tag-boat tag-lake {umbraco.library:FormatDateTime($post/@updateDate, 'yYYYY mMM')} y2008 m10 d17 h04">
          <h2 class="entry-title" id="post-{$post/@id}">
            <href="{umbraco.library:NiceUrl($post/@id)}" title="Permalink to {$post/@nodeName}">
              <xsl:value-of select="$post/@nodeName"/>
            </a>
          </h2>
          
          <div class="entry-date">
            <abbr class="published" title="{umbraco.library:ShortDate($post/PostDate)}">
               <span class="day"><xsl:value-of select="umbraco.library:FormatDateTime($post/PostDate, 'dd')"/></span>
               <span class="month"><xsl:value-of select="umbraco.library:FormatDateTime($post/PostDate, 'MMMM')"/></span>
               <span class="year"><xsl:value-of select="umbraco.library:FormatDateTime($post/PostDate, 'yyyy')"/></span>
            </abbr>
          </div>
          
          


          <div class="entry-content">
            <xsl:value-of select="$post/bodyText" disable-output-escaping="yes"/>
          </div>

          <div class="entry-meta">

            <span class="author vcard">
              By: <span class="fn n">
                <xsl:value-of select="$post/@creatorName"/>
              </span>
            </span>
            <span class="meta-sep"|</span>
            <span class="tag-links">
              <xsl:variable name="tags" select="tagsLib:getTagsFromNode(@id)" />
              <xsl:choose>
                <xsl:when test="count($tags/tags/tag) = 0">
                  Not tagged
                </xsl:when>
                <xsl:otherwise>
                  Tagged:
                  <xsl:for-each select="$tags/tags/tag">
                    <href="{umbraco.library:NiceUrl($currentPage/ancestor-or-self::umbBlog/@id)}?filterby={.}" rel="tag">
                      <xsl:value-of select="."/>
                    </a>
                    <xsl:if test="position() != last()"></xsl:if>
                  </xsl:for-each>
                </xsl:otherwise>
              </xsl:choose>
            </span>
            <span class="meta-sep"</span>
            <xsl:variable name="numberofcomments" select="count(BlogLibrary:GetCommentsForPost($post/@id)//comment)"/>
            <span class="comments-link">
              <xsl:choose>
                <xsl:when test="$numberofcomments = 0">
                  <xsl:choose>
                    <xsl:when test="string($post/closeComments) = '1'">
                      Comments closed
                    </xsl:when>
                    <xsl:otherwise>
                      <href="{umbraco.library:NiceUrl(@id)}#comments">Leave comment</a>
                    </xsl:otherwise>
                  </xsl:choose>
                </xsl:when>
                <xsl:when test="$numberofcomments = 1">
                  <href="{umbraco.library:NiceUrl(@id)}#comments">1 comment</a>
                </xsl:when>
                <xsl:otherwise>
                  <href="{umbraco.library:NiceUrl(@id)}#comments">
                    <xsl:value-of select="$numberofcomments"/> comments
                  </a>
                </xsl:otherwise>
              </xsl:choose>
            </span>
          </div>

        </div>
      </xsl:template>
    </xsl:stylesheet>

  • This forum is in read-only mode while we transition to the new forum.

    You can continue this topic on the new forum by tapping the "Continue discussion" link below.

Please Sign in or register to post replies