Russian TYPO3 community Форум больше не используется. Присоединяйтесь к каналу #community-ru в Slack for TYPO3 community  

Вернуться   Russian TYPO3 community > Обсуждение общих технических вопросов > Общие вопросы

Ответ
 
Опции темы Опции просмотра
Старый 23.09.2011, 19:58   #1
Peter
Продвинутый
 
Регистрация: 17.11.2010
Сообщений: 30
По умолчанию Обработка 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...... ?
Peter вне форума   Ответить с цитированием
Старый 26.09.2011, 13:45   #2
Dimamon
Новенький
 
Регистрация: 17.02.2011
Сообщений: 10
По умолчанию

Привет.
Еще не разрабатывал расширения, пока читаю теорию.
На первый взгляд.
1. uid=321 затирает uid=3 затирает uid=2 и т.д. То есть ты несколько раз определяешь одну и ту же переменную, а не несколько. Перебирать нечего.

2. У тебя в action написано "/". Куда это отправляется? Может указать путь к скрипту явно типа index.php?id=7, например?
Dimamon вне форума   Ответить с цитированием
Старый 26.09.2011, 13:46   #3
dmartynenko
Senior Member
 
Аватар для dmartynenko
 
Регистрация: 20.07.2007
Адрес: Беларусь, Минск
Сообщений: 957
Отправить сообщение для dmartynenko с помощью ICQ
По умолчанию

Все переменные доступны через 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][]"
dmartynenko вне форума   Ответить с цитированием
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB code is Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Такая задачка (почти решенная) обработка контента are TypoScript практикум 4 15.07.2010 14:14
Обработка изображений (image magic) Костик Общие вопросы 8 16.02.2009 10:24
Не цепляет значения piVars SoulBurn Разработка расширений / TYPO3 extension development 1 20.10.2008 15:00
обработка события добавления записи в БЕ -=STYDENT=- Общие вопросы 2 13.04.2007 15:24
обработка событий. возможно ли такое?? а также парсинг Pdf. АНТ0Н Общие вопросы 9 31.03.2006 18:45


Часовой пояс GMT +4, время: 20:08.


Работает на vBulletin® версия 3.8.1.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot

Хостинг и техническая поддержка: TYPO3 Лаборатория