на первый взгляд вы правы но нет. Если прочитать логику
{if $pricelist_elements[i][4] ne 1} colspan="{if $smarty.const.CONF_DISPLAY_PRCODE eq 1}4 {assign var="test" value="22"} {else}3 {assign var="test" value="`$pricelist_elements[i][0]`"}{/if}" {/if}
то можно понять что присвоение значения 22 не осуществляется, по ссылке можно просмотреть. Вы видите Где то объединение 4 ячеек?
Это значения проглядел когда тестировал все значения и возможно забыл удалить. Но так как тестировщики все проверили и все работает то не хочется у себя на сайте трогать так как работоспособность 100% на ajax корзине.
но по логике можно удалить
{assign var="test" value="22"}
а лучше заменить на
{assign var="test" value=""}
для того что бы убить предыдущие присвоения.
Файл с сайта который был взят с сайта примера. Если на сайте примере все работает то и у вас будет все работать.