0

私はOpenCartを利用した会社の注文システムに取り組んでいます。
すべてがPHPとHTMLで行われています。

印刷された請求書の下部に署名欄を含めるように請求書ページを変更しようとしています。請求書は、行/アイテムの数に応じて複数のページに拡張できます。また、印刷する1つのドキュメントに複数の請求書が含まれるようにバッチ処理することもできます(ループを使用)。私はWeb開発者ではなく、プロジェクトのこの部分を実行する能力の限界に達しました。ポインタまたは擬似コードのサンプルを教えてください。

フッターコード:

<style type="text/css">
    .picklistCheck{
        width:15px;
        height:15px;
        border:1px solid #c7c7c7;
        margin:0 auto;
        border-radius:2px;
        box-shadow:inset 0px 0px 2px rgba(0,0,0,0.1);
        font-size:14pt;
    }
    .signature{
        border-bottom-style:solid;
        font-size:14pt;
        page-break-after:always;
    }
    td{
        font-size:14pt;
    }
</style>

<?php
    foreach ($orders as $order) {
        ?>
        //<div>orders go here </div>
        <?php
    }
    include ("footer.php");
?>
4

3 に答える 3

4

ロジックが請求書にページ分割を入れることを決定するたびに、次のコードも挿入するように指示します。

<?php include ("footer.php"); ?>

フッターに配置する単純なhtmlを使用してfooter.phpファイルを作成します。上記のコードは、 your scriptfooter.phpが同じディレクトリにあることを前提としています。

編集: あなたのコメントに答えるために、

IncludePHP.netは、すべてのコードを含めるのではなく、実際に直接コピーして貼り付けたのとまったく同じように動作します。ただし、すべてのインクルードファイルには、必要に応じて独自の<?php ?>タグを付ける必要があります。タグがない<?php ?>場合、Controlはそこに表示されるものをすべて出力します。

Footer.phpは、単純なHTMLのみのファイルにすることができます。

<div id="footer">
    Company XYZ (c)2000-2012 All Copyrights Reserved
    Some other footer text.
</div>

フッターという名前を付けることもできます。htmlですが、後で動的データをフッターに配置することにした場合、さまざまなファイルに書き込まれたすべてのインクルード行に変更.htmlすることは非常に困難になります。.php

ダイナミックフッターの例:

<div id="footer">
    Company XYZ (c)2000-2012 All Copyrights Reserved
    <?php echo $who_printed." ".$who_authorized; ?>
</div>

もちろん、これは単純な例です。

HTMLページでは、外部のリンクされた.cssファイルで次のCSSコードを使用して、divを強制できます。

#footer{
text-align: right;
height: 20px;
position:fixed;
margin:0px;
bottom:0px;
}

position:fixed;bottom:0px;ここでトリックをやっています。"footer" divページがスクロールされているか何かであっても、これは常に下に固執することを余儀なくされています。Facebookがヘッダーメニューを上に、チャットバーを下に固定するのと同じように。左右のプロパティを定義することもできます

更新:わかりました、あなたのコメントに基づいて、ここにサンプルコードがあります:

CSSスタイルセクションで、以下を使用します。

.signature{
    border-bottom-style:solid;
    font-size:14pt;
    page-break-after:always;

    text-align: center;
    height: 20px;
    width: 100%;
    margin:0px auto;
    position:fixed;
    bottom:0px;
}

すべてのプロパティは自明です。Text-alignテキストを中央揃えにします。Widthこのdiv.signatureをページ上で100%幅にします。divを両側に等しいマージンで配置する必要があります。上下と左右両方にマージンをMargin入れると言っています。ビューポート/ページで修正されます。下から保つと言います。0pxautoPositionBottom0px

ページの本文で、次のコードを使用します。

<?php
    foreach ($orders as $order) {
        ?>
        //<div class="order">order1 go here </div>
        //<div class="order">order2 go here </div>
        //<div class="order">order3 go here </div>
        //<div class="order">order4 go here </div>
        <?php
    } // for each ENDS
?>

<div class="signature">
      Authorized by <?php echo $who_authorized; ?> |
      Printed by <?php echo $who_printed; ?>
</div><!--//signature-->

signatureCSSスタイリングで定義したプロパティをdivに割り当てるだけです。明らかに、このスニペットをロジックにラップする必要があります。ロジックは、いつsignaturedivをエコー/導入するかを決定します。また、$who_authorizedと$who_printedは何らかの値を保持する必要があります。

3行を超えるブロックの場合、私は常に?>PHPパーサー/コントロールから出てきて()、必要に応じてHTMLを記述します。次に、必要に応じて、もう一度PHP(<?php)を入力します。

を使用したい場合includeは、最後の6行を省略できます(私のコードで開始?>および終了し、この行をそこに配置するだけです。<!--//signature-->

include ("footer.php");
?>

footer.phpこのオプションでは、同じディレクトリに名前を付けたファイルを作成し、その中に次のhtmlコードを挿入する必要もあります。

<div class="signature">
      Authorized by <?php echo $who_authorized; ?> |
      Printed by <?php echo $who_printed; ?>
</div><!--//signature-->
于 2012-07-09T14:22:27.553 に答える
-1

請求書の形式は何ですか?それらを印刷するには、PDFファイルとして作成する必要があります。そこで、使用されているphppdfライブラリに基づいて脚注を定義してみることができます。

于 2012-07-09T14:08:35.197 に答える
-2

フッターに配置するhtmlを使用してfooter.phpファイルを作成します。

請求書ページのフッターを配置する場所に次のコードを配置します。

<?php include 'footer.php'?>

フッターを変更するには、footer.phpを変更します

于 2012-07-09T13:49:26.377 に答える