CCK mező formázása

charlos képe

Sziasztok!

Az alábbi problémával szenvedek már napok óta: Adott egy hangszerboltos oldal, amit Drupal 6-al hajtok. Az oldalon sok-sok termék image+lightbox modulokkal van felvéve, illetve megjelenítve.

Szeretném, ha a termék ára CCK mezővel lenne felvéve, hogy a későbbiek folyamán lehessen árra szűrni.

Ár mezőt létrehoztam, majd beírtam a termék árát, ami itt látható: http://csutorhangszer.hu/termekek/eko-34-cs-5 . Amit viszont szeretnék megoldani, hogy az Ár: 10000 Ft ne a gitár neve alatt legyen, hanem a jellemzők alatt (ami linken jelen esetben csak ennyi: Klaszikus gitár). Továbbá az is jó lenne, ha mindez < h2 > < /h2 > közt lenne...

A CCK mezőnek egyébként field_ar a neve.

Játszadoztam a node.tpl.php fájllal, de úgy tűnik, az egész kép+jellemzők rész egy $content változóba van egybegyúrva...

Előre is megköszönöm a segítséget.

Melyik modulhoz, modulokhoz kapcsolódik a téma?: 
crt képe

Szia.

Viszont a $node objektumban rendelkezésre állnak egyenként is a $content-ben szereplő értékek. Elfelejted a $content használatát és a template fájlban egyenként definiálod a megjelenítendő elemeket.

Üdv: Zoli

0
0
mat323 képe

Szia! Ezt kell beírnod a node.tpl.php fájlba a kívánt helyre:

<?php print $node->field_ar[0]['value'];?>

Használd egészséggel! :)

0
0
Illyés Edit képe

<div>Ár: <?php print check_plain($node->field_ar[0]['value']); ?> Ft</div>

Vagy typecastinggal is lehet, ha tudható, hogy a field_ar mező mindig árat, azaz számot tartalmaz:

(int) $node->field_ar[0]['value'];
0
0
charlos képe

Köszönöm szépen a válaszokat, időközben rájöttem, hogy húzd, és ejtsd módjára tudom szabályozni a sorrendet, ami tök jó is, így nem kell a node.tpl.php fájlt szétcincálni. Viszont a kérdésem még most is adott: hogy teszem az értéket < h2 >-be?

0
0

--

Üdv:
Charlos

aboros képe

a filerendszerben a cck mappájában találsz egy theme/content-field.tpl.php filet. ezt másold át a sminked mappájába. tegyük fel, hogy a meződ neve "ar".. az átmásolt filet nevezd át content-field-field_ar.tpl.php -ra és kedved szerint módosítsd azt.

(több módszer is lehetséges, lásd: cck/theme/readme.txt)

0
0

-
clear: both;

charlos képe

Köszönöm a válaszodat, meg is próbáltam, de hiába írok új div-et, hogy pl. div class="title" (természetesen szintaktikailag helyesen) rá se bagózik... :(

Mit szúrhattam el? Esetleg másik módszer?

0
0

--

Üdv:
Charlos

aboros képe

ki kell törölnöd azt.

1. vagy hívod mondjuk page.tpl.php -ban a drupal_rebuild_theme_registry() -t
2. vagy ellátogatsz az admin/build/themes oldalra és kész...

ezt minden olyan esetben meg kell egyébként tenni, amikor új tpl.php -t akarsz használni, amit eddig még nem tettél vagy amikor új függvényt vezetsz be a template.php -ban.

ez megvolt?
ha igen, akkor kicsit pontosabban írd le légyszi, hogy mit csináltál.

0
0

-
clear: both;

charlos képe

A content-field-field_ar.tpl fájlban van egy ilyen sor, hogy:

<div class="field-item <?php print ($count % 2 ? 'odd' : 'even') ?>"></div>

Ezt módosítottam úgy, hogy a <div class="field-item" elé beírtam egy <div class="title" -t, bementem az admin/build/themes oldalra, ahogy mondtad, de semmi... Már a gyorstárat is ürítettem kínomban a teljesítmény oldalon, de szintén semmi...

Nagyon meghálálnám, ha adnál 1 konkrét megoldást, mert már tényleg mindent megpróbáltam eredménytelenül... :(

0
0

--

Üdv:
Charlos

aboros képe

hm, ez fura, kipróbáltam és csak akkor csinálja a dolgát, ha a sminked mappájában ott van az eredeti content-field.tpl.php másolata is.

tehát:
1. cck/theme -ből átmásolod a content-field.tpl.php -t a sminked mappájába.
2. az átmásoltat átnevezed content-field-[MEZO_NEVE].tpl.php -ra
3. megint átmásolod az eredetit

így a sminked mappájában lesz egy content-filed.tpl.php és egy content-field-field_ar.tpl.php
az eredeti kérdés az volt, hogy ennek a mezőnek a tartalma hogyan kerülhet h2 tegek közé, így most erre mutatom a példát, tehát a content-field-field_ar.tpl.php tartalma:

<?php if (!$field_empty) : ?>
<div class="field field-type-<?php print $field_type_css ?> field-<?php print $field_name_css ?>">
  <?php if ($label_display == 'above') : ?>
    <div class="field-label"><?php print t($label) ?>:&nbsp;</div>
  <?php endif;?>
  <div class="field-items">
    <?php $count = 1;
    foreach ($items as $delta => $item) :
      if (!$item['empty']) : ?>
        <h2> // itt van változás az eredetihez képest, div helyett h2 lett
          <?php if ($label_display == 'inline') { ?>
            <div class="field-label-inline<?php print($delta ? '' : '-first')?>">
              <?php print t($label) ?>:&nbsp;</div>
          <?php } ?>
          <?php print $item['view'] ?>
        </h2> // itt van változás az eredetihez képest, lezárjuk a h2 -t
      <?php $count++;
      endif;
    endforeach;?>
  </div>
</div>
<?php endif; ?>
0
0

-
clear: both;

Pasqualle képe

devel modulban levo theme developer-t kapcsold be az megmondja neked, hogy mi legyen a template (tpl.php) fajl neve..

0
0