Просмотр полной версии : FORM значения type = name=select подставить в valueArray значения с CONTENT (с БД)
Задача состоит в следующем: есть форма, в которой есть select box в который нужно подставить значения с базы данных.
lib.mainForm.20 = FORM
lib.mainForm.20 {
type = 68
formName = Kinder
accessibility = 1
method = post
dataArray {
100{
label = Название:
type = title=select
valueArray <lib.Dnz.10.renderObj
}
}
}
lib.Dnz = COA
lib.Dnz{
10 = CONTENT
10.table=tx_kinder
10.select.selectFields= uid, title
10.select.pidInList=304
10.renderObj = COA
10.renderObj{
1 = TEXT
1.current = 1
1.value.field = uid
1.label.field = title
}
}
В результате данного кода в selectbox вместо значений с таблицы tx_kinder.uid tx_kinder.uid, подставляется pages.uid, pages.title. Не пойму что не так? Подскажите пожалуйста.
Задача состоит в следующем: есть форма, в которой есть select box в который нужно подставить значения с базы данных.
lib.mainForm.20 = FORM
lib.mainForm.20 {
type = 68
formName = Kinder
accessibility = 1
method = post
dataArray {
100{
label = Название:
type = title=select
valueArray <lib.Dnz.10.renderObj
}
}
}
lib.Dnz = COA
lib.Dnz{
10 = CONTENT
10.table=tx_kinder
10.select.selectFields= uid, title
10.select.pidInList=304
10.renderObj = COA
10.renderObj{
1 = TEXT
1.current = 1
1.value.field = uid
1.label.field = title
}
}
В результате данного кода в selectbox вместо значений с таблицы tx_kinder.uid tx_kinder.uid, подставляется pages.uid, pages.title. Не пойму что не так? Подскажите пожалуйста.
В FORM - Не силен, но возможно чем-то помогу:
Если valueArray и правда может поддерживать TS-парсинг скрипта, а не только строки (, то в Вашем случае это будет:
valueArray < lib.Dnz
а не
valueArray <lib.Dnz.10.renderObj
Ну и после еще можно попробовать так:
valueArray.cObject < lib.Dnz
В FORM - Не силен, но возможно чем-то помогу:
Если valueArray и правда может поддерживать TS-парсинг скрипта, а не только строки (, то в Вашем случае это будет:
valueArray < lib.Dnz
а не
valueArray <lib.Dnz.10.renderObj
Ну и после еще можно попробовать так:
valueArray.cObject < lib.Dnz
Нет данные конструкции результата не принесли:(
Меня непонят почему оно подставляет данные о станице, а не массив значений с tx_kinder
Не знаю, где Вы нашли эту возможность, подставить из БД
но у меня при попытке создать в SELECT - что то кроме OPTION (например = TEXT) - страница перестает загружаться...:(
page.10 = FORM_INT
page.10 {
prefix = tx_form
confirmation = 1
postProcessor {
1 = mail
1 {
recipientEmail = 43
senderEmail = 43
subject = 43
}
}
10 = TEXTLINE
10 {
name = gregre
label.value = Edit this label
}
20 = SELECT
20 {
name = 3
label.value = Edit this label
10 = TEXT
10.value = <option>1</option>
20 = OPTION
20.data = Option 1
30 = OPTION
30.data = Option 2
40 = OPTION
40.data = Option 3
40.selected = selected
}
30 = SUBMIT
30 {
name = 4
value = Submit form
}
rules {
1 = required
1 {
breakOnError = 0
showMessage = 1
message = Required
error = This field is required
element = 3
}
}
}
Если есть оригинал документации, где Вы это нашли, можем разобраться далее...
Вот по этой документации http://docs.typo3.org/typo3cms/TyposcriptReference/ContentObjects/Form/Index.html
Вот по этой документации http://docs.typo3.org/typo3cms/TyposcriptReference/ContentObjects/Form/Index.html
Не вижу здесь ни где про то, что можно подставить значения из БД...:)
Через объект CONTENt - хотя было бы круто.
счя поправлю чуток не так написал
данные подставляются только не те!!
смотрите в таблице tx_kinder есть записи которые
uid|pid|title|
--------------
5 |304|привет1
2 |304|привет2
4 |304|привет3
6 |304|привет4
pages
uid|pid|title|
304|...|Учреждения
68|...|Регистрация
так вот
lib.Dnz = COA
lib.Dnz{
10 = CONTENT
10.table=tx_kinder
10.select.selectFields= uid, title
10.select.pidInList=304
10.renderObj = COA
10.renderObj{
1 = TEXT
1.current = 1
1.value.field = uid
1.label.field = title
}
}
подствляет с таблицы pages хотя я в CONTENT четко указал 10.table=tx_kinder.
Результат
lib.mainForm.20 = FORM
lib.mainForm.20 {
type = 68
formName = Kinder
accessibility = 1
method = post
dataArray {
100{
label = Название:
type = title=select
valueArray <lib.Dnz.10.renderObj
}
}
}
Вывожу на странице Регистрация с uid 68
результатк кода
<select name="title" id="Kinder" size="1" class="form-control col-xs-3 col-sm-6 col-md-9 col-lg-12">
<option value="68">Регистрация</option>
</select>
а должен по идеии
<select name="title" id="Kinder" size="1" class="form-control col-xs-3 col-sm-6 col-md-9 col-lg-12">
<option value="3">Привет1</option>
<option value="1">Привет2</option>
<option value="2">Привет3</option>
<option value="4">Привет4</option>
<option value="4">Привет5</option>
</select>
Хм...
Не знаю, у меня не получилось подставить данные в форуму через объект "CONTENT".
А где можно взяглянуть на док. по вашему коду:
page.10 = FORM_INT
page.10 {
prefix = tx_form
confirmation = 1
postProcessor {
1 = mail
1 {
recipientEmail = 43
senderEmail = 43
subject = 43
}
}
10 = TEXTLINE
10 {
name = gregre
label.value = Edit this label
}
20 = SELECT
20 {
name = 3
label.value = Edit this label
10 = TEXT
10.value = <option>1</option>
20 = OPTION
20.data = Option 1
30 = OPTION
30.data = Option 2
40 = OPTION
40.data = Option 3
40.selected = selected
}
30 = SUBMIT
30 {
name = 4
value = Submit form
}
rules {
1 = required
1 {
breakOnError = 0
showMessage = 1
message = Required
error = This field is required
element = 3
}
}
}
Это какой то плагин?
А где можно взяглянуть на док. по вашему коду:
page.10 = FORM_INT
page.10 {
prefix = tx_form
confirmation = 1
postProcessor {
1 = mail
1 {
recipientEmail = 43
senderEmail = 43
subject = 43
}
}
10 = TEXTLINE
10 {
name = gregre
label.value = Edit this label
}
20 = SELECT
20 {
name = 3
label.value = Edit this label
10 = TEXT
10.value = <option>1</option>
20 = OPTION
20.data = Option 1
30 = OPTION
30.data = Option 2
40 = OPTION
40.data = Option 3
40.selected = selected
}
30 = SUBMIT
30 {
name = 4
value = Submit form
}
rules {
1 = required
1 {
breakOnError = 0
showMessage = 1
message = Required
error = This field is required
element = 3
}
}
}
Это какой то плагин?
Изначально то, (как полагаю), что Вы используете - это стандартная форма.
http://typo3.org/fileadmin/t3org/images/FM-content/releases/typo3_4-6/form_wizard.png
Она доступна как стандартный cObject в Typoscript объект.
Двух вариантов:
FORM
FORM_INT (вот его и вставил на странице для тестов)
Ну а документацию, таже самая, что и у Вас...
http://docs.typo3.org/typo3cms/TyposcriptReference/ContentObjects/Form/Index.html
Но у меня не получается в этот объект запихнуть CONTENT на выборку данный их произвольной таблицы... Т.к. если в SELECT вставить, что то отличное от OPTION - то у меня перестает все работать.:)
Вот кстати еще документация:
http://forge.typo3.org/projects/typo3v4-form/wiki/Typoscript
Изначально то, (как полагаю), что Вы используете - это стандартная форма.
http://typo3.org/fileadmin/t3org/images/FM-content/releases/typo3_4-6/form_wizard.png
Она доступна как стандартный cObject в Typoscript объект.
Двух вариантов:
FORM
FORM_INT (вот его и вставил на странице для тестов)
Ну а документацию, таже самая, что и у Вас...
http://docs.typo3.org/typo3cms/TyposcriptReference/ContentObjects/Form/Index.html
Но у меня не получается в этот объект запихнуть CONTENT на выборку данный их произвольной таблицы... Т.к. если в SELECT вставить, что то отличное от OPTION - то у меня перестает все работать.:)
Что я окончательно запуталься http://typo3.org/fileadmin/t3org/images/FM-content/releases/typo3_4-6/form_wizard.png - дополнительный плагин.
И синтакси не такой как у меня!!!
Вот:525
Да и в док на странице http://docs.typo3.org/typo3cms/TyposcriptReference/ContentObjects/Form/Index.html про FORM_INT ниче нет
Можно файлик с ts кодом который вы выполняли на своем сайте, хочу проетстить у ся!
Форму которую Вы вставляете на странице (через мастер создания форм) - это обычный объект FORM_INT. Следовательно его можно использовать в чистом typoscript-коде.
Вот основной шаблон сайта:
page = PAGE
page.10 = FORM_INT
page.10 {
prefix = tx_form
confirmation = 1
postProcessor {
1 = mail
1 {
recipientEmail = 43
senderEmail = 43
subject = 43
}
}
10 = TEXTLINE
10 {
name = gregre
label.value = Edit this label
}
20 = SELECT
20 {
name = 3
label.value = Edit this label
10 = TEXT
10.value = <option>1</option>
20 = OPTION
20.data = Option 1
30 = OPTION
30.data = Option 2
40 = OPTION
40.data = Option 3
40.selected = selected
}
30 = SUBMIT
30 {
name = 4
value = Submit form
}
rules {
1 = required
1 {
breakOnError = 0
showMessage = 1
message = Required
error = This field is required
element = 3
}
}
}
Вот эта конструкция не работает:
10 = TEXT
10.value = <option>1</option>
Если она бы работала, значит можно было бы вставить записи из БД через объект CONTENT.
Форму которую Вы вставляете на странице (через мастер создания форм) - это обычный объект FORM_INT. Следовательно его можно использовать в чистом typoscript-коде.
Вот основной шаблон сайта:
page = PAGE
page.10 = FORM_INT
page.10 {
prefix = tx_form
confirmation = 1
postProcessor {
1 = mail
1 {
recipientEmail = 43
senderEmail = 43
subject = 43
}
}
10 = TEXTLINE
10 {
name = gregre
label.value = Edit this label
}
20 = SELECT
20 {
name = 3
label.value = Edit this label
10 = TEXT
10.value = <option>1</option>
20 = OPTION
20.data = Option 1
30 = OPTION
30.data = Option 2
40 = OPTION
40.data = Option 3
40.selected = selected
}
30 = SUBMIT
30 {
name = 4
value = Submit form
}
rules {
1 = required
1 {
breakOnError = 0
showMessage = 1
message = Required
error = This field is required
element = 3
}
}
}
Если она бы работала, значит можно было бы вставить записи из БД через объект CONTENT.
У меня не с работало! А какая у вас верия typo3
У меня не с работало! А какая у вас верия typo3
Это и у меня не будет работать...
Версия TYPO3 4.7.10.
Если убрать строчку:
10 = TEXT
10.value = <option>1</option>
То, все заработает...
Но это не меняет положение вещей...
Т.к. не получилось вставить CONTENT...
Это и у меня не будет работать...
Версия TYPO3 4.7.10.
Если убрать строчку:
10 = TEXT
10.value = <option>1</option>
То, все заработает...
Но это не меняет положение вещей...
Т.к. не получилось вставить CONTENT...
page = PAGE
page.10 = FORM_INT
page.10 {
prefix = tx_form
confirmation = 1
postProcessor {
1 = mail
1 {
recipientEmail = 43
senderEmail = 43
subject = 43
}
}
10 = TEXTLINE
10 {
name = gregre
label.value = Edit this label
}
20 = SELECT
20 {
name = 3
label.value = Edit this label
10 = TEXT
10.value = <option>1</option>
20 = OPTION
20.data = Option 1
30 = OPTION
30.data = Option 2
40 = OPTION
40.data = Option 3
40.selected = selected
}
30 = SUBMIT
30 {
name = 4
value = Submit form
}
rules {
1 = required
1 {
breakOnError = 0
showMessage = 1
message = Required
error = This field is required
element = 3
}
}
}
так я так и пробывал без 10 = TEXT
10.value = <option>1</option>
неработает у вас видно стоит плагин - Form Library, Plugin and Wizard?
526
я читал что конструкция
page = PAGE
page.10 = FORM_INT
page.10 {
prefix = tx_form
confirmation = 1
postProcessor {
1 = mail
1 {
recipientEmail = 43
senderEmail = 43
subject = 43
}
}
10 = TEXTLINE
10 {
name = gregre
label.value = Edit this label
}
20 = SELECT
20 {
name = 3
label.value = Edit this label
10 = TEXT
10.value = <option>1</option>
20 = OPTION
20.data = Option 1
30 = OPTION
30.data = Option 2
40 = OPTION
40.data = Option 3
40.selected = selected
}
30 = SUBMIT
30 {
name = 4
value = Submit form
}
rules {
1 = required
1 {
breakOnError = 0
showMessage = 1
message = Required
error = This field is required
element = 3
}
}
}
Работает только с этим плагином
Да, что бы форма работала, нужно установленное это стандартное TYPO3-расширение. Просто данную форму можно также еще и использовать напрямую, минуя мастер создания формы" на сайте как FORM_INT - объект...
Спасибо я все понял! но дело втом что у меня уже есть рабочие формы на сайте, а кгда я сталю этот плагин все старые форры валятся:(
Люди получилось вывести в select box инфу, только есть одно но, я не мугу управлять занчениями value туда попадают занчения с lable!! на картинке показан результат!
527
<select name="title" id="Kinder" size="1" class="">
<option value="Привет1">Привет1</option>
<option value="Привет3">Привет3</option>
<option value="Привет4">Привет4</option>
</select>
100 = COA
100{
label = Название:
type = title=select
valueArray.10.label.cObject=CONTENT
valueArray.10.label.cObject{
table=tx_kinder
select.selectFields= uid, title
select.pidInList=304
renderObj = TEXT
renderObj.dataWrap = | {field:title},
renderObj.prepend= COA
renderObj.prepend{
20=TEXT
20.value = {field:uid}
20.insertData=1
}
} # end valueArray.10.label.cObject
}#end 100
Можкто поможет в TS разобратся?
Люди получилось вывести в select box инфу, только есть одно но, я не мугу управлять занчениями value туда попадают занчения с lable!! на картинке показан результат!
527
<select name="title" id="Kinder" size="1" class="">
<option value="Привет1">Привет1</option>
<option value="Привет3">Привет3</option>
<option value="Привет4">Привет4</option>
</select>
100 = COA
100{
label = Название:
type = title=select
valueArray.10.label.cObject=CONTENT
valueArray.10.label.cObject{
table=tx_kinder
select.selectFields= uid, title
select.pidInList=304
renderObj = TEXT
renderObj.dataWrap = | {field:title},
renderObj.prepend= COA
renderObj.prepend{
20=TEXT
20.value = {field:uid}
20.insertData=1
}
} # end valueArray.10.label.cObject
}#end 100
Можкто поможет в TS разобратся?
Полный код посмотреть...:)
Вложение не работает!
Полный код посмотреть...:)
Вложение не работает!
Это полный код селект бокса формы
lib.mainForm = COA
lib.mainForm.20 = FORM
lib.mainForm.20 {
type = 68
formName = Kinder
accessibility = 1
method = post
dataArray {
10{
label = Название:
type = title=input
required = 1
}
100 = COA
100{
label = Льготи:
type = uid_benefits=select
valueArray.10.label.cObject=CONTENT
valueArray.10.label.cObject{
table=tx_kinder
select.selectFields= uid, title
select.pidInList=304
renderObj = TEXT
renderObj.dataWrap = | {field:title},
renderObj.prepend= COA
renderObj.prepend{
20=TEXT
20.value = {field:uid}
20.insertData=1
}
} # end valueArray.10.label.cObject
}#end 100
200.label>
200.type = submit=submit
200.value = Зарегистрировать
}
# layout = COA
commentWrap.cObject = COA
commentWrap.cObject {
20=TEXT
20.value = field-{current:1}
20.insertData=1
}
layout(
<div class="form-group ###COMMENT###">###LABEL### <span class="csc-mailform-label ###COMMENT###">###FIELD###</span></div>
)
#fieldWrap.wrap = |
fieldWrap.postCObject = COA
fieldWrap.postCObject {
stdWrap.wrap=|<span class="add-on"><i data-time-icon="icon-time" data-date-icon="icon-calendar"></i></span>|
}
labelWrap.wrap =|
REQ = 1
REQ.labelWrap.wrap = |*
redirect = 68
}
Это полный код селект бокса формы
lib.mainForm = COA
lib.mainForm.20 = FORM
lib.mainForm.20 {
type = 68
formName = Kinder
accessibility = 1
method = post
dataArray {
10{
label = Название:
type = title=input
required = 1
}
100 = COA
100{
label = Льготи:
type = uid_benefits=select
valueArray.10.label.cObject=CONTENT
valueArray.10.label.cObject{
table=tx_kinder
select.selectFields= uid, title
select.pidInList=304
renderObj = TEXT
renderObj.dataWrap = | {field:title},
renderObj.prepend= COA
renderObj.prepend{
20=TEXT
20.value = {field:uid}
20.insertData=1
}
} # end valueArray.10.label.cObject
}#end 100
200.label>
200.type = submit=submit
200.value = Зарегистрировать
}
# layout = COA
commentWrap.cObject = COA
commentWrap.cObject {
20=TEXT
20.value = field-{current:1}
20.insertData=1
}
layout(
<div class="form-group ###COMMENT###">###LABEL### <span class="csc-mailform-label ###COMMENT###">###FIELD###</span></div>
)
#fieldWrap.wrap = |
fieldWrap.postCObject = COA
fieldWrap.postCObject {
stdWrap.wrap=|<span class="add-on"><i data-time-icon="icon-time" data-date-icon="icon-calendar"></i></span>|
}
labelWrap.wrap =|
REQ = 1
REQ.labelWrap.wrap = |*
redirect = 68
}
Прикльно... взял на зметку, хотя есть еще очень классное расширение по формам formhandler
Прикльно... взял на зметку, хотя есть еще очень классное расширение по формам formhandler
ну мне всетаки остался один шажок кототрый я не могу преодалеть значение value в selectbox, ктото может подсказать как можно это исправить? Напомню что в value подставляются значения с label
<select name="title" id="Kinder" size="1" class="">
<option value="Привет1">Привет1</option>
<option value="Привет3">Привет3</option>
<option value="Привет4">Привет4</option>
</select>
100 = COA
100{
label = Название:
type = title=select
valueArray.10.label.cObject=CONTENT
valueArray.10.label.cObject{
table=tx_kinder
select.selectFields= uid, title
select.pidInList=304
renderObj = TEXT
renderObj.dataWrap = | {field:title},
renderObj.prepend= COA
renderObj.prepend{
20=TEXT
20.value = {field:uid}
20.insertData=1
}
} # end valueArray.10.label.cObject
}#end 100
Работает на vBulletin® версия 3.8.1. Copyright ©2000-2025, Jelsoft Enterprises Ltd. Перевод: zCarot