cck - Display fields - Content templates vs. Css

vikicica22 képe

Sziasztok!

Sminkeléssel és adatok megjelenítésével vannak gondjaim.

Egy tartalom típusba cck modul segítségével hozzá adtam Field type: Text - Text Field-eket. Konkrétan 4 db. –ra volt még szükségem. Ezek után mikor felvittem az adatokat akkor az oldalon egymás alá tette be azokat, amiket felvittem a Field type: Text - Text Field-el.

Az egyik így néz ki:

<div class="field field-type-text field-field-cm">
  <h3 class="field-label">Cím</h3>
  <div class="field-items">
      <div class="field-item"><?php print $node->field_cm[0]['view'] ?></div>
  </div>
</div>

Utána olvastam, itt hogy lehet sminkelni a Content templates, és a gondom úgy látszódott megoldódott, mert egyvonalban kerültek a dolgok.

Közben tovább kísérleteztem a cck modullal és rájöttem hogy a tartamom típusoknál ha az adott tartalom típusnál ahova a Field type: Text - Text Field-et tettem van olyan mezű hogy Display fields ott be lehet állítani ha az adott mező nem tartalmaz adatokat akkor nem jelenik meg a lapon, de mivel használom a Content templates sajnos ott nem működik ez a jelenség. Hiába állítom be hogy ha nincsen adat nem jelenik meg az oldalon de akkor is megjelenik.

Ezek után azt gondlom, hogy a css- segítségével lehet megoldani inkább ezt, hogy az a bizonyos funkciót is tudjam használni, de sajnos nem tudom, hogyan kell css-ben egymás mellé húzni a dolgokat.
Vagy a Content templates–al is meglehet oldani valahogyan csak én nem jöttem rá.

Ebben kérem valaki segítségét.

Üdv.: viki

Fórum: 
black71 képe

ezzel a koddal probald
 print $node->content['field_cm']['#value']

0
0

Drupal 5.x, 7.x

pp képe

a #value-ban bármi lehet még egy vaskos xss támadást rejtő kód is.

pp

0
0
black71 képe

Szerintem a $node->field_cm[0]['view'] valtozo is ugyan ugy tartalmazhatja azt a kodot ha szandekosan teszi ezt az oldal tulajdonosa, de akkor meg tokmind1. Vagy nem jol latom?

0
0

Drupal 5.x, 7.x

Pasqualle képe

van check_plain() fuggveny..

0
0
pp képe

Én belenéznék a kódba, vagy kipróbálnám, de nem találgatnék ;))

Én azt látom a kódban, hogy view-nél a text elemnél van check_plain a load-nál meg nincs.
Kipróbálod?

pp

0
0
black71 képe

nem lehet hogy elkerulte valami a figyelmeteket?
 $node->content['field_cm']['#value']
nem azonos ezzel
 $node->['field_cm'][0]['value']
az elobbi nekem formazott kimenetet ad, az utobbi nem ott javasolt a check_plain().

0
0

Drupal 5.x, 7.x

pp képe

cck felrak, devel felrak, text mező létrehoz, html beleír, devel-lel megkukkant

eredmény

$node->['field_textproba'][0][value] => ez egy próba<strong> alma </strong> <script></script>
$node->['field_textproba'][0][view] => ez egy próba&lt;strong&gt; alma &lt;/strong&gt; &lt;script&gt;&lt;/script&gt;
 
$node->content['field_textproba']['#value'] => <div class="field field-type-text field-field-textproba"><div class="field-label">textproba:&nbsp;</div><div class="field-items"><div class="field-item">ez egy próba&lt;strong&gt; alma &lt;/strong&gt; &lt;script&gt;&lt;/script&gt;</div></div></div>

A probléma az, hogy visszajut ugyanoda, ahonnan elindult, hisz így egymás alá fognak kerülni a tartalmak a div-ek miatt. ;) de, neked volt igazad!

pp

pp

0
0
black71 képe

nem csak az a problemaja hogy egymas alak kerulnek a divek ;)

Display fields ott be lehet állítani ha az adott mező nem tartalmaz adatokat akkor nem jelenik meg a lapon, de mivel használom a Content templates sajnos ott nem működik ez a jelenség. Hiába állítom be hogy ha nincsen adat nem jelenik meg az oldalon de akkor is megjelenik.

de elkerulte valami az en figyelmemet is :)

.field-field_cm .field-item {
	float: left;
}

ezzel egymas melle kerulnek a div -ben szereplo adatok.
igazabol ebben az esetben nem sok ertelmet latom a Content templates hasznalatanak css -vel meglehet oldani.
0
0

Drupal 5.x, 7.x