1

PHP.Gtフレームワークを使用していますが、ブログ用のページツールがあることに気づきました。配線は本当に簡単だと思いますが(他はすべてPHP.GTにあります!)、PageToolがブログをレンダリングするためにHTMLに設定する必要のあるIDとデータテンプレートを知る必要があります。 。

回避できる可能性がある場合は、コードをステップスルーしたくありません。また、githubのドキュメントでブログツールが見つかりません。他の場所で文書化されていますか?

4

1 に答える 1

0

Github wikiのチュートリアル#4は、一度書かれると、あなたの質問に正確に答えます。ブログPageTool専用のドキュメント内に特定のページもあります。ドキュメントはWIPですが、ここではソースとコメントを使用して回答します。

典型的なブログを自動的に出力するには、次の2つのことを行う必要があります。

  1. 属性を持つ要素内にダミーブログのマークアップを作成しdata-templateます。これは/Blog/_Dynamic.htmlPageViewに配置されます。
  2. goBlogPageToolで関数を呼び出します。

データベースは、必要に応じて自動的に展開されます。その後、CSS/SCSSを使用して記事を書いたりブログのスタイルを設定したりできるようになります。

あなたの質問にもっと具体的に答えるには:

ルート要素は、テンプレート名が「Article」の任意のタグタイプにすることができます。このタグが記事要素であるのは理にかなっています。

article要素内には、作成するブログのタイプに必要な数だけ配置することができます。次の要素が最も一般的です。

  • article > header > h1 > a-それ自体にパーマリンクを提供する記事のタイトル。
  • article > header > p.date-発行日。PHPの日付形式の文字列data-formatを提供するためのオプションの属性があります。
  • article > header > p.comments-コメント数。
  • article > header > ul.tags-記事に関連付けられている現在のタグのリストコンテナ。
  • article > header > ul.tags li[data-template='ArticleTagLink']-関連付けられたタグごとに出力されるテンプレート化されたリストアイテム。タグリストにリンクするには、liに少なくとも要素が含まれている必要があります。a
  • article > div.content-実際のブログコンテンツが出力される場所。

コメントは別の要素コンテナに配置できます。コンテナ内で、コメントを出力する実際のリストは、「commentsList」のIDを持ち、li「Comment」のdata-template属性を持つ要素を持つ必要があります。

ブログ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を自動的に接続するには、ブログページツールを呼び出す必要がありますgo()。各ブログに実際に要求されるURLは異なるため、これは_Common.phpファイルで行う必要があります。

<?php class _Common extends PageCode {

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

}?>
于 2013-02-23T12:15:03.157 に答える