Просмотр полной версии : 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