Like Category Mapping, Product Mapping enables you to create a single master product name to be used in place of any number of alternative names that might be found in different feeds. This feature is only really recommended for small, niche sites where the number of products that require mapping is manageable. In addition to being used to used to map products, this featured also enables you to override (or provide your own) custom description, category, brand and image values for mapped products.
Creating a new Product Mapping
A Product Search form is displayed alongside the Alternatives box when configuring a Product Mapping. Enter keyword(s) and click Search to locate matching products. You can then click the « button alongside the search box to add the current search term as a keyword match, and this will apply the mapping to all results shown in the results list.
Alternatively, if the results are too broad, you can select one or more products from the results and click the « button alongside the results list to add the selected products as an exact match. You can also double-click a single item to add that result as an exact match.
Product Meta Data
The Product Mapping interface can also be used to manage arbitrary custom meta data on a per-product basis that would ordinarily need to be provided manually, i.e. not contained within fields available in your feeds*.
To add a custom meta data field, create, edit or add entries to a new $config_productMeta advanced configuration variable array in config.advanced.php. For example, if creating a niche site for laptops and you wish to create a meta data field "screen" for screen size, you would add:
$config_productMeta["screen"] = "Screen Size";
A text box for entry of the custom value will then be displayed on the configuration page for a product mapping entry. For display purposes, meta data values can be retrieved through the tapestry_productMeta() function. For example, as required in html/product.php:
<p><strong>Screen Size:</strong><?php print tapestry_productMeta($product_main["name"],"screen"); ?></p>
Alternatively, if the meta data field may only be available for some products, it can be displayed conditionally, for example:
<?php $screen = tapestry_productMeta($product_main["name"],"screen"); ?>
<?php if ($screen): ?>
<p><strong>Screen Size:</strong> <?php print $screen; ?></p>
<?php endif; ?>
Note: if using Product Mapping solely for the purposes of managing meta data, the Alternatives box may be left empty.
*where meta data not included in the standard field set is available in your feeds, it would normally be more appropriate to add custom fields as documented here