Illyés Edit képe

Requirements:
1 year development experience with Drupal 6.x

Attól tartok, nem sokan felelnek meg ennek a követelménynek. :D

Drupal 6.0 kiadási dátum: 2008. február 13.

Nagyobb webhelyeket csak mostanában kezdtek el a fejlesztők Drupal 6-ra tenni, mert több kulcsfontosságú kiegészítő modulnak eddig nem volt stabil kiadása.

0
0
Illyés Edit képe

A Views 2 mintha már támogatná a db_rewrite_sql()-t. Nem próbáltam. Views 1-hez ilyen gányolgatós megoldás van, ezt csak akkor érdemes használni, ha nagyon nem éri meg a Views által biztosított körítést (pl. felfedett szűrők) lekódolni.

Egyébként ha leírod – új témában – hogy milyen bonyolult feltételnek kell megfelelnie a jobb oldali panelbe kerülő node-oknak, lehet, hogy kapsz rá tippeket. A szűrőkön kívül még sok okosság van a Views-ban. (Azt is áruld majd el, hogy milyen Drupal és Views verziókat használsz.)

0
0
Illyés Edit képe

A gyári sminkekben azért vannak ilyen általános nevek, mint left meg right, mert előre nem lehet tudni, hogy ezekbe a régiókba később milyen tartalmakat fog helyezni a felhasználó. Természetesen átírhatod őket magad is, ha biztos vagy benne, hogy később nem helyezed át a tartalmaidat, de az elv az lenne, hogy egy template-ben legyen egy tucat régió, amiket soha nem mozgatunk – örülünk, hogy egyszer sikerült úgy összerakni, hogy egyik fontos böngészőben sem esik szét ;) – helyette a tartalmi blokkokat rakosgatjuk kedvünkre egyik vagy másik régióba.

(A tartalmi blokkoknak pedig szemantikus neve van, mert a blokkot előállító modul nevéből hozza létre a smink, a modul neve pedig remélhetőleg utal arra, amit a modul csinál a tartalommal.)

0
0
Illyés Edit képe

Hogyan, milyen módszerrel hoztad létre a kép mezőt? Milyen módszerrel viszed fel a kétféle árat? Hogyan váltasz nyelvet?

0
0
Illyés Edit képe

Akkor beleírsz a view template-be egy egyéni azonosítót. A Theme Wizard kidobja neked a nézet felülírásához a template.php-be való kódot, abban tudsz módosítani. De ha jól emlékszem, alapból átad a views-list-nezetneve.tpl.php sablonnak számláló és csíkozó változót ($count, $stripe), nem is kell vele külön bajlódni.

<div id="azonosito-<?php print $count; ?>">
<?php print $field_mezo_value?>
</div>

Nem tudom, hogy teaser nézetekre ez működik-e, én mindig lista nézeteket használok, egyrészt mert a teaser mezőt kiíratni listában gazdaságosabb, mint teaser nézetet készíteni, másrészt mert listák sminkeléséhez nem sokat kell gondolkozni, ami kell, azt a Theme Wizard elkészíti.

0
0
Illyés Edit képe

Tehát ha biztosra akarsz menni, akkor használd a teaser listát, tegyél fel minél több modult, legyen sok felfedett szűrőd és kapcsold be a no_limit-et. Még egyszer ne feledd: NO LIMIT! Ne fárasszuk már azzal a júzert, hogy lapozgatnia kelljen. ;))

Csak hogy nehogy valaki félreértse: a "teaser lista" alatt a fenti mondatban teaser nézet értendő. És ott a mondat végén a ;)) Magyarán teaserek megjelenítésére használjuk a teaser mezők lista nézetét, ne a "teaser" nézetet.

0
0
Illyés Edit képe

Egyszer már volt erről egy szál itt, hogy 5.x alatt egy módon lehet megcsinálni: access control by beviteli forma.

0
0
Illyés Edit képe

a node-ot megcsinálja szépen, de a node_save() nem csinál semmit...node_load($nid); // és itt már a régi node-ot adja vissza

Mit kellene visszaadnia? Ha megcsinálja a node-ot akkor miből gondolod, hogy a node_save() nem csinál semmit? Nekem nem világos a kérdés, lépésenként írd le, hogy mit csinálsz, milyen eredményt vársz, helyette mi történik.

0
0
Illyés Edit képe

Van egy ilyen okosság a Drupalban, hogy betárazza a node-okat, tehát ha egy oldalon többször hívod be ugyanazt a node-ot, akkor csak először jön az adatbázis node, stb. táblájából, a második és minden további hívás már a gyorstárból keresi elő a lementett értéket. Ezért van az, hogy a második node_load() is az első értéket adja neked vissza. Ki kell lépned a programból a második node_load() előtt ahhoz, hogy friss $node példányt kapj.

0
0
Illyés Edit képe

Ha csak 1 értékre van szükséged, mint itt, akkor használhatod a db_result()-ot.

<?php
$uid = 1;
$name = db_result(db_query("SELECT name FROM {users} WHERE uid = %d", $uid));
print $name;
?>

Ha több értékre (egy sorból több mező, vagy több sorból származó értékek) van szükséged, akkor végig kell lépegetned a visszakapott adatokon, és változókba betenni őket:

<?php
$uid = 1;
$results = db_query("SELECT name, mail FROM {users} WHERE uid = %d", $uid);
while ($row = db_fetch_object($results)) {
  $name = $row->name;
  print $name;
  $mail = $row->mail;
  print $mail;
}
?>
0
0