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]}