Forum » TYPO3 » Ogólne
Tematy bez nowych odpowiedzi

przekazanie w tsconfig wartości do modułu BE


Autor Wiadomość
Napisane: 22.11.2009 [12:21]
Rafcio2
Twórca tematu
zarejestrowany: 25.01.2009
Posty: 32
Witam
wiem że do modułu BE można przekazywać parametry za pomocą TSCONFIG

mod.tx_myextension {
var =
}

ale jak je odbierać w be module??
chodzi mi o kod php jaki mógłby to realizować podobnie jak w fe module.

Czy ma ktoś może jakiś pomysł?



[Ten temat był edytowany 1 razy. Ostatnio 22.11.2009 o 14:30.]
Napisane: 22.11.2009 [18:37]
artur2000
zarejestrowany: 09.12.2008
Posty: 30
czolem,

z tego co wiem to znacznik rozszerzenia zaczyna sie zawsze slowem web_, tools_ etc. a wiec prawdopodobnie masz na mysli cos takiego

mod.web_txmyextension {
var = value
}

Wtedy pageTS uzyskasz poprzez:

TYPOSCRIPT
$ModTSconfig = t3lib_BEfunc::getModTSconfig($PageUid,'mod.'.$this->MCONF['name']);


$pageUid to jakakolwiek strona w poddrzewie strony na ktorej zdefiniowany jest ow pageTS.

Jesli twoj modul jest submodulem od "web_" to mozesz zrobic tez cos takiego ale wtedy do prawidlowego zczytania trzeba w backendzie wybrac jakas strone w drzewie.

TYPOSCRIPT
$ModTSconfig = t3lib_BEfunc::getModTSconfig($this->id,'mod.'.$this->MCONF['name']);




[Ten temat był edytowany 1 razy. Ostatnio 22.11.2009 o 18:39.]

Certified Level 2 TYPO3 Night Crew Member
Napisane: 22.11.2009 [19:37]
Rafcio2
Twórca tematu
zarejestrowany: 25.01.2009
Posty: 32
masz racje, moj blad. w TSconfig mam:
TYPOSCRIPT
mod.web_txpbsurveyM1 {
PidListOfQuestions = 7
}


a w php mam coś takiego:
PHP
$ModTSconfig = t3lib_BEfunc::getModTSconfig($this->id,'mod.'.$this->MCONF['name']);
$MyVar = intval($ModTSconfig['web_txpbsurveyM1']['PidListOfQuestions']);
echo $MyVar;


niestety zwraca mi 0 zamiast 7 czy możesz mi powiedzieć co robię nie tak?

czy zmienna PidListOfQuestions (moja własna) musi być w jakimś miejscu predefiniwana (zainicjowana?)?




[Ten temat był edytowany 2 razy. Ostatnio 22.11.2009 o 20:42.]
Napisane: 23.11.2009 [10:00]
artur2000
zarejestrowany: 09.12.2008
Posty: 30
uzyles $this->id wiec ta wartosc bedziesz mial w twoim scripcie dopiero jesli w backendzie wybierzesz jakas strone z drzewa - alternatywnie wstaw jakas konkretna UID strony, na poziomie ktorej ta konfiguracja jest dostepna.

poza tym zobacz jak wyglada caly array
PHP
print_r($ModTSconfig);


a jesli dalej nie bedzie dzialac to wstaw wszystkie zmienne na stale zakladajac, ze konfiguracja pageTS jest w korzeniu drzewa i korzen ma uid = 1 (jesli nie to dopasuj $rootPageUid)
TYPOSCRIPT
$ModTSconfig = t3lib_BEfunc::getModTSconfig($rootPageUid = 1,'mod.web_txpbsurveyM1');



[Ten temat był edytowany 1 razy. Ostatnio 23.11.2009 o 10:00.]

Certified Level 2 TYPO3 Night Crew Member
Napisane: 23.11.2009 [10:10]
Rafcio2
Twórca tematu
zarejestrowany: 25.01.2009
Posty: 32
zrobiłem tak:
PHP
debug($modTSconfig);


dało mi to efekt
value
properties PidListOfQuestions 7


PHP
print_r($modTSconfig);


daje
wynik
Array ( [value] => [properties] => Array ( [PidListOfQuestions] => 7 ) )
zmiena wstawiona na sztywno do dalszej części skryptu po wykomentowaniu $modTsconfig daje wynik poprawny
co robię nie tak?
Napisane: 23.11.2009 [10:23]
artur2000
zarejestrowany: 09.12.2008
Posty: 30
Przeciez wszystko jest jak nalezy icon_smile.gif

Chciales dostac sie do ustawionych przez ciebie zmiennych w konfiguracji pageTS no i widzisz ze sa w array, ktory otrzymales

$PidListOfQuestions = $modTSconfig['properties']['PidListOfQuestions'];

Albo nie zrozumialem Twojego statniego postu.

Certified Level 2 TYPO3 Night Crew Member
Napisane: 23.11.2009 [11:14]
Rafcio2
Twórca tematu
zarejestrowany: 25.01.2009
Posty: 32
tak długo nad tym siedziałem, aż wyłączyłem gdzieś po drodze logiczne myślenie,
dziękuję za pomoc.