PDA

Просмотр полной версии : собственная дата в mininews


sanek
06.09.2005, 11:16
Добрый день.
У меня вопрос в седующем -- мне нужно сделать занесение даты тремя выпадающими списками(день месяц год). Сами списки я добавил и в принципе разобрался как занести их в БД. НО!
Сейчас день, месяц и год заносятся в РАЗНЫЕ поля БД и возникает сложность с сортировкой, а хотелось бы на их основе формировать ОДНО поле типа datetime.

Andreas Schwarzkopf
06.09.2005, 12:12
Нужно сделать так, чтобы форма передавала три этих значения в один массив, который затем преобразуется и пишется в базу. Примеры есть в TSRef, секция feAdminLib.inc

sanek
06.09.2005, 12:26
я недавно начал работать с typo :). Мне не совсем понятно как сделать, чтобы форма передавала в один имассив. Я в файле tca.php добавил несколько новых полей и как там сделать чтобы, они передавались в массив?

Andreas Schwarzkopf
06.09.2005, 12:32
Во избежание недоразумений прошу в следующий раз хотя бы сказать, идет ли речь о фронтенде или бэкенде (административной оболочке). Насколько я знаю, в бэкенде разбить дату на несколько полей невозможно.

sanek
06.09.2005, 12:38
Жаль.. А можно ли тогда в файле class.tx_mininews_pi1.php, который как я пронимаю выводит новости, сделать так чтобы сортировка шла сначала по году потом по месяцу, а потом по дню. Привел пример того, что я сделал, но это работает не правильно
//list($this->internal[\"orderBy\"],$this->internal[\"descFlag\"]) =explode(\":\",\"datetime:1\");
$this->internal[\"results_at_a_time\"]=t3lib_div::intInRange($lConf[\"results_at_a_time\"],0,1000,3); $this->internal[\"maxPages\"]=t3lib_div::intInRange($lConf[\"maxPages\"],0,1000,2);
$this->internal[\"searchFieldList\"]=\"title,teaser,full_text\";
$this->internal[\"orderByList\"]=\"year, month, day, title\";

Andreas Schwarzkopf
06.09.2005, 12:43
Конфигурация в TYPO3 происходит в TypoScript, так что нежелательно править код в исходниках.

Может быть достаточно поставить в template Setup
orderBy = year, month, day, title

Дело в том, что каждый экстеншен может распоряжаться с такими делами по-своему, а заглядывать туда у меня нет сейчас времени.

sanek
06.09.2005, 12:56
А может можно сделать какое-нибудь скрытое поле
значение которого будет конкатенация значений трех других полей?
Просто не хочется использовать стандартное поле для занесения даты

sanek
06.09.2005, 13:00
>Может быть достаточно поставить в template Setup
>orderBy = year, month, day, title

а как сюда добавить порядок сортировки (ASC, DESC)

Fubu_By
30.06.2008, 15:22
>Может быть достаточно поставить в template Setup
>orderBy = year, month, day, title

а как сюда добавить порядок сортировки (ASC, DESC)

ну может кто знает как это указать в файле конфигурации