X-Cart: shopping cart software

X-Cart forums (https://forum.x-cart.com/index.php)
-   Changing design (https://forum.x-cart.com/forumdisplay.php?f=51)
-   -   Can't get extra fields to show in other places (https://forum.x-cart.com/showthread.php?t=47812)

Gibson1957 05-29-2009 03:59 AM

Can't get extra fields to show in other places
 
Hi - I'm trying to get an extra field of "Product size" which we've added to show up in the products_t.tpl where we have a list of products, however I can't get it to show.
The code I added in was the bit inbetween the "size field" comment


{foreach from=$row item=product}
{if $product}
<td class="product-cell">
Size will go here
{* ************************ Size Field ************************ *}
{if $active_modules.Extra_Fields}

{foreach from=$extra_fields item=v}
{if $v.active eq "Y" && $v.field_value && $v.field == "Product size"}
TESTING
{$v.field_value}
{/if}
{/foreach}
{/if}
{* ************************************************** ************ *}
<div class="image">
<a href="product.php?productid={$product.productid}&c at={$cat}&page={$navigation_page}">{include file="product_thumbnail.tpl" productid=$product.productid image_x=$product.tmbn_x image_y=$product.tmbn_y product=$product.product tmbn_url=$product.tmbn_url}</a>

etc. etc. ....................................

It's showing "Size will go here" but not "TESTING" which is weird - I'm guessing it's not showing the size because maybe it doesn't have the product ID at that point to cross-reference in the "extra fields" list to get that value (need help with this) but interestingly it isn't showing the word "TESTING" either which suggests it isn't looping through the extra fields at all.......

Can anyone give me a hand with this?

gb2world 05-30-2009 10:25 AM

Re: Can't get extra fields to show in other places
 
To debug - you can print out the values of $v.active, $v.field_value and $v.field before you go into the if statement. You can see if they are as you expect.

Also, note there is a difference between $v.value and $v.field_value

You can use this tip to always see the variable values, to make sure they are what you think.

Gibson1957 06-04-2009 01:57 AM

Re: Can't get extra fields to show in other places
 
Thanks for that - using it as a guide I managed to work out what was wrong.....
I think a lot of it was to do with the difference between the $v.value and $v.field_value thing........

moomal 07-23-2009 01:15 PM

Re: Can't get extra fields to show in other places
 
Do you mind sharing the code you eventually used to get this to work? I'm using 4.2 and just cannot get extra fields to show up on products_t.tpl.

Gibson1957 07-23-2009 11:56 PM

Re: Can't get extra fields to show in other places
 
{foreach from=$product.extra_fields item=v}
{if $v.active eq "Y" && $v.value ne "" && $v.field eq "*** Whatever your field is called ***"}
<span class="*** Whatever you want (style sheet) ***">{$v.value}</span>
{/if}
{/foreach}

For example your product field may be called "Size" etc. etc. - this code goes in the

{foreach from=$row item=product}
{if $product}

loop.

Hope that helps. Obviously if you're showing all the extra fields, you would omit the part that says '&& $v.field eq " blah blah " ' to show all of them.

moomal 07-24-2009 09:44 AM

Re: Can't get extra fields to show in other places
 
Sorry to keep bothering you, but I still can't get it to work - did you have to edit products.php or any other PHP files to get extra fields to work on your products_t.tpl? If yes, do you remember what changes you made?

proboscidian 01-09-2010 09:02 AM

Re: Can't get extra fields to show in other places
 
To get it to work, you need to enclose it in the {foreach from=$row item=product}
{if $product} loop. Here's what I have in products_t.tpl to show any extra field that has a value:
Code:

<tr{interline name=products_matrix}>
        {foreach from=$row item=product name=products}
          {if $product}
            <td{interline name=products additional_class="product-cell"} style="width: {$cell_width}%;">
{foreach from=$product.extra_fields item=v}
{if $v.active eq "Y" && $v.value ne ""}
<span class="">{$v.field}: {$v.value}</span><br />
{/if}
{/foreach}
  </td>
          {/if}
        {/foreach}
      </tr>

You don't need to make any changes in the php files. I did this in 4.3. There may be some unnecessary things in there; I just copied the loop from another loop (for product name) so there may be some bits that only belong there, but it does work.

TheWrongGrape 05-12-2010 05:05 PM

Re: Can't get extra fields to show in other places
 
Quote:

Originally Posted by proboscidian
You don't need to make any changes in the php files. I did this in 4.3. There may be some unnecessary things in there; I just copied the loop from another loop (for product name) so there may be some bits that only belong there, but it does work.


Been trying to get extra fields to show up in my products list (products_list.tpl) in 4.3.1 with no luck. Tried your suggestion but nothing happens. The search continues.


Edit: Got it working now: http://forum.x-cart.com/showpost.php?p=287479&postcount=10

RedandBlue 10-21-2010 07:25 AM

Re: Can't get extra fields to show in other places
 
trying same for 4.3.2
no use

obaluba2 08-22-2011 01:53 PM

Re: Can't get extra fields to show in other places
 
did anyone get this working with 4.3.2?


All times are GMT -8. The time now is 09:14 PM.

Powered by vBulletin Version 3.5.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.