Задача найти совпадения в названии с переменной в шаблоне smarty. Совпадение может быть найдено в любом месте фразы. Если результат положительный выводим значение переменной. То есть названия Серый сопоставимо со Светло-серая сетка и будут иметь значение сер.
Для решения задачи используем PHP функцию preg_match:
{*
// $string - массив значений для сопоставления
// $name - ваше название, например Светло-серая сетка
// $c - значение переменной при совпадении
*}
{$string = ['сер', 'кра', 'бор', 'чер', 'беж', 'син', 'сал', 'жел', 'кор', 'бел', 'ора','зол']}
{$c = 0}
{foreach $string as $color}
{if preg_match("/`$color`/i", $name|lower)}
{$c = $color}
{/if}
{/foreach}
<div{if !empty($c)} data-color="{$c}"{/if}>
......
</div>

