Вывод содержимого определенного TV-поля (типа content)

includeLibs.something = path/to/file/class.getTVContent.php
lib.tvRightCol = RECORDS
lib.tvRightCol {
    source.cObject = USER
    source.cObject{
        userFunc = user_getTVContent->byCol
        #Конфигурация
        colName = col_right   #Название поля как в DS
        pid = 1               #uid целевой страницы
    }
    tables = tt_content
    conf.tt_content < tt_content
}


class.getTVContent.php

exec_SELECTquery(
            'tx_templavoila_flex',
            'pages',
            'uid='.$pageUid.$GLOBALS['TSFE']->sys_page->enableFields('pages'),
            '',
            'sorting',
            '1'
        );
 
        $row = $GLOBALS['TYPO3_DB']->sql_fetch_assoc($res);
        $tx_templavoila_flex = $row['tx_templavoila_flex'];
 
        $data = t3lib_div::xml2array($tx_templavoila_flex);
        $list = $data['data']['sDEF']['lDEF'][$colName]['vDEF'];
        return $list;
    }
}

3 ответов/а

  1. Константин Станишевский

    А вот за этот кусочек огромное спасибо!

  2. Более корректный вариант:

    function byCol($content,$conf){
    $pageUid = $conf['pid'];
    $colName = $conf['colName'];

    list($row) = $GLOBALS['TYPO3_DB']->exec_SELECTgetRows(
    ‘tx_templavoila_flex’,
    «pages»,
    ‘uid=’ . $pageUid . $GLOBALS['TSFE']->sys_page->enableFields(‘pages’),
    »,
    ’sorting’,
    1
    );

    $tx_templavoila_flex = $row["tx_templavoila_flex"];

    $data = t3lib_div::xml2array($tx_templavoila_flex);
    $list = $data['data']['sDEF']['lDEF'][$colName]['vDEF'];
    return $list;
    }

    Ну, проверки, разумеется, нужны на то, что что–то вернулось…

  3. Спасибо, поправил !

Оставьте отзыв