php - 如何在我的 View 页面中使用打印输出扩展来打印 View 页面?

标签 php jquery html css yii

我已经创建了一个基于 yii 的元素。我有一个 View ,我们可以在其中显示数据库中的数据。我想打印那个页面。我搜索并找到了用于打印的打印输出扩展,并将“打印”目录复制到/protected/extensions,但我们无法理解如何在我的 View 页面上使用它来打印它。

我的查看页面:

    <div class="row">    

    <div class="row-column1">
            <?php echo CHtml::label('Reg. Number. :','student_enroll_no'); ?>
        <?php echo $info->student_enroll_no;?> 
    </div>

    <div class="row-column2">
            <?php echo CHtml::label('Adm. Date :','student_adm_date'); ?>
        <?php if($info->student_adm_date != NULL)
            echo date('d-m-Y',strtotime($info->student_adm_date));?>
    </div>

</div>

<div class="row">
    <div class="row-column1">
        <?php echo CHtml::label('Student Name :','student_first_name'); ?>
        <?php echo $info->student_first_name;?>
    </div>

    <div class="row-column2">
    <?php echo CHtml::label('Enroll No. :','student_mobile_no'); ?>   
        <?php echo $info->student_mobile_no;?>


    </div>


</div>


<div class="row">
    <div class="row-column1">
     <?php echo CHtml::label('Fathers Name :','student_last_name'); ?>
        <?php echo $info->student_last_name;?>
        <!--<?php echo CHtml::label('Gender :','student_gender'); ?>
        <?php echo $info->student_gender;?>-->
    </div>

    <div class="row-column3">
     <?php echo CHtml::label('Mothers Name :','student_mother_name'); ?>
        <?php echo $info->student_mother_name;?>
       <!-- <?php echo CHtml::label('Date of Birth :','student_dob'); ?>
    <?php   if($info->student_dob != NULL)
        echo date('d-m-Y',strtotime($info->student_dob));?>-->
    </div>
</div>

<div class="row">
    <div class="row-column1">
    <?php echo CHtml::label('Gender :','student_gender'); ?>
        <?php echo $info->student_gender;?>
    <!--<?php echo CHtml::label('Course :','student_transaction_course_id'); ?>
        <?php
            echo !empty($model->student_transaction_course_id) ? $model->relCourse->course_name : 'N/A';

        ?>-->


    </div>

    <div class="row-column2">
     <?php echo CHtml::label('Date of Birth :','student_dob'); ?>
    <?php   if($info->student_dob != NULL)
        echo date('d-m-Y',strtotime($info->student_dob));?>
        <!--<?php echo CHtml::label('Year :','student_academic_term_period_tran_id'); ?>
       <?php echo $model->Rel_student_academic_terms_period_name->academic_term_period;?>-->
    </div>  
</div>
<div class="row">
    <div class="row-column1">
<?php echo CHtml::label('Category :','title'); ?>
        <?php echo $info->title;?>


    </div>

    <div class="row-column2">
        <?php echo CHtml::label('Email ID :','student_email_id_1'); ?>                          <?php echo $info->student_email_id_1; ?>
    </div>  
</div>



<div class="row">
    <div class="row-left">
    <?php echo CHtml::label('Course :','student_transaction_course_id'); ?>
        <?php
            echo !empty($model->student_transaction_course_id) ? $model->relCourse->course_name : 'N/A';

        ?>

       <!-- <?php echo CHtml::label('Blood Group :','student_living_status'); ?>
        <?php echo $info->student_living_status; ?>-->
    </div>

    <div class="row-column3">

       <!-- <?php echo CHtml::label('Nationality :','student_transaction_nationality_id'); ?>
        <?php if($model->student_transaction_nationality_id!=null)
        echo $model->Rel_Nationality->nationality_name; 
    ?>-->
    <?php echo CHtml::label('Year :','student_academic_term_period_tran_id'); ?>
       <?php echo $model->Rel_student_academic_terms_period_name->academic_term_period;?>
    </div>

</div>

<div class="row">
    <div class="row-left">
        <?php echo CHtml::label('Subjects :','languages_known1'); ?>
        <?php 
        $knwLang = "";
        if($lang->languages_known1)
        $knwLang =  $lang->Rel_Langs1->languages_name; 
        if($lang->languages_known2)
        $knwLang .= ", ".$lang->Rel_Langs2->languages_name;
        if($lang->languages_known3)
        $knwLang .= ", ".$lang->Rel_Langs3->languages_name;
        echo $knwLang;
    ?>

    </div>
</div>





  <div class="row last">

        <?php echo ('_____________________Note -Click on edit and update DoB , Subjects and upload photo ,Enroll no. .'); ?>


</div>

最佳答案

此扩展的文档说它针对 dataGrid 小部件进行了调整。但是,您似乎没有使用 dataGrid 小部件,因此您可以做的是覆盖默认的 printedElement 属性。

例如:

将您希望打印的所有元素包装在一个 div 中,并为其指定一个 id #printme 并将以下内容添加到您的 View 中。

<?php 
    $this->widget('application.extensions.print.printWidget', array(                   
                   'cssFile' => 'print.css',
                   'printedElement'=>'#printme',
                   )
                 )
               ); 
?>

注意:不要忘记添加/编辑 print.css 文件。

阅读文档了解更多选项: http://www.yiiframework.com/extension/printout

关于php - 如何在我的 View 页面中使用打印输出扩展来打印 View 页面?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21885583/

相关文章:

HTML5 电子邮件输入模式属性

php - 如何将参数传递给 php 页面而无需加载它

PHP 获取数组中重复次数最多的项

jquery - 如何使用 ajax 加载将 jquery Accordion 加载到 div 中?

javascript - 本地存储: Get specific localstorage value of which contains many items

jquery - Telerik Kendo 网格内的检查/取消检查功能不起作用

javascript - Jquery:如何知道哪个元素被单击?

php - PHP可以重启Apache吗?

php - 通过 Python/R/任何外部程序在 Apache/PHP 中启用临时文件创建和使用 - 最佳选择

Javascript 模态 - 禁用正文滚动但使用 css 启用模态