Собственно, всё оказалось проще некуда - сам спросил и сам ответил. За время звучания трёх композиций Neo Inferno 262 макрос был внедрён, благо совсем простой.
Это пишем в /classes/modules/custom.php
public function list_position_string_add($posnumber, $string, $padlength, $position) {
if($position == 'right') {
$stringadd = str_pad($posnumber, $padlength, $string);
} elseif($position == 'left') {
$stringadd = str_pad($posnumber, $padlength, $string, STR_PAD_LEFT);
} else {
$stringadd = str_pad($posnumber, $padlength, $string, STR_PAD_BOTH);
}
return $stringadd;
}
---------------------------------------------------------------------------------------------------------------------------------------------
Вызываем так:
%custom list_position_string_add('%list-position%', <чем дополняем>, <количество регистров>, <позиция>)%
---------------------------------------------------------------------------------------------------------------------------------------------
Вызов
%custom list_position_string_add('%list-position%', 0, 3, left)%
переформатирует ваш вывод 1 2 3 4 ... 22 23 24 ... 123 124 125 и т.д. как 001 002 003 004 ... 022 023 024 ... 123 124 125 - т.е добавит слева ко всем числам, имеющим в своём составе меньше трёх знаков, нули с тем условием, чтобы количество цифр в числах стало равным трём. А вызов
%custom list_position_string_add('%list-position%', Q, 2, right)%
превратит вывод в 1Q 2Q 3Q 4Q ... 22 23 24 ... 123 124 125 - т.е. добавит справа ко всем числам, имеющим в своём составе меньше двух цифр, букву Q с тем условием, чтобы количество знаков в выводе стало равным двум.
Также можно добавить знак (и не один - но считаться всё равно будет общее количество знаков) с двух сторон от желаемого вывода - для этого просто нужно опустить значение позиции при вызове - но тогда стоит не забывать, считается именно количество знаков в выводе и для получения вариантов типа Q1Q Q2Q Q3Q Q4Q Q5Q запрос выглядит, как
%custom list_position_string_add('%list-position%', Q, 3)%
, а для двузначных чисел вывод уже будет 11Q 12Q 13Q и т.д., потому как добавление идёт по умолчанию вначале справа.
---------------------------------------------------------------------------------------------------------------------------------------------
И есть обоснованное подозрение, что если в вызове заменить подмакрос %list-position% на любой другой - например, %price%, то это тоже будет работать - теоретически, должно работать с любыми строковыми и численными выводами вообще.
P.S. Да, для тех, кто любит плохо читаемый, но короткий код, в custom.php можно написать:
public function list_position_string_add($posnumber, $string, $padlength, $position) {
return $stringadd = ($position == 'right') ? str_pad($posnumber, $padlength, $string) : ($position == 'left') ? str_pad($posnumber, $padlength, $string, STR_PAD_LEFT) : str_pad($posnumber, $padlength, $string, STR_PAD_BOTH);
}