0

我正在使用 Open Cart 为我的公司开发一个订购系统。
一切都在 PHP 和 HTML 中完成。

我正在尝试修改发票页面以在打印发票的底部包含一个签名行。发票可以根据行/项目的数量延伸到多页,也可以批量处理,以便要打印的一个文档有多个发票(使用循环)。我不是网络开发人员,并且已经达到了我完成项目这一部分的能力的尽头。请给我指点或伪代码示例。

页脚代码:

<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 script并且footer.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是说0px在顶部和底部以及左右两侧放置边距autoPosition使其固定在视口/页面上。Bottom0px从底部保持。

在页面正文中,使用以下代码:

<?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-->

它只是将您在 CSS 样式中定义的任何属性分配给signaturediv。显然,您需要将此片段包装到您的逻辑中,该逻辑决定何时回显/引入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

What format do your invoices have? You should create them as a PDF File to print them out. There you can try to define a footnote - based on the used php pdf library

于 2012-07-09T14:08:35.197 回答
-2

使用要放置在页脚中的 html 创建一个 footer.php 文件。

将此代码放置在您希望将页脚放置在发票页面上的位置:

<?php include 'footer.php'?>

修改页脚,修改footer.php

于 2012-07-09T13:49:26.377 回答