Main product name in order view
9 years 3 months ago #274699
by kyratn
Main product name in order view was created by kyratn
Hi,
Could someone give me quick tip how to get main product name in show->order view.
Successfully done in cart and product views with "&product->main_product_name;" but cant find a way to do it in order view.
I need to separate product name from characteristic values...
Thanks
Could someone give me quick tip how to get main product name in show->order view.
Successfully done in cart and product views with "&product->main_product_name;" but cant find a way to do it in order view.
I need to separate product name from characteristic values...
Thanks
Please Log in or Create an account to join the conversation.
9 years 3 months ago #274715
by Philip
Replied by Philip on topic Main product name in order view
Hello,
Sorry but I'm not sure to understand the context can you add a screenshot to see on which view you want this ?
Awaiting news from you.
Regards
Sorry but I'm not sure to understand the context can you add a screenshot to see on which view you want this ?
Awaiting news from you.
Regards
Please Log in or Create an account to join the conversation.
9 years 3 months ago #274721
by kyratn
Replied by kyratn on topic Main product name in order view
Hi,
As I said I need it in the order show view. Image attached.
Tried something like this but it doesn't work:
Also did var_dump but don't see main product name there...
Thanks
As I said I need it in the order show view. Image attached.
Tried something like this but it doesn't work:
Code:
$product->order_main_product_name;
Also did var_dump but don't see main product name there...
Thanks
Please Log in or Create an account to join the conversation.
9 years 3 months ago #274779
by GW
Replied by GW on topic Main product name in order view
Hi,
three possible ways to do it:
- if you use a colon ( : ) or other character in your product titles to separate the main product name and characteristic name, you can simply do a substring up to the colon to get the main product name
- if not, the characteristic name is available in the value $product->characteristic_value, so you can subtract this from your $product->order_product_name to get only the main product name
Or if you really need to, you can load the main product and get its name. First load the product class:
Then in the foreach product loop get the main product name if it has a product_parent_id value other than zero:
Hope that helps.
three possible ways to do it:
- if you use a colon ( : ) or other character in your product titles to separate the main product name and characteristic name, you can simply do a substring up to the colon to get the main product name
- if not, the characteristic name is available in the value $product->characteristic_value, so you can subtract this from your $product->order_product_name to get only the main product name
Or if you really need to, you can load the main product and get its name. First load the product class:
Code:
$productClass = hikashop_get('class.product');
Code:
if($productData->product_parent_id){
echo $productClass->get($product->product_parent_id)->product_name;
}
Hope that helps.
The following user(s) said Thank You: kyratn
Please Log in or Create an account to join the conversation.
9 years 3 months ago #274780
by kyratn
Replied by kyratn on topic Main product name in order view
Hi,
Thanks GW.
Not sure why but I don't like substring...Used foreach loop and that did the trick.
Have a great evening
Thanks GW.
Not sure why but I don't like substring...Used foreach loop and that did the trick.
Have a great evening
Please Log in or Create an account to join the conversation.
9 years 2 months ago #275503
by kyratn
Replied by kyratn on topic Main product name in order view
Hi,
Another issue here.
Added image and main product name to order details. All shows fine. However after pressing button print in vex pop up the image and product name disappears. Image shows barcode img instead product image... Can't find why would this happen. Any help here?
This is the part of code where image and product name is generated:
Thanks
Another issue here.
Added image and main product name to order details. All shows fine. However after pressing button print in vex pop up the image and product name disappears. Image shows barcode img instead product image... Can't find why would this happen. Any help here?
This is the part of code where image and product name is generated:
Code:
<?php
$k=0;
$group = $this->config->get('group_options',0);
$productClass = hikashop_get('class.product');
$imageHelper = hikashop_get('helper.image');
$width = (int)$this->config->get('cart_thumbnail_x', 100);
$height = (int)$this->config->get('cart_thumbnail_y', 144);
$image_options = array(
'default' => true,
'forcesize' => $this->config->get('image_force_size', true),
'scale' => $this->config->get('image_scale_mode','inside')
);
foreach($this->order->products as $product) {
if(!empty($product->product_id) && !empty($this->products[ (int)$product->product_id ]))
$productData = $this->products[ (int)$product->product_id ];
if($group && $product->order_product_option_parent_id)
continue;
?>
<tr class="row<?php echo $k;?>">
<td class="hikashop_cart_product_image_value hikashop_cart_product_name_value">
<div class="hikashop_cart_product_image_thumb">
<a class="hikashop_order_product_link" href="<?php echo hikashop_contentLink('product&task=show&cid='.$product->product_id.$url_itemid, $productData); ?>">
<?php
$image_path = (!empty($product->images) ? @$product->images[0]->file_path : '');
$img = $imageHelper->getThumbnail($image_path, array('width' => $width, 'height' => $height), $image_options);
if($img->success) {
echo '<img class="hikashop_cart_product_image" title="'.$this->escape(@$product->images[0]->file_description).'" alt="'.$this->escape(@$product->images[0]->file_name).'" src="'.$img->url.'" style="float:left; margin-right:3px;" />';
}
?>
</a>
</div>
<div class="hikashop_cart_product_name"><h3>
<a class="hikashop_order_product_link" href="<?php echo hikashop_contentLink('product&task=show&cid='.$product->product_id.$url_itemid, $productData); ?>">
<?php if($productData->product_parent_id){
echo $productClass->get($product->product_parent_id)->product_name;
} ?>
<?php if($this->config->get('show_code')) { ?>
<span class="hikashop_product_code_order"><?php echo $product->order_product_code; ?></span>
<?php } ?>
Thanks
Please Log in or Create an account to join the conversation.
9 years 2 months ago #275505
by nicolas
Replied by nicolas on topic Main product name in order view
Hi,
If the image and name are displayed before clicking on the button, then I can only think that it is something linked to the browser removing them for some reason during the print process.
What if you try with another browser ?
If the image and name are displayed before clicking on the button, then I can only think that it is something linked to the browser removing them for some reason during the print process.
What if you try with another browser ?
Please Log in or Create an account to join the conversation.
9 years 2 months ago #275544
by kyratn
Replied by kyratn on topic Main product name in order view
Hi,
I don't think it is a browser related.
Inspecting code with firebug i see that image path is like this:
"media/com_hikashop/upload/thumbnails/144x100fsO/my_image.jpg"
But when in vex pop up image path is like this:
"media/com_hikashop/upload/thumbnails/144x100fsO/barcode.jpg"
So product image isn't loaded and instead it shows barcode.
Same issue with main product name. Using this to get main product name and to show variant of that product:
Now in vex pop up name isn't printed but variant is.
Using default code for name like this works fine: "$product->order_product_name;"
Kind Regards
I don't think it is a browser related.
Inspecting code with firebug i see that image path is like this:
"media/com_hikashop/upload/thumbnails/144x100fsO/my_image.jpg"
But when in vex pop up image path is like this:
"media/com_hikashop/upload/thumbnails/144x100fsO/barcode.jpg"
So product image isn't loaded and instead it shows barcode.
Same issue with main product name. Using this to get main product name and to show variant of that product:
Code:
<?php if($productData->product_parent_id){
echo $productClass->get($product->product_parent_id)->product_name;
} ?>
<div class="hikashop_cart_product_variant">
<?php foreach ( $product->order_product_options as $variant){
echo ' '.$variant->characteristic_value;
} ?>
</div>
Now in vex pop up name isn't printed but variant is.
Using default code for name like this works fine: "$product->order_product_name;"
Kind Regards
Please Log in or Create an account to join the conversation.
9 years 2 months ago #275546
by nicolas
Replied by nicolas on topic Main product name in order view
Hi,
Your code for the product name is strange.
in the if condition you're using $productData but inside the if, you're using $product
So either you want to use always $product or always $productData because otherwise, it doesn't make sense.
Now I don't see why it would be different between the page and the popup. It's probably a matter of caching if there is a difference. So either from the browser or the website.
Your code for the product name is strange.
in the if condition you're using $productData but inside the if, you're using $product
So either you want to use always $product or always $productData because otherwise, it doesn't make sense.
Now I don't see why it would be different between the page and the popup. It's probably a matter of caching if there is a difference. So either from the browser or the website.
Please Log in or Create an account to join the conversation.
9 years 2 months ago #275588
by kyratn
Replied by kyratn on topic Main product name in order view
Hi,
Nicolas could you please try to add image to order show view and see if it is working for you?
I have used a clean protostar template and added this code to display image:
And it still doesnt work. Tried different browser and cleaned cache....Please take a look into attached image.
Thanks
Nicolas could you please try to add image to order show view and see if it is working for you?
I have used a clean protostar template and added this code to display image:
Code:
<?php
$imageHelper = hikashop_get('helper.image');
$width = (int)$this->config->get('cart_thumbnail_x', 100);
$height = (int)$this->config->get('cart_thumbnail_y', 144);
$image_options = array(
'default' => true,
'forcesize' => $this->config->get('image_force_size', true),
'scale' => $this->config->get('image_scale_mode','inside')
);
$image_path = (!empty($product->images) ? @$product->images[0]->file_path : '');
$img = $imageHelper->getThumbnail($image_path, array('width' => $width, 'height' => $height), $image_options);
if($img->success) {
echo '<img class="hikashop_cart_product_image" title="'.$this->escape(@$product->images[0]->file_description).'" alt="'.$this->escape(@$product->images[0]->file_name).'" src="'.$img->url.'" style="float:left; margin-right:3px;" />';
}
And it still doesnt work. Tried different browser and cleaned cache....Please take a look into attached image.
Thanks
Please Log in or Create an account to join the conversation.
9 years 2 months ago #275608
by nicolas
Replied by nicolas on topic Main product name in order view
Hi,
In your code, you get the image file_path from that variable:
That variable is not available in the invoice.
You would have to add the code below at the top of the view file :
In your code, you get the image file_path from that variable:
Code:
@$product->images
That variable is not available in the invoice.
You would have to add the code below at the top of the view file :
Code:
$class = hikashop_get('class.order');
$this->order = $class->loadFullOrder($this->order->order_id,true);
The following user(s) said Thank You: kyratn
Please Log in or Create an account to join the conversation.
9 years 2 months ago #275637
by kyratn
Replied by kyratn on topic Main product name in order view
Hi,
I took that part of the code from the cart view.
Added your code and it is working now.
Thank you
I took that part of the code from the cart view.
Added your code and it is working now.
Thank you
Please Log in or Create an account to join the conversation.
Time to create page: 0.107 seconds