Question: Modify Packaging Php

Modify Packaging Php

Hello, I want to modify the packaging.php Name, quantity, category and unit price. I have structured something like this according to the logic that I see from the SMA, but it still doesn

M

maxventasweb

Asked
Hello, I want to modify the packaging.php

Name, quantity, category and unit price. I have structured something like this according to the logic that I see from the SMA, but it still doesn't work, can you please help me:

<div class="table-responsive">
<table class="table table-striped table-bordered">
<thead>
<tr>
<th><?= lang('name'); ?></th>
<th><?= lang('quantity'); ?></th>
<th><?= lang('category'); ?></th> <!-- th add category -->
<th><?= lang('unit-price'); ?></th> <!-- th add price -->
</tr>
</thead>
<tbody>

<?php foreach ($packaging as $item) {
echo '<tr>';
echo '<td>' . $item['name'] . '</td>';
echo '<td>' . $this->sma->formatQuantity($item['quantity']) . ' '. $item['unit'] . '</td>';
echo '<td>' . $item['category'] . '</td>'; // add category
echo '<td>' . $this->sma->formatDecimal($product->tax_method ? $product->price + $ctax['amount'] : $product->price) . '</td>'; // Add unit price
echo '</tr>';
} ?>
  • EG

    Enyinnaya Gift

    Answered
    Hi [[[@maxventasweb](/u/maxventasweb)](/u/maxventasweb)](/u/maxventasweb) . Replace the entire code in `Packaging.php` in the code below.
    ```
    <?php defined('BASEPATH') or exit('No direct script access allowed'); ?>
    <div class="modal-dialog modal-lg">
    <div class="modal-content">
    <div class="modal-header">
    <button type="button" class="close" data-dismiss="modal" aria-hidden="true">
    <i class="fa fa-2x">&times;</i>
    </button>
    <button type="button" class="btn btn-xs btn-default no-print pull-right" style="margin-right:15px;" onclick="window.print();">
    <i class="fa fa-print"></i> <?= lang('print'); ?>
    </button>
    <h4 class="modal-title" id="myModalLabel"><?= lang('packaging'); ?></h4>
    </div>
    <div class="modal-body">
    <div class="well well-sm">
    <?= lang('biller') . ': ' . $sale->biller; ?><br>
    <?= lang('reference') . ': ' . $sale->reference_no; ?><br>
    <?= lang('warehouse') . ': ' . $warehouse->name . ' (' . $warehouse->code . ')'; ?>
    </div>
    <div class="table-responsive">
    <table class="table table-striped table-bordered">
    <thead>
    <tr>
    <th><?= lang('name'); ?></th>
    <th><?= lang('quantity'); ?></th>
    <th><?= lang('category'); ?></th>
    <th><?= lang('unit_price'); ?></th>
    </tr>
    </thead>
    <tbody>

    <?php foreach ($packaging as $item) {
    echo '<tr>';
    echo '<td>' . $item['name'] . '</td>';
    echo '<td>' . $this->sma->formatQuantity($item['quantity']) . ' ' . $item['unit'] . '</td>';
    echo '<td>' . $item['category'] . '</td>';
    echo '<td>' . $item['unit_price'] . '</td>';
    echo '</tr>';
    } ?>
    </tbody>
    </table>
    </div>
    </div>
    </div>
    </div>
    ```
    Then in the controller script `Sales.php` , directory path `app\controllers\admin\Sales.php`, replace the `Packaging()` function in `line 1637 to 1659` with the code below.
    ```
    public function packaging($id)
    {
    $sale = $this->sales_model->getInvoiceByID($id);
    $this->data['returned'] = false;
    if ($sale->sale_status == 'returned' || $sale->return_id) {
    $this->data['returned'] = true;
    }
    $this->data['warehouse'] = $this->site->getWarehouseByID($sale->warehouse_id);
    $items = $this->sales_model->getAllInvoiceItems($sale->id);
    foreach ($items as $item) {
    $packaging[] = [
    'name' => $item->product_code . ' - ' . $item->product_name,
    'quantity' => $item->quantity,
    'unit' => $item->product_unit_code,
    'rack' => $this->sales_model->getItemRack($item->product_id, $sale->warehouse_id),
    'category' => $item->cat_name.' ('.$item->cat_code.')',
    'unit_price' => $item->unit_price,
    ];
    }
    $this->data['packaging'] = $packaging;
    $this->data['sale'] = $sale;

    $this->load->view($this->theme . 'sales/packaging', $this->data);
    }
    ```
    Finally in the model script `Sales_model.php` , directory path `app\models\admin\Sales_model.php`, replace the `getAllInvoiceItems()` function in `line 245 to 268` with the code below.
    ```
    public function getAllInvoiceItems($sale_id, $return_id = null)
    {
    $this->db->select('sale_items.*, tax_rates.code as tax_code, tax_rates.name as tax_name, tax_rates.rate as tax_rate, products.image, products.details as details, product_variants.name as variant, products.hsn_code as hsn_code, products.second_name as second_name, products.unit as base_unit_id, units.code as base_unit_code, categories.code as cat_code, categories.name as cat_name')
    ->join('products', 'products.id=sale_items.product_id', 'left')
    ->join('product_variants', 'product_variants.id=sale_items.option_id', 'left')
    ->join('tax_rates', 'tax_rates.id=sale_items.tax_rate_id', 'left')
    ->join('units', 'units.id=products.unit', 'left')
    ->join('categories', 'products.category_id=categories.id', 'left')
    ->group_by('sale_items.id')
    ->order_by('id', 'asc');
    if ($sale_id && !$return_id) {
    $this->db->where('sale_id', $sale_id);
    } elseif ($return_id) {
    $this->db->where('sale_id', $return_id);
    }
    $q = $this->db->get('sale_items');
    if ($q->num_rows() > 0) {
    foreach (($q->result()) as $row) {
    $data[] = $row;
    }
    return $data;
    }
    return false;
    }
    ```
    My name is [@Enyinnaya Gift](/u/giftedhands4real) . I am an `Independent software developer` with in-depth knowledge of SMA system. I have done a lot of customization for many happy clients across the globe.

    You can check out highlights and a demo of my latest customization by [Clicking HERE - Highlights](https://sma.gehandsitsolutions.com/admin/highlights)

    You can also reach me via any of the following mediums for a real-time discussion on your customization request:

    -Skype ID: `enyinnayag`
    -Wechat ID: `genyinnaya`
    -Email: `[email protected]`
    -WhatsApp: `+2348068355192`
  • M

    maxventasweb

    Answered
    You are amazing, it worked perfectly, thank you very much, I will not hesitate to hire you in future developments :)
  • MS

    Mian Saleem

    Answered
    Thank you [@Enyinnaya Gift](/u/giftedhands4real) for help :)
  • Login to Reply