warning: htmlspecialchars() expects parameter 1 to be string, array given in

mhncsa képe

sziasztok!
egy kérdőíven dolgozom épp a form_api segítségével.
a fenti hibaüzenetbe futottam amikor egy checkbox típusú form elemet tettem bele. pontosabban ahányszor szerepel checkbox annyiszor kapok egy ilyen hibaüzenetet, de csak akkor ha leglább egy opciót kiválasztok.
viszont a hibaüzenettől függetlenül, a a checkbox-ok 'eredményét' be tudom gyűjteni, szval működni működik.
megnéztem a bootstrap.inc-t, abban ehhez a htmlspecialchars() függvényhez annyi komment van, h mint a neve is mutatja a spec. karaktereket alakítja át, h html megjelenítés esetén ok legyen. viszont nekem akkor is van ez a hibaüzenet ha ki se iratom az értéket.
vkinek vmi ötlet?

másik kérdésem, h lenne a kérdőívben egy 5x6-os radiobutton-os rész (5 kérdés 6 opció). ezt alapból úgy jeleníti meg, h van a kérdés és függőlegesen alatta a 6 opció, és mindez 5x, szval elfoglal vagy 1,5 képernyőt. a kérdés itt meg az lenne, h nem lehet vhogy rávenni a drupal-t hogy a radiobutton-okat egymás mellé helyezze el? ill. gondolom egyedi theme-t kellene csinálni a formnak, de tegnap bő fél napom ráment és absz. nem jutottam előrébb semmit :( szval esetleg tud vki vmi leírást, h hogyan tudnám meg theme-lni a form-omat (ez a sminkelés magyarul?)

nevergone képe

... vagyis egy kérdés egy fórumtéma legyen! A kérdésed első felének majd utánanézek.

0
0
aboros képe

a második kérdésre válaszolva sminkeléssel meg tudod csinálni szerintem ezt. nézd meg az oldal forrását, mikor a formot mutatja, látni fogod, hogy csomó osztály meg minden egyéb (nem tudom a szakszavakat sajnos:) van benne. azokat ha cssben definiálod, akkor zsupsz, kész is.

0
0

-
clear: both;

Sweetchuck képe

Nézd meg hogy mindenhol ott van-e a # a checkbox paraméterek elején.

 $form['question_1'] = array(
  '#title' => 'erről a kettős keresztről beszélek',
);

Lehet hogy nem megfelelő a visszaadott form array struktúrája.

Sminkelés:

function mymodule_my_form() {
  $form = array();
  //...
  return $form;
}
 
//A lényeg, hogy theme_ előtagot kapjon az ürlapot előálító függvény neve.
function theme_mymodule_my_form($form) {
  //És itt kedvedre sminkelhetsz.
  //Egymás mellé rakás ügyben javaslom a valamilyen CSS-sel foglalkozó weboldal olvasgatását. Vagy a weblabor.hu fórumát.
}
0
0
mhncsa képe

sziasztok!
köszönöm a válaszokat!
egyenlőre úgy tűnik megoldódott a probléma. a checkbox-ok options-eit egy változóba tettem
így:
$options = array(
'poison' => t('Sprays deadly poison'),
'metal' => t('Can bite/claw through metal'),
);
ezt egyébként a Apress.Pro.Drupal.Development alapján csináltam (gondolom mindenki ismeri :)
viszont elhagyva a t() fggvny-t már nincs hibaüzenet
$options = array(
'poison' => 'Sprays deadly poison',
'metal' => 'Can bite/claw through metal',
);
a sminkeléssel kapcsolatban meg még majd kérdezek :)
mindenesetre köszi még1x

0
0
pp képe

Nem lehetne, hogy egy nagyobb kódrészletet mutassál? A t() függvény ugyanis biztos nem okozhatja a problémát, abban ugyanis nincs htmlspecialchars hívás, ha nem adod meg a második paramétert!
Tehát az nem lehet a hiba oka!

pp

0
0
mhncsa képe

tényleg nem a t() fggvny-el volt a gond. a helyzet az, h ez egy multistep form.
az első oldalon levő a checkbox-ok értékét a következőképpen adtam tovább a köv. lépésre:
$form['q7checkbox'] = array(
'#type' => 'hidden',
'#value' => $form_values['q7checkbox']
);

annyit változattam rajta, h

$form['q71'] = array(
'#type' => 'hidden',
'#value' => $form_values['q7checkbox'][1]
);
$form['q72'] = array(
'#type' => 'hidden',
'#value' => $form_values['q7checkbox'][2]
);
...
visszaírva a t() függvényt az options-okba is működik
(tegnap a klasszikus hibába estem, 2 dolgot változtattam meg, egyrészt kivettem a t() függvényeket meg átalakítottam sima egy oldalas form-má, és nagy megörültem, h megy, csak épp nem a t() eltávolítása miatt, hanem mert nem kellett továbbítani az előző oldal értékeit...)
bocs, h hülyeséget írtam, de most így talán javítottam

0
0