Значение одного массива, как ключ другого.

Denix

Новичок
Значение одного массива, как ключ другого.

Такая ситуация:
При сабмите формы регистрации проверяю поля заполненные пользователем и если обнаруживаю ошибки - вывожу их возле каждого соответствующего поля.

Сперва делал это так:
Формировал массив ошибок,

PHP:
add_error("This field can't be empty", "LastName");

function add_error($text, $key = null) {
    global $gErrors;
    global $gTpl;

    if(isset($key))
        $gErrors[$key] = $text;
    else
        $gErrors[] = $text;
    $gTpl->assign_by_ref("ERRORS", $gErrors);
}
а затем по ключам выводил в темплите.

PHP:
{if isset($ERRORS)&&(isset($ERRORS.LastName))}
            <br><span class="error">{$ERRORS.LastName}</span>
{/if}
Все было нормально, пока не стал сайт многоязычным и стала необходимость брать текст из конфиг файлов смарти.

теперь добавляю ошибку так:
PHP:
add_error("const_error_text_1", "LastName");
где "const_error_text_1" - константа из конфиг файла.

Только вот вывести в темплите не могу.
По идее должно быть что-то вроде такого:
PHP:
{$smarty.config.$ERRORS.LastName}
Т.К. $smarty.config.имя_константы_из_конфига

Но такой номер не проходит.

Собственно задача в том чтобы получить значение $ERRORS.LastName
и присобачить к $smarty.config.



подскажите как быть, пожалуйста.
 

white phoenix

Новичок
Честно говоря не знаю, но попробуй {$smarty.config.{$ERRORS.LastName}}, больше ничего на ум не идет.
 

Denix

Новичок
Нет.
Пришлось сводить все к одной переменной.

В моем случае, я ассайню значение $ERRORS.LastName в переменную:
PHP:
{assign var="LastName" value=$ERRORS.LastName}
А потом соответственно использовать как:

PHP:
{$smarty.config.$LastName}
 
Сверху