Skip to content
  1. Extras
  2. idimage
  3. Snippets

Snippets

idImageSimilar

The idImageSimilar snippet only provides the IDs of products that are similar to the current product.

It does not render the product block; it only passes similar product data for you to use.

modx
[[!idImageSimilar]]
[[!msProducts?
    &resources=`[[+idimage.ids]]`
    &sortby=`FIELD(msProduct.id, [[+idimage.ids]])`
    &tpl=`@FILE chunks/catalog/product.row.tpl`
    &parents=`0`
]]

Placeholders

Set when calling idImageSimilar:

idimage.ids — list of product IDs sorted by similarity
idimage.probability — similarity percentages (product id => percentage)

Parameters

NameDefaultDescription
&pid$modx->resource->idProduct ID to get similar images for
&min_scope70Minimum similarity 0–100. Lower values allow more different images
&max_scope100Maximum similarity 100–0 (default 100; 100 means identical to original)
&limit10Number of similar product IDs to return
fenom
# store product IDs in placeholder idimage.ids
{$modx->runSnippet('idImageSimilar', [
  'min_scope' => 65
])}

{var $ids = $modx->getPlaceholder('idimage.ids')}
{if  $ids}
  {$modx->runSnippet('msProducts', [
    'tpl' => '@FILE chunks/catalog/product.row.tpl',
    'resources' => $ids,
    'sortby' => "FIELD(msProduct.id, {$ids})",
    'parents' => 0,
  ])}
{/if}
php
# Similarity percentage
{var $similar= 'idimage.probability' | placeholder}
{var $probability = $similar[$id]}