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ó:
Fórum:
Display fields
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?
Fox Mulder
Megnéztem, nincs bepipálva.
Megnéztem, nincs bepipálva. De itt egy kép róla:
http://www.kgp.hu/cck.jpg
Értékelés
Az értékelések megjelennek. Mit értesz "3 beviteli mező" alatt? Illetve, ha nem hidden a label, akkor az (a cimke) nem jelenik meg?
Fox Mulder
3 beviteli mezőt egy kicsit
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.
Melyik cikk...
Melyik cikkben rendelkeznek ezek már értékkel?
Fox Mulder
Próbaként megnéztem a
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.
Megjegyzésben $node
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)?
Fox Mulder
Háát, igazából lövésem sincs.
Háát, igazából lövésem sincs. Jelenleg eltévedtem, úgyhogy most azt sem tudom hol keressem.
CSS fájlban
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?
Fox Mulder
Az oldalt nem én
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.
Hülyeséget beszélek
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
, vagyprint $field_sebesseg
. Ez esetben majd valami ilyesmit kell írnod a node.tpl.php-ba: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):
Fox Mulder
print_r
Én a print helyett ezt javaslom:
www.tundus.hu
DEVEL modul
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.
www.tundus.hu
Én ehhez a megoldáshoz
Én ehhez a megoldáshoz szeretnék folyamodni:
De valami oknál fogva annyit ír ki a portál a megjelenés helyén, hogy Array. Mi lehet a hiba?
mert tömb
Mert a $node->field_jogallas egy tömb, próbáld így:
Ez pedig segíthet a továbbiakban:
Választ szeretnél? - Új kérdés, új téma - Tesztoldal - Trollkezelés - Frissítés
Sajnos még mindig ugyanaz a
Sajnos még mindig ugyanaz a hiba. Ez sem jött össze.
Most így néz ki a kód: <?php
Most így néz ki a kód:
Mutasd meg
Írd a
<?php print $node->field_jogallas[0]; ?>
helyett ezt (most):A
<pre>...</pre>
a könnyebb olvashatóság miatt kell.Megnézzük, mit ír ki.
Fox Mulder
OK :)
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).
Fox Mulder
PHP
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.
Választ szeretnél? - Új kérdés, új téma - Tesztoldal - Trollkezelés - Frissítés
print_r() és print()
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.Fox Mulder
Nos megnéztem. Most ezt írja
Nos megnéztem. Most ezt írja ki:
Array
(
[value] => Freeware
[safe] => Freeware
[view] => Freeware
)
Megoldva. Ezer köszönet
Megoldva. Ezer köszönet mindenkinek aki segített. Ha még lesz kérdésem akkor szólni fogok.
<pre>
Vedd ki a
<pre>...</pre>
elemeket is!Fox Mulder
Pont kérdezni akartam. Ja és
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?
Link modul
Pl. úgy, hogy nem szöveg típusú CCK mezőként hozod létre, hanem a Link modult használod.
Vagy:
(ez utóbbi kevésbé elegáns)
Fox Mulder