как получить метку selectbox в PHP по его значению - Typo3 - PullRequest
1 голос
/ 10 февраля 2012

Thesebox в бэкенде Typo3 одного из моих плагинов. Значения параметров: 0,1,2,3 ... Имя параметра или сама метка содержит текст: foo, bar, что угодно, ...

Теперь в БД сохраняется значение. Но мне нужно показать ярлык или имя. Расширение, плагин настроено с помощью Kickstarter, или я также могу изменить что-то самостоятельно в файлах, если необходимо.

Я знаю, что можно изменить значение с 0-x на его метку. Но мне это не нравится, и я просто сделаю это, если нет способа получить ярлык, имя.

Кто-то знает, как получить их, основываясь на значении опции или ее возможной возможности?

вот мой php - $ v ['category'] равен 0,1,2,3 ... из поля выбора:

    $res = $GLOBALS['TYPO3_DB']->exec_SELECTquery(
        '*', 
        'sometable',
        '',
        '',
        'title ASC',
        ''
    );
    while($row = $GLOBALS['TYPO3_DB']->sql_fetch_assoc($res)) {
        $projects[] = $row;
    }

    $content = '<div class="projectlist">';
    foreach ($projects as $k => $v) {
        $content.= '<div class="project-single">';
        $content.= $v['title'].' | '.$v['category'];
        $content.= '</div>';
    }
    $content.= '</div>';

Ответы [ 2 ]

2 голосов
/ 10 февраля 2012

Поскольку $v['category'] содержит идентификатор, вы можете посмотреть значение в вашем locallang.xml:

foreach ($projects as $k => $v) {
        $content.= '<div class="project-single">';
        $content.= $v['title'].' | '.$this->pi_getLL('category_'.$v['category']);
        $content.= '</div>';
    }

Предполагая, что ваш locallang.xml имеет записи:

<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<T3locallang>
    <data type="array">
        <languageKey index="default" type="array">
            <label index="category_1">Category label 1</label>
            <label index="category_2">Category label 2</label>
        </languageKey>
    </data>
</T3locallang>
0 голосов
/ 10 февраля 2012

Извините, но при обработке отправленной формы с помощью php невозможно узнать текст, отображаемый для параметра в поле выбора. Только значение отправлено. Либо сохраните его на стороне сервера перед созданием формы, либо используйте javascript, чтобы отправить его вместе с формой. Мне нужна страница примера или код, чтобы помочь с этой частью ...

...