Sorszámozás

Antal Adrienn képe

Sziasztok!
Nézelődtem a modulok között, de vagy nincs, vagy nem jól kerestem. Olyan modulra lenne szükségem (ha van ilyen), ami besorszámozza a tartalmakat, konkrétan egy tartalomtípust, a hirdetéseket. Más szóval fogalmazva, mindegyik kapna egy "kódot", számot, növekvő sorrendben. Automatikusan megjelenne mindegyiknél, mint ahogyan a dátum és az időpont.
Ha nincs rá modul, akkor hogyan tudom ezt megoldani?
Előre is köszönöm.

Fórum: 
pp képe

Minden node-nak van egy azonosítója nid az miért nem jó?

pp

0
0
Antal Adrienn képe

Ha ezt írod, akkor bizonyára jó, de hogyan rendelhetem, tehetem hozzá minden egyes hirdetéshez, hogy mindenki számára látható is legyen és hivatkozni is lehessen rá?

0
0

Adrienn

nevergone képe

A kérdésed eléggé "konyhanyelvű", vagyis én pl. nem értem, hogy mit is szeretnél valójában. Tudnál mutatni egy mintát, linket, vagy bármit?
Amúgy szerintem ehhez már modul-programozás kell.

0
0
Antal Adrienn képe

Hirdetési oldalakon vannak ilyen "sorszámozások"-kódok, gondolom ezeket generálja valami.
Lehet, hogy óriási butaságot írok, de én azt gondoltam, hogy ahogyan a regisztrált felhasználókat, vagy a beküldött hirdetések számát meglehet adni és ez olvasható is az oldalon, akkor a feladott hirdetésnek is lehet adni számot ami megjelenik a hirdetéssel együtt.
Konyhanyelv, mert nem vagyok sajnos programozó még mindig...Ha modul-programozással lehet csak megoldani, akkor az nekem még nem fog menni.

0
0

Adrienn

zserno képe

Hirtelen 2 megoldás jut eszembe:

1. hook_nodeapi() használatával néhány sorban megoldható, hogy minden hirdetés típusú tartalom végére odakerüljön, hogy "Hirdetésazonosító: [nid]". (Igen ehhez kell egy saját kis modul, de szívesen segítek...)
2. ha CCK-t használsz a hirdetés tartalomtípusodhoz, akkor pedig egy computed field legenerálhatja a kívánt kódot a háttérben. (A computed field egy külön modul a CCK-hoz).

Valaki tud egyszerűbbet?

0
0
Antal Adrienn képe

Igen, CCK-t használok. Megkeresem ezt a computed field modult...felrakom és ha működik nálam akkor visszajelzek majd.
A segítségre visszatérünk ha szükséges lesz további is. Nagyon rendes vagy. Kösz!

0
0

Adrienn

aboros képe

ha kicsit gondolkodsz rájössz magadtól is szerintem.
a hirdetéseid gondolom külön tartalomtípusok. gondolom külön node-type.tpl.php -val sminkeled is őket, de ha nem akkor most majd fogod. :)
szóval, a tartalomtípus template -jében ki tudod íratni a node id -jét így:

print $node->nid;

hogy ez hogyan nézzen ki az már csak css kérdése.

hivatkozni pedig mindig lehet rá, a node/nid útvonallal ugyebár. ez lényegesen egyszerűbb, mint computed field -et csináltatni, és aztán arra hivatkozni valahogyan..
igaz, így nem lesznek olyan "szép", komolynak tűnő sorszámaid, hogy mondjuk HF0012-35C :) hanem csak ilyen puritán, hogy például 42. de a célnak megfelel és ennél egyszerűbb nincs is.

0
0

-
clear: both;

zserno képe

Valóban ez a legegyszerűbb, csak a szemünket nem bökte ki ;)

0
0
pp képe

és akkor sminkelni se kell.

pp

0
0
Antal Adrienn képe

Feltöltöttem a modult, mert nem tudom hová írjam be a fenti kódot...
A feltöltött modulba is kell egy php kód, de erre ezt írja:

The default value php code returned an incorrect value
Expected format :

array(
0 => array('uid' => value for uid),
// You'll usually want to stop here. Provide more values
// if you want your 'default value' to be multi-valued :
1 => array('uid' => value for uid),
2 => ...
);

Returned value :

Tudom, hogy rossz, csak nem tudom kijavítani...

0
0

Adrienn

zserno képe

"A feltöltött modulba is kell egy php kód"

Melyik az a feltöltött modul? Ha a Content Templates, akkor a következőt kell tenni:
1. Home » Administer » Content management » Content templates menüpontban kattints a create template-re a hirdetés tartalom tipus mellett.
2. Itt válaszd a teaser/body/RSS valamelyikét (értelemszerűen), és kattints az "Affect body output" checkbox-ra. Ezután szerkesztheted a template-et. A meglévő kód aljára (vagy ahová jól esik) illeszd be a kódot. Pl. valami ilyesmit:

<div class="hirdetes-azonosito">
  <h3 class="hirdetes-felirat">Hirdetés azonosító:</h3>
  <div><?php print $node->nid ?></div>
</div>

(A fenti hibaüzenetet valószínűleg azért kaptad, mert egy CCK-s mező default value mezőjébe próbáltad beírni a kódot, annak viszont van egy elvárt formátuma...)

0
0
Antal Adrienn képe

amiről fentebb esett szó : Computed Field 5.x-1.2

Én csináltam egy tartalomtípust, (már jóval korábban) ez a Hirdetések. CCK-val vannak hozzáadva a kép, URL-ek, egyéb mezők is.Az Add field-al adtam hozzá a Computed Field-ot is, de ez így még nem volt elegendő. Ezért írtam be a php kódot, csak nem lett jó...Aztán a Drupalon kerestem node->nid kódot, beírtam és az sem lett jó, mert nyilván rosszat írtam be (köszönhetően a pár szóra hagyatkozó angol tudásomnak). Most megpróbálom ezeket, amiket írtatok..

0
0

Adrienn

Antal Adrienn képe

Megcsináltam és MŰKÖDIK!!!

0
0

Adrienn

Antal Adrienn képe

még nem csináltam sminkelést...nézem, nézegetem...ha jutok valamire, majd leírom..
Egyenlőre nem tudom hová szúrjam be a fenti kódot...
Mert nem egy újabb szám kellene, hanem az, amin szerepel. Pl. a Node/2365-ösnek 2365 kellene, hogy legyen a sorszáma is, csak meg kellene hogy jelenjen. A fenti utasítás szerint ez fog történni? Tulajdonképpen "magamban beszélgetek", hangosan gondolkodva....

0
0

Adrienn

gdavid képe

en csinalnek egy uj node tipust, peldaul hirdetes.
a /themes/garland/ ala betehetsz egy node-hirdetes.tpl.php file-t amit a node.tpl.php atmasolasaval csinalod meg. miutan atmasoltad, megszerkeszted a node-hirdetes.tpl.php -t, hogy megjeleniteskor tegye bele valahova az adott node "nid"-jet.

<?php phptemplate_comment_wrapper(NULL, $node->type); ?>
 
<div id="node-<?php print $node->nid; ?>" class="node<?php if ($sticky) { print ' sticky'; } ?><?php if (!$status) { print ' node-unpublished'; } ?>">
 
<?php print $picture ?>
 
<?php if ($page == 0): ?>
  <h2><a href="<?php print $node_url ?>" title="<?php print $title ?>"><?php print $title ?></a></h2>
<?php endif; ?>
 
  <?php if ($submitted): ?>
    <span class="submitted"><?php print t('!date — !username', array('!username' => theme('username', $node), '!date' => format_date($node->created))); ?></
  <?php endif; ?>
 
  <div class="content">
    <?php print $content ?>
    <?php print t('hiredetes kodja: %kod',array('%kod'=>$node->nid)); ?>
  </div>
 
  <div class="clear-block clear">
    <div class="meta">
    <?php if ($taxonomy): ?>
      <div class="terms"><?php print $terms ?></div>
    <?php endif;?>
    </div>
 
    <?php if ($links): ?>
      <div class="links"><?php print $links; ?></div>
    <?php endif; ?>
  </div>
 
</div>
?>

ezt hiszem igy valahogy, (ez drupal 5 -alatt asszem jo. drupal6 eseten csak merem remelni)

0
0