2013-02-22 145 views
1

我使用的是PHP.Gt framework,我注意到有一个Blog的页面工具。我确定它很容易连线(其他所有内容都在PHP.GT中!),但我需要知道我应该在我的html中设置什么ID和数据模板,以便PageTool能够为我呈现博客。我需要添加哪些标签才能自动呈现PHP.GT博客?

我宁愿不通过代码寻找他们,如果我可以避免它,我无法找到github上的文档中的博客工具 - 是否在别处记录?

回答

0

Tutorial #4 on the Github wiki一旦书面,就会准确回答你的问题。还有一个specific page within the docs just for the Blog PageTool。尽管文档是在制品,但我将使用源代码和注释在此处回答。

您需要自动做两两件事来输出一个典型的博客:

  1. data-template属性的元素中创建一个虚拟博客的标记。这将被放入/Blog/_Dynamic.html PageView
  2. 调用Blog PageTool上的go函数。

数据库将在需要时自动部署。然后,您将能够使用CSS/SCSS撰写文章并设置博客的风格。

为了更具体地回答你的问题:

的根元素可以是任何标签类型“文章”的模板名称。这个标签是一个文章元素是有意义的。

在文章元素中,您可以根据需要为要创建的博客类型放置尽可能多或少的文档元素。以下元素是最典型的:

  • article > header > h1 > a - 文章的标题,将提供一个永久链接回自己。
  • article > header > p.date - 发布日期,可选data-format属性用于提供PHP date format string
  • article > header > p.comments - 评论数量。
  • article > header > ul.tags - 与文章关联的当前标签的列表容器。
  • article > header > ul.tags li[data-template='ArticleTagLink'] - 为每个关联标签输出的模板列表项。 li应至少包含一个a元素,以链接到标记列表。
  • article > div.content - 实际的博客内容将被输出到哪里。

注释可以放置在不同的元素容器中。在容器中,要输出注释的实际列表应该具有“commentsList”的标识,li元素的data-template属性为“Comment”。

下面是一个示例博客PageView(_Dynamic.html)。

<section id="st_article"> 
    <article data-template="Article"> 
     <header> 
      <h1> 
       <a href="/Articles/{Y}/{M}/{D}/{Id}-{Title}.html"> 
        Article header goes here. A bit longer title so it breaks onto 
        the line below the current one. 
       </a> 
      </h1> 
      <p class="date"> 
       <time datetime="1970-01-01">1st January 1970</time> 
      </p> 
      <p class="comments"> 
       <a href="/Articles/{Y}/{M}/{D}/{ID}-{Title}.html#Comments"> 
        <span class="commentCount">0</span> comments 
       </a> 
      </p> 
      <ul class="tags"> 
       <li data-template="ArticleTagLink"> 
        <a href="/Articles/Tagged/{TagName}">Tag1</a> 
       </li> 
      </ul> 
     </header> 
     <div class="content"> 
      <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. 
     </div> 
     <footer> 
      <p> 
       <a href="/Articles/{Y}/{M}/{D}/{Id}-{Title}.html"> 
        Continue reading... 
       </a> 
      </p> 
     </footer> 
    </article> 
</section> 

<a name="Comments"></a> 

<section id="st_article_comments"> 
    <h1><span id="commentCount">0</span> comments</h1> 
    <form method="post" id="postCommentForm"> 
     <input name="Name" placeholder="Your name" required> 
     <input name="Website" 
      placeholder="Your website"> 
     <input name="Email" class="email" 
      placeholder="Your email (not shown, used to receive replies)"> 
     <textarea name="Comment" placeholder="Your comment" required 
     ></textarea> 
     <button type="submit" id="btn_submitComment"> 
      Submit comment 
     </button> 
    </form> 
    <div id="signIn"> 
     <p> 
      Please 
      <a href="/Authenticate.html">sign in</a> 
      to post a comment. 
     </p> 
    </div> 
    <ul id="commentsList"> 
     <li data-template-no="Comment"> 
      <p class="name"> 
       <a name="Comment-" href="#Comment-"> 
        John Smith 
       </a> 
      </p> 
      <p class="message"> 
       Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod 
       tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam. 
      </p> 
      <time datetime="1970-01-01 00:00:00"> 
       January 1st 1970, 0:00am 
      </time> 
     </li> 
    </ul> 
</section> 

...并自动将PageView与博客工具挂钩,则需要在Blog PageTool上调用go()。这将需要在_Common.php file中完成,因为每个博客的实际请求URL将有所不同。

<?php class _Common extends PageCode { 

public function go($api, $dom, $template, $tool) { 
    $tool->go("Blog"); 
} 

}?> 
相关问题