+ Antworten
Ergebnis 1 bis 3 von 3

Thema: Reporte in virtuemart drucken

  1. #1
    War schon öfter hier
    Registriert seit
    06.04.2009
    Beiträge
    121
    Bedankte sich
    20
    Erhielt 0 Danksagungen
    in 0 Beiträgen

    Frage Reporte in virtuemart drucken

    Hallo an alle,

    gibt es eine Möglichkeit, die Reporte die man sich in virtuemart erstellen lassen kann, auch durch einen Druckknopf ausdrucken kann.

    Also meine Frage:

    Ich muss einen Drucker Icon einbauen damit ich die Reporte ausdrucken kann.


    Danke im vorraus

  2. #2
    War schon öfter hier
    Registriert seit
    06.04.2009
    Beiträge
    121
    Bedankte sich
    20
    Erhielt 0 Danksagungen
    in 0 Beiträgen

    Standard

    Also ich habe schonmal folgendes rausgefunden.

    Das ist di zu druckende Datei (administrator/components/com_virtuemart/html/reportbasic.index.php)

    Von dieser Seite soll nur ein bestimmter Bereich gedruckt werden und zwar dieser:

    Code:
    <!-- begin output of report -->
    <?php
     /* assemble start date */
     if (isset($thisMonth)) {
       $start_date = mktime(0,0,0,date("n"),1,date("Y"));
       $end_date = mktime(23,59,59,date("n")+1,0,date("Y"));
     }
     else if (isset($lastMonth)) {
       $start_date = mktime(0,0,0,date("n")-1,1,date("Y"));
       $end_date = mktime(23,59,59,date("n"),0,date("Y"));
     }
     else if (isset($last60)) {
       $start_date = mktime(0,0,0,date("n"),date("j")-60,date("Y"));
       $end_date = mktime(23,59,59,date("n"),date("j"),date("Y"));
     }
     else if(isset ($last90)) {
       $start_date = mktime(0,0,0,date("n"),date("j")-90,date("Y"));
       $end_date = mktime(23,59,59,date("n"),date("j"),date("Y"));
     }
     elseif (isset($sbmt)) {
       /* start and end dates should have been given, assign accordingly */
       $start_max_day = date("j",mktime(0,0,0,$smonth+1,0,$syear));
       if (! (intval($sday) <= $start_max_day)) {
         $sday = $start_max_day;
       }
       $start_date = mktime(0,0,0,intval($smonth),intval($sday),$syear);
    
       $end_max_day = date("j",mktime(0,0,0,intval($smonth)+1,0,$syear));
       if (! (intval($eday) <= $end_max_day)) {
         $eday = $end_max_day;
       }
       $end_date = mktime(23,59,59,intval($emonth),intval($eday),$eyear);
     }
     else {
     /* nothing was sent to the page, so create default inputs */
       $start_date = mktime(0,0,0,date("n"),1,date("Y"));
       $end_date = mktime(23,59,59,date("n")+1,0,date("Y"));
       $interval = "byMonth";
     }
    $query_date_line = "";
     /* get the interval and set the date line for the query */
     switch ($interval) {
        case 'byMonth':
         $query_date_line = "FROM_UNIXTIME(cdate, '%M, %Y') as order_date, ";
         $query_group_line = "GROUP BY order_date";
         break;
       case 'byWeek':
         $query_date_line .= "WEEK(FROM_UNIXTIME(cdate, '%Y-%m-%d')) as week_number, ";
         $query_date_line .= "FROM_UNIXTIME(cdate, '%M %d, %Y') as order_date, ";
         $query_group_line = "GROUP BY week_number";
         break;
       case 'byDay':
       /* query for days */
         $query_date_line = "FROM_UNIXTIME(cdate, '%M %d, %Y') as order_date, ";
         $query_group_line = "GROUP BY order_date";
         break;
       default:
         $query_date_line = '';
         $query_group_line = '';
        break;
      }
      /* better way of setting up query */
      $q  = "SELECT ";
      $r  = $q;
      $u  = $q;
    
      $query_between_line = "WHERE cdate BETWEEN '" . $start_date . "' AND '" . $end_date . "' ";
      if ($query_date_line) {
        $q .= $query_date_line;
      }
      $q .= "FROM_UNIXTIME(cdate, '%Y%m%d') as date_num, ";
      $q .= "COUNT(order_id) as number_of_orders, ";
      $q .= "SUM(order_subtotal) as revenue ";
      $q .= "FROM #__{vm}_orders ";
      $q .= $query_between_line;
      if ($query_group_line) {
        $q .= $query_group_line;
      }
      $q .= " ORDER BY date_num ASC";
    
      /** setup items sold query */
      if ($query_date_line) {
        $r .= $query_date_line;
      }
      $r .= "FROM_UNIXTIME(cdate, '%Y%m%d') as date_num, ";
      $r .= "SUM(product_quantity) as items_sold ";
      $r .= "FROM #__{vm}_order_item ";
      $r .= $query_between_line;
      if ($query_group_line) {
        $r .= $query_group_line;
      }
      $r .= " ORDER BY date_num ASC";
    
    // added for v0.2 PRODUCT LISTING QUERY!
    if (!empty($show_products)) {
    /* setup end of product listing query */
      $u .= "product_name, product_sku, ";
      if ($query_date_line) {
        $u .= str_replace ("cdate", "#__{vm}_order_item.cdate", $query_date_line);
      }
      $u .= "FROM_UNIXTIME(#__{vm}_order_item.cdate, '%Y%m%d') as date_num, ";
      $u .= "SUM(product_quantity) as items_sold ";
      $u .= "FROM #__{vm}_order_item, #__{vm}_orders, #__{vm}_product ";
      $u .= str_replace ("cdate", "#__{vm}_order_item.cdate", $query_between_line);
      $u .= "AND #__{vm}_orders.order_id=#__{vm}_order_item.order_id ";
      $u .= "AND #__{vm}_order_item.product_id=#__{vm}_product.product_id ";
      $u .= "GROUP BY product_sku, product_name, order_date ";
      $u .= " ORDER BY date_num, product_name ASC";
      $dbpl = new ps_DB;
      $dbpl->query($u);
    }
    /* setup the db and query */
      $db = new ps_DB;
      $dbis = new ps_DB;
      
      $db->query($q);
      $dbis->query($r);
     ?>
        <h4><?php
        echo $VM_LANG->_('PHPSHOP_RB_REPORT_FOR') ." ";
        echo date("M j, Y", $start_date)." --&gt; ". date("M j, Y", $end_date);
        ?></h4>
    
        <table class="adminlist">
          <tr>
            <th><?php echo $VM_LANG->_('PHPSHOP_RB_DATE') ?></th>
    
            <th><?php echo $VM_LANG->_('PHPSHOP_RB_ORDERS') ?></th>
    
            <th><?php echo $VM_LANG->_('PHPSHOP_RB_TOTAL_ITEMS') ?></th>
    
            <th><?php echo $VM_LANG->_('PHPSHOP_RB_REVENUE') ?></th>
          </tr>
    <?php
      while ($db->next_record()) {
        $dbis->next_record();
        
        if ($i++ % 2) {
          $bgcolor='row0';
        }
        else {
          $bgcolor='row1';
        }
    ?>
        <tr class="<?php echo $bgcolor ?>">
          <td><?php $db->p("order_date"); ?></td>
          <td><?php $db->p("number_of_orders"); ?></td>
          <td><?php $dbis->p("items_sold"); ?></td>
          <td><?php $db->p("revenue"); ?>&nbsp;</td>
        </tr>
      <?php
        $weekNum = 0;//CT.need this for weekly viewing of products
        // BEGIN product listing
        if (!empty($show_products)) {
        ?>
        <tr><td>&nbsp;</td><td colspan="2">
          <table class="adminlist">
            <tr>
              <td colspan="3" align="left"><h3><?php echo $VM_LANG->_('PHPSHOP_RB_PRODLIST') ?></h3></td>
            </tr>
            <tr bgcolor="#ffffff">
              <th>#</th>
              <th><?php echo $VM_LANG->_('PHPSHOP_PRODUCT_NAME_TITLE') ?></th>
              <th><?php echo $VM_LANG->_('PHPSHOP_CART_QUANTITY') ?></th>
            </tr>
          <?php
            $i = 1;
            $has_next = $dbpl->next_record();
    
            while ( $has_next) {
    
    		//CT
    		$showLine = 0;
    		if ($interval == "byWeek"){
    	        	if( $dbpl->f("order_date") == $db->f("order_date") ) { $weekNum = $dbpl->f("week_number");}
    			if ( $dbpl->f("week_number") == $weekNum ){	$showLine = 1;}
    			//echo $dbpl->f("week_number")."-".$weekNum."<br/>";
    		}else{
    	        	if( $dbpl->f("order_date") == $db->f("order_date")) { $showLine = 1;}
    		}
    		if ($showLine == 1){
    		//end CT
    	          echo "<tr bgcolor=\"#ffffff\">\n";
    	          echo "<td>".$i++."</td>\n";
    	          echo '<td align="left">' . $dbpl->f("product_name") . " (" . $dbpl->f("product_sku") . ")</td>\n";
    	          echo '<td align="left">' . $dbpl->f("items_sold") . "</td>\n";
    	          echo "</tr>\n";
            	}
             	$has_next = $dbpl->next_record();
            }
            $dbpl->reset();
          ?>
            <tr><td colspan="3"><hr width="85%"></td></tr>
          </table>
          </td><td>&nbsp;</td>
          </tr>
        <?php
        }
        // END product listing
    
      } ?>
      </table>
            
    <!-- end output of report -->
    Ist das irgendwie möglich?

    Bitte helft mir

  3. #3
    War schon öfter hier
    Registriert seit
    06.04.2009
    Beiträge
    121
    Bedankte sich
    20
    Erhielt 0 Danksagungen
    in 0 Beiträgen

    Frage

    Hat wirklich keiner ein Idee?

+ Antworten

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein