![]() |
Обработка piVars
Выбор нескольких выбранных записей без использования Tesseract.
Код в расширении такого вида: <form name="addwhere" action="/" metod="post"><input type="hidden" name="tx_myext_pi1[addWhere]" value="1"> ........ <td><input type="checkbox" name="uid" value="'.$this->internal['currentRow']['uid'].'" />'.$this->getFieldContent('uid').'</td> ........ <input type="submit" value="Select" class="tx-myext-pi1-addwhere-button" /></form> Генерирует таблицу с записями и чекбоксами с uid. Передаёт в piVars следующее: mysite.ru/?tx_myext_pi1[addWhere]=1&uid=1&uid=2&uid=3&uid=321 1. Не получается циклом обработать piVars для выбора выделенных записей, чтобы был запрос $GLOBALS['TYPO3_DB']->exec_SELECTquery('*','tx_myext_object',$addWhere) ; Где $addWhere = 'uid=1 AND uid=2 AND uid=3 AND uid=321'; 2. Куда пропадает ......ru/index.php?id=1&tx_my...... ? |
Привет.
Еще не разрабатывал расширения, пока читаю теорию. На первый взгляд. 1. uid=321 затирает uid=3 затирает uid=2 и т.д. То есть ты несколько раз определяешь одну и ту же переменную, а не несколько. Перебирать нечего. 2. У тебя в action написано "/". Куда это отправляется? Может указать путь к скрипту явно типа index.php?id=7, например? |
Все переменные доступны через t3lib_div::_GP("var_name");
Переменная tx_myext_pi1[addWhere]=1 попадает в tx_myext_pi1:: piVars['addWhere'] Переменные uid=1&uid=2&uid=3&uid=321 последовательно заменят значения друг друга и вы получите t3lib_div::_GP("uid") == 321 Что вы получить несколько uid из формы нужно в HTML прописать их как name="uid[]", тогда t3lib_div::_GP("uid") будет массивом. Если вы хотите uid получить в tx_myext_pi1:: piVars, то нужно переменные называть так name="tx_myext_pi1[uid][]" |
Часовой пояс GMT +4, время: 01:51. |
Работает на vBulletin® версия 3.8.1.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot