parseChunk

Функция для вызова чанка с заменой плейсхолдеров на значения

Важно: при использовании метода обязательно уделяйте внимание параметрам $prefix и $sufix, так как их значения по умолчанию являются нестандартными.

Важно: этот метод не работает при вызове из подключенного файла (include, include_once, require, require_once)

string parseChunk(string $chunkName, array $chunkArr[, string $prefix[, string $suffix]]);

$chunkName - название чанка (чувствительно к регистру!)

$chunkArr - массив со значениями плейсхолдеров

$prefix - значение начала плейсхолдера. Обычно используется '[+', по умолчанию: {

$suffix - значение завершения плейсхолдера. Обычно используется '+]', по умолчанию: }

Пример:

Вызов:

echo $modx->parseChunk(
    'test_chunk',
    array(
        'uname'=>'Иван',
        'balance'=>'0.23'
    ),
    $prefix = '[+',
    $suffix = '+]'
);

Чанк test_chunk:

Привет, [+uname+]!<BR>
У вас на счету [+balance+] руб.

Результат:

Привет, Иван!
У вас на счету 0.23 руб.

Исходный код функции

    /**
     * parseChunk
     * @version 1.1 (2013-10-17)
     *
     * @desc Replaces placeholders in a chunk with required values.
     *
     * @param $chunkName {string} - Name of chunk to parse. @required
     * @param $chunkArr {array} - Array of values. Key — placeholder name, value — value. @required
     * @param string $prefix {string}
     * - Placeholders prefix. Default: '{'.
     * @param string $suffix {string}
     * - Placeholders suffix. Default: '}'.
     * @return bool|mixed|string {string; false} - Parsed chunk or false if $chunkArr is not array.
     * - Parsed chunk or false if $chunkArr is not array.
     */
    public function parseChunk($chunkName, $chunkArr, $prefix = '{', $suffix = '}')
    {
        //TODO: Wouldn't it be more practical to return the contents of a chunk instead of false?
        if (!is_array($chunkArr)) {
            return false;
        }

        return $this->parseText($this->getChunk($chunkName), $chunkArr, $prefix, $suffix);
    }   
Mem: 3.75 mb, MySQL: 0.0028 s, 2 req., PHP: 0.0526 s, all: 0.0554 s, cache.