Author Topic: Add extra product stock option  (Read 577 times)

2cool

  • Jr. Member
  • **
  • Posts: 154
Add extra product stock option
« on: January 31, 2018, 21:07:16 pm »
Wonder if anyone knows how to add an extra product stock to vm inventory.
We want to add total warehouse stock next to the product shop stock to keep all in one screen.
This could be just a static field which will be changed manually.

Attached a sketched layout.

Using joomla 3.8.4 and vm 3.2.12

Thanks,

Pas

Studio 42

  • Contributing Developer
  • Sr. Member
  • *
  • Posts: 2974
  • Joomla & Virtuemart addon developper
    • Studio 42 - Virtuemart & Joomla extentions
  • VirtueMart Version: 2.6 & 3.0.x.y
Re: Add extra product stock option
« Reply #1 on: January 31, 2018, 21:59:19 pm »
YOu can hack the core view, or add an override to display this column.
For the DB, you can add a customfield or hack the product table(or use an existing unused field)

2cool

  • Jr. Member
  • **
  • Posts: 154
Re: Add extra product stock option
« Reply #2 on: February 01, 2018, 09:13:22 am »
Thank for your suggestions, an override should be a nice way to do this.

Can you tell me how this works and what files should override?  (administrator/components/com_virtuemart/inventory/)
Should this be copied to same location in my template?

How can I add a customfield? vm, joomla or mysql?

Thanks.
Pas

Studio 42

  • Contributing Developer
  • Sr. Member
  • *
  • Posts: 2974
  • Joomla & Virtuemart addon developper
    • Studio 42 - Virtuemart & Joomla extentions
  • VirtueMart Version: 2.6 & 3.0.x.y
Re: Add extra product stock option
« Reply #3 on: February 01, 2018, 13:40:19 pm »
to overide file in
administrator/components/com_virtuemart/views/inventory/
templates folder is
administrator/templates/isis/html/com_virtuemart/inventory/
If you want a customfield, you have to modify the sql, so try to use an existing field eg. url, vm do not check if url is valid and do not display it.
You can perhaps use a field in statut tab on edit product? if you dont use all
If you manually add a field in the product table, this is the poorest way and cause problem with the time.

2cool

  • Jr. Member
  • **
  • Posts: 154
Re: Add extra product stock option
« Reply #4 on: February 01, 2018, 16:03:34 pm »
I copied files from 'administrator/components/com_virtuemart/views/inventory/' to 'administrator/templates/isis/html/com_virtuemart/inventory/'
Tested to switch position of 'product name' and 'sku' but this doesn't work?

Is this all to override the admin template or did I forget something.

Thank you,
Pas

Studio 42

  • Contributing Developer
  • Sr. Member
  • *
  • Posts: 2974
  • Joomla & Virtuemart addon developper
    • Studio 42 - Virtuemart & Joomla extentions
  • VirtueMart Version: 2.6 & 3.0.x.y
Re: Add extra product stock option
« Reply #5 on: February 01, 2018, 16:06:45 pm »
DO you use isis template ?

2cool

  • Jr. Member
  • **
  • Posts: 154
Re: Add extra product stock option
« Reply #6 on: February 01, 2018, 16:10:36 pm »
Yes isis - Default is set for Administrator templates

Studio 42

  • Contributing Developer
  • Sr. Member
  • *
  • Posts: 2974
  • Joomla & Virtuemart addon developper
    • Studio 42 - Virtuemart & Joomla extentions
  • VirtueMart Version: 2.6 & 3.0.x.y
Re: Add extra product stock option
« Reply #7 on: February 01, 2018, 16:43:57 pm »
Original file is YOURSITE/administrator/components/com_virtuemart/views/inventory/tmpl/default.php
to save in YOURSITE/administrator/templates/isis/html/com_virtuemart/inventory/default.php

2cool

  • Jr. Member
  • **
  • Posts: 154
Re: Add extra product stock option
« Reply #8 on: February 01, 2018, 21:48:15 pm »
Yes now the override works, thanks!

Since I don't use 'products in box' field I tried code below. (product_box)

This is visible but gives an error on sorting?
An error has occurred.
    1054 Unknown column 'product_box' in 'order clause'

Guess it's wrong code in last part:
Code: [Select]
<td><?php echo $product?> <?php echo $this->product->product_box?></td>
Hope you can help to get this fixed.

Thanks,
Pas

Code: [Select]
<thead>
<tr>
<th class="admin-checkbox"><input type="checkbox" name="toggle" value="" onclick="Joomla.checkAll(this)" /></th>
<th><?php echo $this->sort('product_name'?></th>
<th><?php echo $this->sort('product_sku')?></th>
<th><?php echo $this->sort('product_in_stock','COM_VIRTUEMART_PRODUCT_FORM_IN_STOCK'?></th>
<th><?php echo vmText::_('COM_VIRTUEMART_PRODUCT_FORM_ORDERED_STOCK'?> </th>
<th><?php echo $this->sort('product_box','COM_VIRTUEMART_PRODUCT_BOX'?></th>
<th><?php echo $this->sort('product_price','COM_VIRTUEMART_PRODUCT_FORM_PRICE_COST'?></th>
<th><?php echo $this->sort('product_price''COM_VIRTUEMART_PRODUCT_INVENTORY_PRICE'?></th>
<th><?php echo $this->sort('product_weight','COM_VIRTUEMART_PRODUCT_INVENTORY_WEIGHT'?></th>
<th><?php echo $this->sort('published')?></th>
</tr>
</thead>
<tbody>
<?php
if (
count($this->inventorylist) > 0) {
$i 0;
$k 0;
$keyword vRequest::uword ('keyword'""' ,-,+,.,_,#,/');
foreach ($this->inventorylist as $key => $product) {
$checked JHtml::_('grid.id'$i $product->virtuemart_product_id);
$published $this->gridPublished$product$i );

//<!-- low_stock_notification  -->
if ( $product->product_in_stock $product->product_ordered 1$stockstatut ="out";
elseif ( $product->product_in_stock $product->product_ordered $product->low_stock_notification $stockstatut ="low";
else $stockstatut "normal";

$stockstatut='class="stock-'.$stockstatut.'" title="'.vmText::_('COM_VIRTUEMART_STOCK_LEVEL_'.$stockstatut).'"';
?>

<tr class="row<?php echo $k ?>">
<!-- Checkbox -->
<td class="admin-checkbox"><?php echo $checked?></td>
<!-- Product name -->
<?php
$link 'index.php?option=com_virtuemart&view=product&task=edit&virtuemart_product_id='.$product->virtuemart_product_id.'&product_parent_id='.$product->product_parent_id;
?>

<td><?php echo JHtml::_('link'JRoute::_($linkFALSE), $product->product_name, array('title' => vmText::_('COM_VIRTUEMART_EDIT').' '.htmlentities($product->product_name))); ?></td>
<td><?php echo $product->product_sku?></td>
<td <?php echo $stockstatut?>><?php echo $product->product_in_stock?></td>
<td <?php echo $stockstatut?> width="5%"><?php echo $product->product_ordered?></td>
<td><?php echo $product?> <?php echo $this->product->product_box?></td>
<td><?php echo $product->product_price_display?></td>
<td><?php echo $product->product_instock_value?></td>
<td><?php echo $product->product_weight." "$product->weigth_unit_display?></td>
<td><?php echo $published?></td>
</tr>


Studio 42

  • Contributing Developer
  • Sr. Member
  • *
  • Posts: 2974
  • Joomla & Virtuemart addon developper
    • Studio 42 - Virtuemart & Joomla extentions
  • VirtueMart Version: 2.6 &amp; 3.0.x.y
Re: Add extra product stock option
« Reply #9 on: February 01, 2018, 23:06:03 pm »
If you want to sort, you have to hack the core(or add a plugin to do it for you). product_box is not a valid sorting in back-end