Field nem jelenik meg

Molesz képe

Hello mindenki.
Létrehoztam 3 beviteli részt, aminek a tartalma terveim szerint a cikkek alatt jelenne meg. Sajnos hiába próbálkozok, az adat nem jelenik meg. A jogosultságoknál minden rendben van.
Valakinek van ötlete?

Melyik modulhoz, modulokhoz kapcsolódik a téma?: 
Drupal verzió: 
fox mulder képe

Nézz körül az adott tartalomtípushoz tartozó Mezők kezelése->Mezők megjelenítése környékén. Nincs bepipálva az Exclude checkbox?

0
0

Fox Mulder

Molesz képe

Megnéztem, nincs bepipálva. De itt egy kép róla:
http://www.kgp.hu/cck.jpg

0
0
fox mulder képe

Az értékelések megjelennek. Mit értesz "3 beviteli mező" alatt? Illetve, ha nem hidden a label, akkor az (a cimke) nem jelenik meg?

0
0

Fox Mulder

Molesz képe

3 beviteli mezőt egy kicsit félrefogalmaztam, mert az 4. Tehát a lényeg az lenne, hogy a cikk írásakor meg lehet adni 4 különféle adatot. mit jelen esetben a fejlesztő, weboldal, méret, jogállás.

Ezeket szeretném a cikk alatt megjeleníteni.

0
0
fox mulder képe

Melyik cikkben rendelkeznek ezek már értékkel?

0
0

Fox Mulder

Molesz képe

Próbaként megnéztem a http://www.kgp.hu/short-cad cikknél,hogy megjelennek-e. Jelenleg is fel van töltve adattal, mind a 4 field, csak nem jelenik meg.

0
0
fox mulder képe

Látom a forrásban ott van kilistázva és kikommentezve a $node tartalma. A $node->body-ban benne vannak a mezők által generált div-ek (tehát elvileg meg kéne jelenniük). Nincs véletlenül display: none; szabály ezekhez a mezőkhöz rendelve CSS-ben (jobb híján, csak kínomban kérdezem)?

0
0

Fox Mulder

Molesz képe

Háát, igazából lövésem sincs. Jelenleg eltévedtem, úgyhogy most azt sem tudom hol keressem.

0
0
fox mulder képe

A sminked CSS fájljában (mondjuk style.css a sites/all/themes/sminkedneve mappában). Igazából kicsi rá az esély ("véletlenül" nem kerülhet bele ilyesmi), de ha többen dolgoztok rajta egyszerre... Tényleg csak jobb ötlet híján kérdeztem. Apropó te szerkesztetted a node.tpl.php-t oly módon, hogy kiírja a $node tartalmát?

0
0

Fox Mulder

Molesz képe

Az oldalt nem én fejlesztettem, én csak tartalommal töltöttem fel. De mivel a fejlesztőt nem érem el, ezért most magamnak kell alkotnom.

0
0
fox mulder képe

Ha te hoztad létre az új mezőket, akkor ezekhez nem lehet CSS szabály rendelve (ha más fejlesztette az oldalt).

Szóval (látom, zen sminket használ az oldal) marad az, hogy megnézed a sites/all/themes/zen/zen/node.tpl.php fájlt. Ebben van egy print $content; sor, elvileg ennek a $content-nek kéne tartalmaznia az összes CCK meződet. Lehet, hogy a fejlesztő nem a $content tartalmát küldi a kimenetre, hanem külön változókként a mezőket, például a <div class="ertekelesek"> rész belsejében ilyesmi: print $field_design, vagy print $field_sebesseg. Ez esetben majd valami ilyesmit kell írnod a node.tpl.php-ba:

<?php if(field_jogallas): ?>
<div class="jogallas">
<?php print $node->field_jogallas; ?>
</div>
<?php endif; ?>

Vagy ki lehetne iratni magát a $content változót, megnézni, hogy benne van-e a jogállás, a fejlesztő stb. (persze ezt a kiírást az is látni fogja, aki épp most böngészi az oldalt):

<pre>
<?php print_r($content); ?>
</pre>
0
0

Fox Mulder

DTB képe

Én a print helyett ezt javaslom:

 
drupal_set_message('<pre>Ezt keresem:' . var_export($valtozo,true) . '</pre>');
0
0
DTB képe

Szia,
Telepitsd fel a devel modult, annak van egy olyan funkciója, hogy minden node felett kirak plusz lehetőségeket, pl dev load és dev render. Igy kapsz a krumo segítségével egy rendezett formátumot, hogy mik vannak a betöltött node tartalmon belül. HA itt látod az új mezőket, akkor a megjelenítéssel van baj, vagyis akkor az adott node.tpl.php-t kell szerkeszteni, ha NEM látod, akkor a mező beállításainál keresd a hibát.

0
0
Molesz képe

Én ehhez a megoldáshoz szeretnék folyamodni:

<?php if(field_jogallas): ?>
<div class="jogallas">
<?php print $node->field_jogallas; ?>
</div>
<?php endif; ?>

De valami oknál fogva annyit ír ki a portál a megjelenés helyén, hogy Array. Mi lehet a hiba?
0
0
nevergone képe

Mert a $node->field_jogallas egy tömb, próbáld így:

<?php
 print $node->field_jogallas[0];
?>

Ez pedig segíthet a továbbiakban:

<?php
 print_r ($node);
?>
0
0
Molesz képe

Sajnos még mindig ugyanaz a hiba. Ez sem jött össze.

0
0
Molesz képe

Most így néz ki a kód:

<?php if(field_jogallas): ?>
<div class="jogallas">
<?php print $node->field_jogallas[0]; ?>
</div>
<?php endif; ?>
0
0
fox mulder képe

Írd a <?php print $node->field_jogallas[0]; ?> helyett ezt (most):

<pre>
<?php print_r($node->field_jogallas[0]); ?>
</pre>

A <pre>...</pre> a könnyebb olvashatóság miatt kell.
Megnézzük, mit ír ki.
0
0

Fox Mulder

fox mulder képe

Tehát a megoldás:
<?php print $node->field_jogallas[0]['view']; ?>
Valszeg ugyanez lesz a többivel is (mármint a többi CCK mezővel, ami eddig nem jelent meg).

0
0

Fox Mulder

nevergone képe

Jó, de ez már tényleg olyan dolog, amihez szükséges némi PHP programozási ismeret, és igazából nem is köthető a Drupalhoz.

0
0
fox mulder képe

A print() arra való, hogy a kimenetre küldd egy változó tartalmát. Ha a változó egy tömb, akkor a kimenet "Array" lesz. A print_r() arra való, hogy fejlesztés közben megnézd, mit tartalmaz egy változó, például ha ez a változó egy tömb (Array). Ha <?php print $node->field_jogallas; ?> kimenete "Array", akkor meg kell nézni ennek a tömbnek a tartalmát így: <?php print_r($node->field_jogallas); ?>, hogy eljuss addig az elemig, ami azt tartalmazza, amit meg akarsz jeleníteni. Ez lehet pl.: $node->field_jogallas[0], de ha ez is tömb, akkor ezen belül még keresgélni kell: pl. $node->field_jogallas[0]['valami'].

UI.: a print_r() megmutatja, mit kell a "valami" helyére írni.

0
0

Fox Mulder

Molesz képe

Nos megnéztem. Most ezt írja ki:
Array
(
[value] => Freeware
[safe] => Freeware
[view] => Freeware
)

0
0
Molesz képe

Megoldva. Ezer köszönet mindenkinek aki segített. Ha még lesz kérdésem akkor szólni fogok.

0
0
fox mulder képe

Vedd ki a <pre>...</pre> elemeket is!

0
0

Fox Mulder

Molesz képe

Pont kérdezni akartam. Ja és még valami, és tényleg megszűnök. Hogy érhetem el azt, hogy a hivatalos veboldal field kattintható legyen?

0
0
fox mulder képe

Pl. úgy, hogy nem szöveg típusú CCK mezőként hozod létre, hanem a Link modult használod.

Vagy:

<a href="<?php print $node->field_weboldal[0]['view']; ?>"><?php  print $node->field_weboldal[0]['view']; ?></a>

(ez utóbbi kevésbé elegáns)
0
0

Fox Mulder