Hi,
1/ The invoice is displayed by the view "ordermarket | invoice".
You can use the same kind of override to hide the addresses.
2/ The product image will be added in the next HikaMarket release ; we are working on a new design for the vendor orders and we already added in the product image in the future version.
In the "ordermaket | show_products" view, just before the "foreach" on the order products, you have to add the code
if(empty($this->db))
$this->db = JFactory::getDBO();
if(empty($this->imageHelper))
$this->imageHelper = hikamarket::get('shop.helper.image');
$product_ids = array();
$this->product_images = array();
foreach($this->order->products as $k => $product) {
if(!empty($product->product_id))
$product_ids[(int)$product->product_id] = (int)$product->product_id;
}
if(!empty($product_ids)) {
$this->db->setQuery('SELECT * FROM '.hikamarket::table('shop.file').' WHERE file_ref_id IN ('.implode(',', array_keys($product_ids)).') AND file_type=\'product\' ORDER BY file_ref_id ASC, file_ordering ASC, file_id ASC');
$images = $this->db->loadObjectList();
}
if(!empty($images)) {
foreach($images as $image) {
if(isset($this->product_images[(int)$image->file_ref_id]))
continue;
$this->product_images[(int)$image->file_ref_id] = new stdClass();
foreach(get_object_vars($image) as $key => $name) {
$this->product_images[(int)$image->file_ref_id]->$key = $name;
}
}
}
Then, in the foreach, you can display a product image using
if(isset($this->product_images[(int)$product->product_id])) {
$thumb = $this->imageHelper->getThumbnail(@$this->product_images[(int)$product->product_id]->file_path, array(50,50), array('default' => 1, 'forcesize' => 1));
if(!empty($thumb->path))
echo '<img src="'. $this->imageHelper->uploadFolder_url . str_replace('\\', '/', $thumb->path).'" alt="" class="hikam_imglist" />';
}
3/ At this moment, I will suggest you to use the option "Use same order number for sub-orders"
www.hikashop.com/support/documentation/1...onfig_market_general
But I will take your interesting idea for some future improvements.
4/ In the order listing, the addresses are displayed using this code
if(!empty($order->order_shipping_address_id)) {
$full_address = $this->addressClass->maxiFormat($this->addresses[(int)$order->order_shipping_address_id], $this->address_fields, true);
$country = $this->addressClass->miniFormat($this->addresses[(int)$order->order_shipping_address_id], $this->address_fields, '{address_city}, {address_state_code_3} {address_country_code_3}');
echo hikamarket::tooltip($full_address, JText::_('HIKASHOP_SHIPPING_ADDRESS'), '', $country, '', 0);
}
You can remove the use of hikamarket::tooltip and just echo the address miniFormat.
For that specific functinon, the last parameter is the format used for the address. If you want to display the address_firstname and address_lastname ; you just have to put them instead of the current city, state and country.
About the date of delivery, because it's an order custom field, you can display it directly ; you will find the information in the order object. Depending the custom field type you're using (advanced date picker), you might need to use the HikaShop field class to display the date with a good format.
Regards,