Zen Cart Logo
Forums / General Questions / Product Listing Custom Fields

Product Listing Custom Fields

Views: 1,069

Results 1 to 17 of 17
11 Feb 2016, 6:00 PM
#1
chadlly2003 avatar

chadlly2003

Totally Zenned

Join Date:
Jan 2015
Posts:
787
Plugin Contributions:
0

Product Listing Custom Fields

I am using zencart v1.5.4.

I have created a custom field in my database called (upc) within the products table. I need this to show this field on my product listing page but I am stuck on how to get it to display. If someone could assist me or lead me in the right direction i would appreciate it.

11 Feb 2016, 6:41 PM
#2
mesnitu avatar

mesnitu

Totally Zenned

Join Date:
Aug 2014
Location:
Lisbon
Posts:
597
Plugin Contributions:
0

Re: Product Listing Custom Fields

“Though the problems of the world are increasingly complex, the solutions remain embarrassingly simple.” ― Bill Mollison

11 Feb 2016, 6:44 PM
#3
mesnitu avatar

mesnitu

Totally Zenned

Join Date:
Aug 2014
Location:
Lisbon
Posts:
597
Plugin Contributions:
0

Re: Product Listing Custom Fields

Ups, sorry. it doesn't display either.

“Though the problems of the world are increasingly complex, the solutions remain embarrassingly simple.” ― Bill Mollison

11 Feb 2016, 6:57 PM
#4
chadlly2003 avatar

chadlly2003

Totally Zenned

Join Date:
Jan 2015
Posts:
787
Plugin Contributions:
0

Re: Product Listing Custom Fields

I actually got it by adjusting the default_filter.php and the product listing.php from a previous posting.

The only thing now is if there is nothing in the database how do i hide the span from displaying.

This is my code
<span><strong>UPC:</strong> '. $listing->fields['upc'] . '' . '</span><br />

11 Feb 2016, 7:07 PM
#5
mesnitu avatar

mesnitu

Totally Zenned

Join Date:
Aug 2014
Location:
Lisbon
Posts:
597
Plugin Contributions:
0

Re: Product Listing Custom Fields

Something like

if ($listing->fields['upc']!='') {
echo '<span><strong>UPC:</strong> '. $listing->fields['upc'] . '' . '</span><br />';
}

“Though the problems of the world are increasingly complex, the solutions remain embarrassingly simple.” ― Bill Mollison

11 Feb 2016, 7:27 PM
#6
chadlly2003 avatar

chadlly2003

Totally Zenned

Join Date:
Jan 2015
Posts:
787
Plugin Contributions:
0

Re: Product Listing Custom Fields

hmm that does not seem to work on the product listing page. Any other ideas

11 Feb 2016, 7:46 PM
#7
mesnitu avatar

mesnitu

Totally Zenned

Join Date:
Aug 2014
Location:
Lisbon
Posts:
597
Plugin Contributions:
0

Re: Product Listing Custom Fields

well, one example from that file is

 if ($listing->fields['products_qty_box_status'] == 0) {
              $lc_button = '<a href="' . zen_href_link($_GET['main_page'], zen_get_all_get_params(array('action')) . 'action=buy_now&products_id=' . $listing->fields['products_id']) . '">' . zen_image_button(BUTTON_IMAGE_BUY_NOW, BUTTON_BUY_NOW_ALT, 'class="listingBuyNowButton"') . '</a>';
            } else {
              $lc_button = TEXT_PRODUCT_LISTING_MULTIPLE_ADD_TO_CART . "<input type=\"text\" name=\"products_id[" . $listing->fields['products_id'] . "]\" value=\"0\" size=\"4\" />";
            }

If you can see the field with the right values no matter what, the only thing you need is a IF condition.
Anyway, just pointing some direction...

“Though the problems of the world are increasingly complex, the solutions remain embarrassingly simple.” ― Bill Mollison

11 Feb 2016, 7:49 PM
#8
chadlly2003 avatar

chadlly2003

Totally Zenned

Join Date:
Jan 2015
Posts:
787
Plugin Contributions:
0

Re: Product Listing Custom Fields

this is my current code whwere i am trying to put it

	<div class="listingDescription">' . zen_trunc_string(zen_clean_html(stripslashes(zen_get_products_description($listing->fields['products_id'], $_SESSION['languages_id']))), PRODUCT_LIST_DESCRIPTION) . '<br /><br />' . '<strong>Model: </strong>' . $listing->fields['products_model'] . '' . '</span><br /> 
	
	                 
			 
			 
			 
			 

			 
			 
			 
					
					<span><strong>UPC:</strong> '. $listing->fields['upc'] . '' . '</span><br />
  
					

					<span><strong>Manufacturer:</strong> '. $listing->fields['manufacturers_name'] . '' . '</span><br />

					<span> <span style="color:#1a3c8a;"><strong>In Stock</strong></span></span><br />

					<span class="freesh"><span style="color:#209b50;"><strong>Free Shipping</strong></span> on orders over $250</span><br /><br />

' . '</div>';

where the <span><strong>UPC:</strong> '. $listing->fields['upc'] . '' . '</span><br /> it wont let me put the if statement it says there is an error

11 Feb 2016, 8:16 PM
#9
mesnitu avatar

mesnitu

Totally Zenned

Join Date:
Aug 2014
Location:
Lisbon
Posts:
597
Plugin Contributions:
0

Re: Product Listing Custom Fields

So something like that ?
I don't know where that echo starts in your code. But see if you understand it:

echo '<div class="listingDescription">' . zen_trunc_string(zen_clean_html(stripslashes(zen_get_products_description($listing->fields['products_id'], $_SESSION['languages_id']))), PRODUCT_LIST_DESCRIPTION) . '<br /><br />' . '<strong>Model: </strong>' . $listing->fields['products_model'] . '' . '</span><br /> '; // [B]YOU CLOSE [/B]

if ($listing->fields['upc']!='') { 
echo '<span><strong>UPC:</strong> '. $listing->fields['upc'] . '' . '</span><br />';
}

// [B]YOU ECHO AGAIN[/B]
echo '<span><strong>Manufacturer:</strong> '. $listing->fields['manufacturers_name'] . '' . '</span><br />
<span> <span style="color:#1a3c8a;"><strong>In Stock</strong></span></span><br />
<span class="freesh"><span style="color:#209b50;"><strong>Free Shipping</strong></span> on orders over $250</span><br /><br />
' . '</div>';

Hope it helps

“Though the problems of the world are increasingly complex, the solutions remain embarrassingly simple.” ― Bill Mollison

11 Feb 2016, 8:21 PM
#10
chadlly2003 avatar

chadlly2003

Totally Zenned

Join Date:
Jan 2015
Posts:
787
Plugin Contributions:
0

Re: Product Listing Custom Fields

I think I am misunderstanding this. Sorry to be such a pain. Hwere is tmy product_listing.php file

<?php /** * product_listing module * * @package modules * @copyright Copyright 2003-2011 Zen Cart Development Team * @copyright Portions Copyright 2003 osCommerce * @license <http://www.zen-cart.com/license/2_0.txt> GNU Public License V2.0 * @version $Id: product_listing.php 18695 2011-05-04 05:24:19Z drbyte $ */ if (!defined('IS_ADMIN_FLAG')) { die('Illegal Access'); } $show_submit = zen_run_normal(); $listing_split = new splitPageResults($listing_sql, MAX_DISPLAY_PRODUCTS_LISTING, 'p.products_id', 'page'); $zco_notifier->notify('NOTIFY_MODULE_PRODUCT_LISTING_RESULTCOUNT', $listing_split->number_of_rows); $how_many = 0; $list_box_contents[0] = array('params' => 'class="productListing-rowheading"'); $zc_col_count_description = 0; $lc_align = ''; for ($col=0, $n=sizeof($column_list); $col<$n; $col++) { switch ($column_list[$col]) { case 'PRODUCT_LIST_MODEL': $lc_text = TABLE_HEADING_MODEL; $lc_align = ''; $zc_col_count_description++; break; case 'PRODUCT_LIST_NAME': $lc_text = TABLE_HEADING_PRODUCTS; $lc_align = ''; $zc_col_count_description++; break; case 'PRODUCT_LIST_MANUFACTURER': $lc_text = TABLE_HEADING_MANUFACTURER; $lc_align = ''; $zc_col_count_description++; break; case 'PRODUCT_LIST_PRICE': $lc_text = TABLE_HEADING_PRICE; $lc_align = 'right' . (PRODUCTS_LIST_PRICE_WIDTH > 0 ? '" width="' . PRODUCTS_LIST_PRICE_WIDTH : ''); $zc_col_count_description++; break; case 'PRODUCT_LIST_QUANTITY': $lc_text = TABLE_HEADING_QUANTITY; $lc_align = 'right'; $zc_col_count_description++; break; case 'PRODUCT_LIST_WEIGHT': $lc_text = TABLE_HEADING_WEIGHT; $lc_align = 'right'; $zc_col_count_description++; break; case 'PRODUCT_LIST_IMAGE': $lc_text = TABLE_HEADING_IMAGE; $lc_align = 'center'; $zc_col_count_description++; break; } if ( ($column_list[$col] != 'PRODUCT_LIST_IMAGE') ) { $lc_text = zen_create_sort_heading($_GET['sort'], $col+1, $lc_text); } $list_box_contents[0][$col] = array('align' => $lc_align, 'params' => 'class="productListing-heading"', 'text' => $lc_text ); } if ($listing_split->number_of_rows > 0) { $rows = 0; $listing = $db->Execute($listing_split->sql_query); $extra_row = 0; while (!$listing->EOF) { $rows++; if ((($rows-$extra_row)/2) == floor(($rows-$extra_row)/2)) { $list_box_contents[$rows] = array('params' => 'class="productListing-even"'); } else { $list_box_contents[$rows] = array('params' => 'class="productListing-odd"'); } $cur_row = sizeof($list_box_contents) - 1; for ($col=0, $n=sizeof($column_list); $col<$n; $col++) { $lc_align = ''; switch ($column_list[$col]) { case 'PRODUCT_LIST_MODEL': $lc_align = ''; $lc_text = $listing->fields['products_model']; break; case 'PRODUCT_LIST_NAME': $lc_align = ''; $lc_text = '<h5 class="itemTitle"><a href="' . zen_href_link(zen_get_info_page($listing->fields['products_id']), 'cPath=' . (($_GET['manufacturers_id'] > 0 and $_GET['filter_id'] > 0) ? zen_get_generated_category_path_rev($_GET['filter_id']) : ($_GET['cPath'] > 0 ? zen_get_generated_category_path_rev($_GET['cPath']) : zen_get_generated_category_path_rev($listing->fields['master_categories_id']))) . '&products_id=' . $listing->fields['products_id']) . '">' . $listing->fields['products_name'] . '</a><div class="star_container ' . $listing->fields['products_id'] . '"></div></h5> <div class="listingDescription">' . zen_trunc_string(zen_clean_html(stripslashes(zen_get_products_description($listing->fields['products_id'], $_SESSION['languages_id']))), PRODUCT_LIST_DESCRIPTION) . '<br /><br />' . '<strong>Model: </strong>' . $listing->fields['products_model'] . '' . '</span><br /> <span><strong>UPC:</strong> '. $listing->fields['upc'] . '' . '</span><br /> <span><strong>Manufacturer:</strong> '. $listing->fields['manufacturers_name'] . '' . '</span><br /> <span> <span style="color:#1a3c8a;"><strong>In Stock</strong></span></span><br /> <span class="freesh"><span style="color:#209b50;"><strong>Free Shipping</strong></span> on orders over $250</span><br /><br /> ' . '</div>'; break; case 'PRODUCT_LIST_MANUFACTURER': $lc_align = ''; $lc_text = '<a href="' . zen_href_link(FILENAME_DEFAULT, 'manufacturers_id=' . $listing->fields['manufacturers_id']) . '">' . $listing->fields['manufacturers_name'] . '</a>'; break; case 'PRODUCT_LIST_PRICE': $lc_price = zen_get_products_display_price($listing->fields['products_id']) . '<br />'; $lc_price .= zcdPrintPCL($listing->fields['products_id']); $lc_align = 'right'; $lc_text = $lc_price; // more info in place of buy now $lc_button = ''; if (zen_has_product_attributes($listing->fields['products_id']) or PRODUCT_LIST_PRICE_BUY_NOW == '0') { $lc_button = '<a href="' . zen_href_link(zen_get_info_page($listing->fields['products_id']), 'cPath=' . (($_GET['manufacturers_id'] > 0 and $_GET['filter_id']) > 0 ? zen_get_generated_category_path_rev($_GET['filter_id']) : ($_GET['cPath'] > 0 ? $_GET['cPath'] : zen_get_generated_category_path_rev($listing->fields['master_categories_id']))) . '&products_id=' . $listing->fields['products_id']) . '">' . MORE_INFO_TEXT . '</a>'; } else { if (PRODUCT_LISTING_MULTIPLE_ADD_TO_CART != 0) { if ( // not a hide qty box product $listing->fields['products_qty_box_status'] != 0 && // product type can be added to cart zen_get_products_allow_add_to_cart($listing->fields['products_id']) != 'N' && // product is not call for price $listing->fields['product_is_call'] == 0 && // product is in stock or customers may add it to cart anyway ($listing->fields['products_quantity'] > 0 || SHOW_PRODUCTS_SOLD_OUT_IMAGE == 0) ) { $how_many++; } // hide quantity box if ($listing->fields['products_qty_box_status'] == 0) { $lc_button = '<a href="' . zen_href_link($_GET['main_page'], zen_get_all_get_params(array('action')) . 'action=buy_now&products_id=' . $listing->fields['products_id']) . '">' . zen_image_button(BUTTON_IMAGE_BUY_NOW, BUTTON_BUY_NOW_ALT, 'class="listingBuyNowButton"') . '</a>'; } else { $lc_button = TEXT_PRODUCT_LISTING_MULTIPLE_ADD_TO_CART . "<input type=\"text\" name=\"products_id[" . $listing->fields['products_id'] . "]\" value=\"0\" size=\"4\" />"; } } else { // qty box with add to cart button if (PRODUCT_LIST_PRICE_BUY_NOW == '2' && $listing->fields['products_qty_box_status'] != 0) { $lc_button= zen_draw_form('cart_quantity', zen_href_link($_GET['main_page'], zen_get_all_get_params(array('action')) . 'action=add_product&products_id=' . $listing->fields['products_id']), 'post', 'enctype="multipart/form-data"') . '<input class="cart_quantity" type="text" name="cart_quantity" value="' . (zen_get_buy_now_qty($listing->fields['products_id'])) . '" maxlength="6" size="4" />' . zen_draw_hidden_field('products_id', $listing->fields['products_id']) . zen_image_submit(BUTTON_IMAGE_IN_CART, BUTTON_IN_CART_ALT) . '</form>'; } else { $lc_button = '<a href="' . zen_href_link($_GET['main_page'], zen_get_all_get_params(array('action')) . 'action=buy_now&products_id=' . $listing->fields['products_id']) . '">' . zen_image_button(BUTTON_IMAGE_BUY_NOW, BUTTON_BUY_NOW_ALT, 'class="listingBuyNowButton"') . '</a>'; } } } $the_button = $lc_button; $products_link = '<a href="' . zen_href_link(zen_get_info_page($listing->fields['products_id']), 'cPath=' . ( ($_GET['manufacturers_id'] > 0 and $_GET['filter_id']) > 0 ? zen_get_generated_category_path_rev($_GET['filter_id']) : $_GET['cPath'] > 0 ? zen_get_generated_category_path_rev($_GET['cPath']) : zen_get_generated_category_path_rev($listing->fields['master_categories_id'])) . '&products_id=' . $listing->fields['products_id']) . '">' . MORE_INFO_TEXT . '</a>'; $lc_text .= '<br />' . zen_get_buy_now_button($listing->fields['products_id'], $the_button, $products_link) . ' ' . zen_get_products_quantity_min_units_display($listing->fields['products_id']); $lc_text .= '<br />' . (zen_get_show_product_switch($listing->fields['products_id'], 'ALWAYS_FREE_SHIPPING_IMAGE_SWITCH') ? (zen_get_product_is_always_free_shipping($listing->fields['products_id']) ? TEXT_PRODUCT_FREE_SHIPPING_ICON . '<br />' : '') : ''); break; case 'PRODUCT_LIST_QUANTITY': $lc_align = 'right'; $lc_text = $listing->fields['products_quantity']; break; case 'PRODUCT_LIST_WEIGHT': $lc_align = 'right'; $lc_text = $listing->fields['products_weight']; break; case 'PRODUCT_LIST_IMAGE': $lc_align = 'center'; if ($listing->fields['products_image'] == '' and PRODUCTS_IMAGE_NO_IMAGE_STATUS == 0) { $lc_text = ''; } else { if (isset($_GET['manufacturers_id'])) { $lc_text = '<a href="' . zen_href_link(zen_get_info_page($listing->fields['products_id']), 'cPath=' . (($_GET['manufacturers_id'] > 0 and $_GET['filter_id']) > 0 ? zen_get_generated_category_path_rev($_GET['filter_id']) : ($_GET['cPath'] > 0 ? zen_get_generated_category_path_rev($_GET['cPath']) : zen_get_generated_category_path_rev($listing->fields['master_categories_id']))) . '&products_id=' . $listing->fields['products_id']) . '">' . zen_image(DIR_WS_IMAGES . $listing->fields['products_image'], $listing->fields['products_name'], IMAGE_PRODUCT_LISTING_WIDTH, IMAGE_PRODUCT_LISTING_HEIGHT, 'class="listingProductImage"') . '</a>'; } else { $lc_text = '<a href="' . zen_href_link(zen_get_info_page($listing->fields['products_id']), 'cPath=' . (($_GET['manufacturers_id'] > 0 and $_GET['filter_id']) > 0 ? zen_get_generated_category_path_rev($_GET['filter_id']) : ($_GET['cPath'] > 0 ? zen_get_generated_category_path_rev($_GET['cPath']) : zen_get_generated_category_path_rev($listing->fields['master_categories_id']))) . '&products_id=' . $listing->fields['products_id']) . '">' . zen_image(DIR_WS_IMAGES . $listing->fields['products_image'], $listing->fields['products_name'], IMAGE_PRODUCT_LISTING_WIDTH, IMAGE_PRODUCT_LISTING_HEIGHT, 'class="listingProductImage"') . '</a>'; } } break; } $list_box_contents[$rows][$col] = array('align' => $lc_align, 'params' => 'class="productListing-data"', 'text' => $lc_text); } // add description and match alternating colors //if (PRODUCT_LIST_DESCRIPTION > 0) { // $rows++; // if ($extra_row == 1) { // $list_box_description = "productListing-data-description-even"; // $extra_row=0; // } else { // $list_box_description = "productListing-data-description-odd"; // $extra_row=1; // } // $list_box_contents[$rows][] = array('params' => 'class="' . $list_box_description . '" colspan="' . $zc_col_count_description . '"', // 'text' => zen_trunc_string(zen_clean_html(stripslashes(zen_get_products_description($listing->fields['products_id'], $_SESSION['languages_id']))), PRODUCT_LIST_DESCRIPTION)); //} $listing->MoveNext(); } $error_categories = false; } else { $list_box_contents = array(); $list_box_contents[0] = array('params' => 'class="productListing-odd"'); $list_box_contents[0][] = array('params' => 'class="productListing-data"', 'text' => TEXT_NO_PRODUCTS); $error_categories = true; } if (($how_many > 0 and $show_submit == true and $listing_split->number_of_rows > 0) and (PRODUCT_LISTING_MULTIPLE_ADD_TO_CART == 1 or PRODUCT_LISTING_MULTIPLE_ADD_TO_CART == 3) ) { $show_top_submit_button = true; } else { $show_top_submit_button = false; } if (($how_many > 0 and $show_submit == true and $listing_split->number_of_rows > 0) and (PRODUCT_LISTING_MULTIPLE_ADD_TO_CART >= 2) ) { $show_bottom_submit_button = true; } else { $show_bottom_submit_button = false; }
11 Feb 2016, 8:35 PM
#11
mesnitu avatar

mesnitu

Totally Zenned

Join Date:
Aug 2014
Location:
Lisbon
Posts:
597
Plugin Contributions:
0

Re: Product Listing Custom Fields

See if this helps

$lc_align = '';

$lc_text = '<h5 class="itemTitle"><a href="' . zen_href_link(zen_get_info_page($listing->fields['products_id']), 'cPath=' . (($_GET['manufacturers_id'] > 0 and $_GET['filter_id'] > 0) ? zen_get_generated_category_path_rev($_GET['filter_id']) : ($_GET['cPath'] > 0 ? zen_get_generated_category_path_rev($_GET['cPath']) : zen_get_generated_category_path_rev($listing->fields['master_categories_id']))) . '&products_id=' . $listing->fields['products_id']) . '">' . $listing->fields['products_name'] . '</a><div class="star_container ' . $listing->fields['products_id'] . '"></div></h5>
<div class="listingDescription">' . zen_trunc_string(zen_clean_html(stripslashes(zen_get_products_description($listing->fields['products_id'], $_SESSION['languages_id']))), PRODUCT_LIST_DESCRIPTION) . '<br /><br />' . '<strong>Model: </strong>' . $listing->fields['products_model'] . '' . '</span><br />';

if ($listing->fields['upc']!='') { 
    $lc_text .= '<span><strong>UPC:</strong> '. $listing->fields['upc'] . '' . '</span><br />';
}

$lc_text .='<span><strong>Manufacturer:</strong> '. $listing->fields['manufacturers_name'] . '' . '</span><br />
<span> <span style="color:#1a3c8a;"><strong>In Stock</strong></span></span><br />
<span class="freesh"><span style="color:#209b50;"><strong>Free Shipping</strong></span> on orders over $250</span><br /><br />
' . '</div>';

break;

“Though the problems of the world are increasingly complex, the solutions remain embarrassingly simple.” ― Bill Mollison

11 Feb 2016, 8:41 PM
#12
chadlly2003 avatar

chadlly2003

Totally Zenned

Join Date:
Jan 2015
Posts:
787
Plugin Contributions:
0

Re: Product Listing Custom Fields

that worked. Thank you so much for the quick response. Zencart is the best

11 Feb 2016, 8:54 PM
#13
mesnitu avatar

mesnitu

Totally Zenned

Join Date:
Aug 2014
Location:
Lisbon
Posts:
597
Plugin Contributions:
0

Re: Product Listing Custom Fields

Nice. :smile:

In that file and others, you'll see and have to add stuff like this.
$whatever =''; // it's empty
$whatever .= 'Not anymore';
In this case
$lc_text already had some stuff. So you add it with
$lc_text** .= ''**

“Though the problems of the world are increasingly complex, the solutions remain embarrassingly simple.” ― Bill Mollison

11 Feb 2016, 10:09 PM
#14
chadlly2003 avatar

chadlly2003

Totally Zenned

Join Date:
Jan 2015
Posts:
787
Plugin Contributions:
0

Re: Product Listing Custom Fields

Just one thing i noticed. If I do a search my upc does not display on the product listing. If I select a category and do it that way it does display. I guess my question is how do i get my the custom variable (upc) to display on the product listing when i do a search?

11 Feb 2016, 10:48 PM
#15
mc12345678 avatar

mc12345678

Totally Zenned

Join Date:
Jul 2012
Posts:
16,908
Plugin Contributions:
2

Re: Product Listing Custom Fields

Each location of display basically has it's own template file. That template file reaches out to specific/particular other files... To add display of that information, will need to "breakdown" the areas where it is to be displayed and work into the code to add it much like was done. Not everything is expected to be displayed everywhere (example when looking at a category list, the full description doesn't typically display, just the "teaser". This is a variation of the full product listing.)

ZC Installation/Maintenance Support <- Site
Contribution for contributions welcome...

12 Feb 2016, 11:06 AM
#16
mc12345678 avatar

mc12345678

Totally Zenned

Join Date:
Jul 2012
Posts:
16,908
Plugin Contributions:
2

Re: Product Listing Custom Fields

@mesnitu,

Fyi, there is a goal "afoot" to not echo html code, which is different then how the above works in building a string that includes html. In regards to this, instead of:

echo "<b>" . $this_var . "</b>";

It should be something like:

?>
<b><?php echo $this_var; ?><b><?php

Assuming that before this snippet was addtional php code. If html was being displayed just before this snippet, then the first ?> Would be unnecessary (and end up on the output). The final transition back to php would only be necessary if the next content was in fact php code and not further html... If the code that follows is more html, then the last <?php could/should be removed...

This is a standard for new code and as ZC files are modified they may be transitioned to this standard. Wholesale modifications are not being made to ensure the upgrade process is easiest.

I provided this because I know you are working on other code and trying to make it ZC "standard" and this message relates to the suggestions in this thread.

ZC Installation/Maintenance Support <- Site
Contribution for contributions welcome...

12 Feb 2016, 11:51 AM
#17
mesnitu avatar

mesnitu

Totally Zenned

Join Date:
Aug 2014
Location:
Lisbon
Posts:
597
Plugin Contributions:
0

Re: Product Listing Custom Fields

Thanks ! I'll keep that in mind.

“Though the problems of the world are increasingly complex, the solutions remain embarrassingly simple.” ― Bill Mollison